码迷,mamicode.com
首页 > 数据库 > 详细

SqlCollections - 数据表管理

时间:2014-10-23 14:02:56      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   ar   for   sp   数据   div   

 1 --==============================数据表管理===============================
 2 --特殊字符的输入
 3 --Tab: char(9)
 4 --换行: char(10)
 5 --回车: char(13)
 6 
 7 --varchar(n):1个字符占1个字节;nvarchar(n):1个字符占2个字节
 8 --‘我是Sky‘存在varchar字段中,占7个字节;存在nvarchar中,占10个字节
 9 
10 --创建新表,并指定主键、自增长、非空、Unique约束、排序类型、默认值、CHECK字段约束、CHECK数据表约束
11 --约束的格式:CONSTRAINT 自定义的约束名 约束类型 其它参数
12 CREATE TABLE TEST1
13 (
14     编号 int IDENTITY(1,1) PRIMARY KEY,    --自增长、主键约束
15     姓名 nvarchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL,    --排序、非空
16     别名 nvarchar(50) UNIQUE,    --唯一键约束
17     性别 bit DEFAULT 1,    --默认值
18     年龄 tinyint CONSTRAINT CK_TEST1_年龄 CHECK (年龄 > 0 AND 年龄 < 101),    --CHECK字段约束
19     部门编号 int CONSTRAINT FK_TEST1_部门编号 
20         FOREIGN KEY 
21         REFERENCES 部门表(部门编号),    --外键约束
22     地址 nvarchar(200),
23     电话 varchar(50),
24     CHECK (电话 is not null or 地址 is not null)    --CHECK数据表约束
25 )
26 
27 
28 --创建计算列
29 CREATE TABLE TEST2
30 (
31     编号 int,
32     编号2 int,
33     单价 money NOT NULL,
34     数量 int NOT NULL
35         CONSTRAINT CK_TEST2_数量 CHECK (数量 > 0),
36     合计 AS 单价*数量    --计算列是只读的
37 )
38 
39 --添加字段
40 ALTER TABLE TEST1
41 ADD 备注 nvarchar(500)
42 
43 --删除字段
44 ALTER TABLE TEST1
45 DROP COLUMN 备注
46 
47 --修改字段
48 ALTER TABLE TEST2
49 ALTER COLUMN 编号 int NOT NULL
50 
51 --重命名表名和字段名
52 EXEC sp_rename TEST1,测试1    --修改表名
53 EXEC sp_rename TEST1.别名,Alias,COLUMN    --修改列名
54 
55 --添加主键
56 ALTER TABLE TEST2
57 ADD CONSTRAINT PK_TEST2 PRIMARY KEY (编号)
58 
59 --添加外键
60 ALTER TABLE TEST2
61 ADD CONSTRAINT FK_TEST2_TEST1 FOREIGN KEY (编号2) REFERENCES 测试1(编号)
62 
63 --添加CHECK约束
64 ALTER TABLE TEST2
65 WITH NOCHECK    --可选:添加约束时不检查现有数据
66 ADD CONSTRAINT CK_TEST2_单价 CHECK (单价 > 0)
67 
68 --添加默认值约束
69 ALTER TABLE TEST2
70 ADD DEFAULT (1) FOR 数量
71 
72 --删除约束
73 ALTER TABLE TEST2
74 DROP CONSTRAINT CK_TEST2_单价
75 
76 --禁用约束
77 ALTER TABLE TEST2
78 NOCHECK CONSTRAINT CK_TEST2_单价
79 --禁用所有约束
80 ALTER TABLE TEST2
81 NOCHECK CONSTRAINT ALL
82 
83 --启用约束
84 ALTER TABLE TEST2
85 CHECK CONSTRAINT CK_TEST2_单价
86 --启用所有约束
87 ALTER TABLE TEST2
88 CHECK CONSTRAINT ALL
89 
90 --删除表
91 --必须先删除表与表间的关联才能删除表
92 DROP TABLE TEST2
93 
94 --判断表是否存在
95 IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N[dbo].[TEST2]) AND type in (NU))
96 BEGIN
97     PRINT 可以创建该表
98 END

 

SqlCollections - 数据表管理

标签:style   blog   color   io   ar   for   sp   数据   div   

原文地址:http://www.cnblogs.com/sky-sun/p/4045454.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!