当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 用SQL创建数据库

MSSQL
开源MySQL公司停止提供企业版源代码tar包
细化解析:MySQL+Webmin轻松创建数据库
用mysql做站点时怎样记录未知错误的发生
SQL数据库操作类
如何利用SQL Server数据库快照形成报表
SQL Server中应当怎样得到自动编号字段
SQL Server数据库连接中常见的错误分析
详细讲解SQL Server数据库的文件恢复技术
轻松掌握SQL Server数据库的六个实用技巧
SQL Server数据库涉及到的数据仓库概念
深入了解SQL Server 2008 商业智能平台
剖析SQL Server 事务日志的收缩和截断
如何在不同版本的SQL Server中存储数据
怎样缩小SQL Server数据库的日志文件
SQL Server中两种修改对象所有者的方法
轻松掌握SQL Server存储过程的命名标准
怎样从旧版本SQL Server中重新存储数据
快速掌握如何使用SQL Server来过滤数据
教你快速掌握两个SQL Server的维护技巧
有效地使用 SQL事件探查器的提示和技巧

MSSQL 中的 用SQL创建数据库


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 101 ::
收藏到网摘: n/a

首先说说怎么用SQL语句创建数据库,创建数据库的语句有如下几种: 
   1. CREATE TABLE(创建新表) 
   2. CREATE INDEX(增加索引) 
   3. DROP INDEX(删除索引) 
   4. CONSTRAINT(约束语句) 
   5. ALTER TABLE(修改表) 
   6. DROP TABLE(删除表) 

CREATE TABLE语句: 
在数据库中生成新表,表中字段的类型可以为:INTEGER(整型)、LONG(长整型)、 SINGLE(单精度浮点数)、DOUBLE(双精度浮点数)、DATETIME(日期型,也可以写成DATE)、BIT(布尔型)、 TEXT(字符串型,最大255个字节)、MEMO(字符串型,最大可达1.2G字节)、 COUNTER(自动递增长整型,可确定记录的唯一性)、CURRENCY(货币型,精确到小数点左边15位,右边4位)、 BINARY(字节型,最大255个)、LONGBINARY(用于OLE对象)、GUID(全局唯一标识符)。  
生成表NewTable,该表有文本字段Field1和整型字段Field2,表名和字段名可以随便你取,不区分大小写,但是,有些保留字不能用作表名字段名,比如Number  
CREATE TABLE NewTable(Field1 TEXT(30), Field2 INTEGER);  
CREATE INDEX语句: 
INDEX是为了加快查找记录的速度,或者是为了增加字段约束关系而设置的。  
创建索引语句执行前表中可以有记录,但存在的记录必须满足该索引语句的约束关系,否则语句不能执行,另外要注意的是在同一个数据库中(而不仅仅是在同一个表中),索引名不能相同,否则语句也会失败。  
生成字段Field1的索引字段NewIndex,两条语句作用相同 
生成后Field1字段可以有相同的值,可以有空值(NULL)  
CREATE INDEX NewIndex ON NewTable (Field1); 
CREATE INDEX NewIndex ON NewTable (Field1) WITH IGNORE NULL; 

生成字段Field1的索引字段NewIndex,注意,每个表里只能有一个主索引(PRIMARY)。生成后Field1字段不能有相同的值,不能有空值(当然,如果是TEXT类型,可以有一个空串,但是空串不是空值)  
CREATE INDEX NewIndex ON NewTable(Field1) WITH PRIMARY; 

字段Field1不能有相同的值,但可以有空值(两个空值不算相同的值)  
CREATE UNIQUE INDEX NewIndex ON NewTable(Field1); 

字段Field1可以有相同的值,但不能有空值  
CREATE INDEX NewIndex ON NewTable(Field2) WITH DISALLOW NULL 

可以在索引语句中加入ASC(升序)或DESC(降序)来控制记录排列顺序如果不使用顺序字,SQL则默认使用ASC顺序  
CREATE INDEX NewIndex ON NewTable(Field1 ASC, Field2 DESC);  
DROP INDEX语句: 
删除表NewTable中的索引NewIndex,语句执行前索引NewIndex必须存在  
DROP INDEX NewIndex ON NewTable; 

CONSTRAINT语句: 
CONSTRAINT子句用于创建数据库完整性的索引,它和INDEX语句作用一样,有些地方可以互相替代,它可以使用PRIMARY KEY(主关键字),UNIQUE(唯一)和FOREIGN KEY(外部关键字),和INDEX相比不能使用IGNOR NULL和DISALLOW NULL,但多了FOREIGN KEY(这也是它最强大的地方)。另外, CONSTRAINT语句必须和CREATE TABLE或ALTER TABLE语句一起使用。  
生成表NewTable,主关键字段是Field1,主索引是NewPK  
CREATE TABLE NewTable(Field1 LONG CONSTRAINT NewPK PRIMARY KEY, Field2 MEMO, Field3 DATETIME); 


生成索引为NewUK的表NewTable,Field1不能有相同值,可以有空值  
CREATE TABLE NewTable(Field1 INTEGER CONSTRAINT NewUK UNIQUE); 


生成多列的主索引,两条记录的Field1和Field2不能全部相同,也不能为空值  
CREATE TABLE NewTable(Field1 INTEGER, Field2 CURRENCY, CONSTRAINT NewPK PRIMARY KEY(Field1, Field2)); 


生成多列的UNIQUE索引,两条记录的Field1和Field2不能全部相同注意,如果两条记录其中一个字段相同而另一个字段都是空值,那也算两个字段不同 &