灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3137回复:0

[SQL Server]SQL Server Transact-SQL语句之“创建”

楼主#
更多 发布于:2012-09-04 18:08


SQL Server Transact-SQL语句之“创建”

Transact-SQL语句之“创建”:

1.      创建数据库
create database 数据库
[on primary
(name=…,filename=…,size=…,maxsize=…,filegrowth=…)
…  www.atcpu.com  
Log on
(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
保证该列不出现重复值
实体完整性  www.atcpu.com  
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 规则表达式
   www.atcpu.com  
说明:
(1)      规则表达式中可以包含比较符和算数运算符,但不能包括数据库对象名或表的列名
(2)      被绑定的列在规则表达式中被使用形式参数表示,参数前加上@符号

7.      创建默认
create default 默认名
  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用于指定不能在订阅服务器上执行为复制创建的存储过程
   www.atcpu.com  
9.      创建触发器
Create trigger 触发器名
on 表名
With encryption
for delete,Insert,update
  withappend
  not forreplication
as SQL语句组 触发器名
说明:
(1)with append 指定应该添加现有类型的其他触发器
(2)Not for replication 说明当一个复制过程在修改一个触发器表时,与该表相关联的触发器不能被执行


喜欢0 评分0
游客

返回顶部