常用 SQL 语句

复制代码
 1 --SQL 语句为表添加字段并设置默认值
 2 alter table Student        --表名
 3 add fee        --添加的字段名
 4 int        --字段类型
 5 not null    --是否为空
 6 default 15        --默认值
 7 
 8 
 9 --修改字段的数据类型和是否为空
10 alter table Student        
11 alter column S_Sex
12 varchar(10) null 
13 
14 
15 -- with 把查询出来的表当做源表,但是必须把数据库的兼容性设置为:90+
16 with t as (select * from Student)
17 
18 select * from t
19 
20 
21 -- 为表Student添加一个列
22 alter table Student
23 add C_S_Id int null
24 
25 -- 为表Student新增列添加外键约束
26 alter table Student        -- 需要建立外键的表名
27 add constraint C_S_Id        -- 外键约束名
28 foreign key (C_S_Id)        -- 指定外键表的外键列的列名
29 references Course(C_Id)    -- 关联表的关联列的列名
30 go
31 
32 
33 -- 查询出指定表的外键约束名
34 select name  
35 from  sys.foreign_key_columns f 
36 inner join sys.objects o on f.constraint_object_id=o.object_id 
37 where f.parent_object_id=object_id('Student')    -- Student 表名
38 
39 
40 -- 删除指定外键约束名的外键约束
41 alter table Course drop constraint FK__Course__Stu_Id__15502E78        --FK__Course__Stu_Id__15502E78 外键约束名
42 
43 
44 --返回一个指定数据库的信息
45 sp_helpdb Test
46 
47 --返回所有数据库的信息
48 sp_helpdb
49 
50 --返回一个指定数据库对象(即表、视图等)的信息
51 sp_help Course
52 
53 --返回所有数据库表对象(即表、视图等)的信息
54 sp_help
55 
56 
57 --设置数据库兼容性
58 ALTER DATABASE Test        --数据库名
59 SET COMPATIBILITY_LEVEL = 80||90||100    --可以设置为80、90或100
60 GO
61 
62 
63  -- 设置允许将显式值插入表的标识列中
64  SET IDENTITY_INSERT Student on
65  go
66  -- 设置不允许将显式值插入表的标识列中
67  SET IDENTITY_INSERT Student off
68  go
69 
70 --on:表示设置为可以手动输入标识列的值
71 --off:表示设置为不可以手动输入标识列的值
72 
73 
74 SET NOCOUNT ON
75 --当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。
76 --当 SET NOCOUNT 为 OFF 时,返回计数。
77 
78 SET QUOTED_IDENTIFIER ON
79 --当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔。
80 --当 SET QUOTED_IDENTIFIER 为 OFF 时,标识符不可加引号,且必须遵守所有 Transact-SQL 标识符规则。
81 
82 SET ANSI_NULLS ON
83 --当SET ANSI_NULLS为ON时,那么SQL语句中,判断为空的写法就要修改为WHERE 字段 IS NULL。
84 --当SET ANSI_NULLS为OFF时,判断为空的写法就要修改为WHERE 字段=NULL。
复制代码

 补充一个添加和删除主键约束和查询指定表的主外键约束名的 sql 语句:

复制代码
 1 --为已存在的表添加主键
 2 alter table Student        --表名
 3 add constraint S_C_Id    --主键约束名
 4 primary key (S_Id)    --指定要添加主键的列
 5 
 6 
 7 --根据表名查询表的主外键名
 8 select a.Name as 表名,b.Xtype as 键类型,b.Name as 键名
 9 from sysobjects a,sysobjects b
10 where a.ID=b.parent_obj and a.name='Student'
11 and b.Xtype in('F','PK')
12 
13 
14 --删除指定表的主键约束
15 alter table Student        --表名
16 drop constraint PK__Student__A3DFF08D170CE4CD  -- PK__Student__A3DFF08D170CE4CD 主键约束名
复制代码

 原文:http://www.cnblogs.com/Brambling/archive/2017/04/09/6687068.html

原文地址:https://www.cnblogs.com/yanglang/p/6689319.html