Transact-SQL语句之“创建”:
1.创建数据库
create database 数据库名
[on primary
(name=…,filename=…,size=…,maxsize=…,filegrowth=…)
…
Logon
(name=…,filename=…,size=…,maxsize=…,filegrowth=…)
…
filegroup 文件组名]
说明:
(1)size、maxsize、filegrouwth 参数中不要使用小数,对于非整数兆字节的文件,应将其大小乘以1024转换为千字节
2.创建表
create table 表名
(列名1 数据类型 {identify|not null|null},
列名2 数据类型 {identify|not null|null},
…)
说明:
(1) null表示该列的值可以为空值。不要把空值理解为该列的值是0或者空字符串等值
(2) identify是计数器,表示该列的值是一组递增的整数数据,初识默认值为1,增长步长默认为1
3.创建约束
create table 表名
(列名1 数据类型 {identify|notnull|null} [constraint 约束名] 约束定义,
列名2 数据类型 {identify|not null|null} [constraint 约束名] 约束定义,
…
[constraint 约束名]约束定义)
名称 |
作用 |
实施的完整性 |
primary key |
定义主键,保证主键列不重复出现 |
实体完整性 |
unique |
保证该列不出现重复值 |
实体完整性 |
foreign key |
定义外键,保证数据表间数据的一致性 |
参照完整性 |
check |
定义表中某些列的数据范围 |
自定义完整性 |
default |
为列的数据提供默认值 |
自定义完整性 |
4.创建索引
Create [unique] [clustered|nonclustered]Index 索引名 on 表名(列名1,列名2,…)
说明:
(1) 默认情况下,创建的索引是唯一的非聚集索引
(2) 建立索引时,必须先建立聚集索引,后建立非聚集索引。(非聚集索引中指针所指的数据位置是由聚集索引建立后确定的)
5.创建视图
Create view <视图名> [(列名组)]
<withencryption>
As <子查询>
<withcheck option>
说明:
(1) 只能在当前数据库中创建视图
(2) 如果视图引用的基表或者视图被删除,则该视图不能再被使用,直到创建新的基表或视图
(3) 不能在视图上创建索引,不能在规则、默认、触发器的定义中引用视图
6.创建规则
Create rule 规则名
as 规则表达式
说明:
(1) 规则表达式中可以包含比较符和算数运算符,但不能包括数据库对象名或表的列名
(2) 被绑定的列在规则表达式中被使用形式参数表示,参数前加上@符号
7.创建默认
createdefault 默认名
as 表达式
说明:
(1) 每一个列上只能定义一个默认约束
(2) 默认约束只在使用Insert语句时验证列的值
(3) 默认不能用于具有identify属性的列
8.创建存储过程
Create Procedure 过程名 [;版本号]
[@参数名 参数类型 [=默认值] [output]…]
[with recompile|encryption|recompile,encryption]
[for replication]
As sql语句组
说明:
(1)put表名参数是一个返回参数
(2)recompile为重编译选项,表名SQLServer不会保存该存储过程的执行计划
(3)replication用于指定不能在订阅服务器上执行为复制创建的存储过程
9.创建触发器
Create trigger 触发器名
on 表名
With encryption
for delete,Insert,update
withappend
not forreplication
as SQL语句组 触发器名
说明:
(1)with append 指定应该添加现有类型的其他触发器
(2)Not for replication 说明当一个复制过程在修改一个触发器表时,与该表相关联的触发器不能被执行
以上语句是T-sql语句常用的九大创建语句,是知网,也是积累。