Sql Server 语句总结

定义基本表:


CREATE TABLE  <表名> 
(
  <列名> <数据类型> [列级完整性约束条件] ,
  <列名> <数据类型> [列级完整性约束条件] ,
  ...
  <表级完整性约束条件>
)

如:

CREATE TABLE Book
	(
		id INT PRIMARY KEY,				--主键
		name CHAR(20) NOT NULL UNIQUE,	--非空,唯一
		price FLOAT DEFAULT 10.0,		--默认值
	)

	CREATE TABLE Item
	(
		id INT NOT NULL,
		name CHAR(20) ,
		FOREIGN KEY(name) REFERENCES Book(name),--外键
		PRIMARY KEY(id,name)					--组合主键
	)

修改基本表:

ALTER TABLE <表名>

[ADD [COLUMN] <新列名> <数据类型> [完整性约束] ]

[ADD <表级完整性约束> ]

[DROP [COLUMN] <列名> ]

[DROP CONSTRAINT <完整性约束名> ]

[ALTER COLUMN <列名> <数据类型> ]


CREATE TABLE Temp
(
	id INT NOT NULL
)


ALTER TABLE Temp ADD name CHAR(20)			--添加新列

ALTER TABLE Temp ADD num INT NOT NULL		--添加新列

ALTER TABLE Temp ADD PRIMARY KEY (num)		--添加表级约束

ALTER TABLE Temp ALTER COLUMN id CHAR(20)	--修改列类型

添加约束


--添加主键约束

ALTER TABLE 表名

ADD CONSTRAINT 约束名 PRIMARY KEY(列名)


--添加唯一约束

ALTER TABLE 表名

ADD CONSTRAINT 约束名 UNIQUE(列名)


--添加默认约束

ALTER TABLE 表名

ADD CONSTRAINT 约束名 DEFAULT(默认值) FOR 列名


--添加外键约束

ALTER TABLE 表名

ADD CONSTRAINT 约束名 FOREIGN KEY (列名) REFERENCES 参照表名(参照列名)


--删除约束

ALTER TABLE

DROP CONSTRAINT 约束名

--添加主键约束
	ALTER TABLE Temp
	ADD CONSTRAINT PK_id PRIMARY KEY (id)

	--添加唯一约束
	ALTER TABLE Temp
	ADD CONSTRAINT UK_id UNIQUE(id)

	--添加默认约束
	ALTER TABLE Temp
	ADD CONSTRAINT DF_id DEFAULT(1) FOR id

	--添加检查约束
	ALTER TABLE Temp
	ADD CONSTRAINT CK_id CHECK (id BETWEEN 1 AND 10)

	--添加外键约束
	ALTER TABLE Temp
	ADD CONSTRAINT FK_id FOREIGN KEY(id) REFERENCES Book(id)

	--删除约束
	ALTER TABLE Temp
	DROP CONSTRAINT FK_id

删除基本表:


DROP TABLE 表名



SELECT 语句:


SELECT [ALL|DISTRINCT] <目标列表达式> <目标列别名> ,<目标列表达式>

FROM <表名或视图名> <表别名>,(< SELECT 语句> [AS] <别名> )

[WHERE <条件表达式>]

[GROUP BY <列名1> [HAVING <条件表达式>] ]

[ORDER BY <列名2> [ASC|DESC]]


查询条件 谓词
比较 =,<,>,>=,<=,!=,<>,!>,!<; NOT+上诉符号
确定范围 BETWEEN AND, NOT BETWEEN AND
确定集合 IN,NOT IN
字符匹配 LIKE , NOT LIKE
空值 IS NULL , IS NOT NULL
多重条件 AND , OR , NOT

<span style="white-space:pre">	</span>SELECT id FROM Book WHERE id BETWEEN 10 AND 20
	SELECT name FROM Book WHERE name IN ('DB','C')
	SELECT id FROM Book WHERE id IS NOT NULL
	SELECT name FROM Book WHERE name LIKE '%语言'
	SELECT name FROM Book WHERE name LIKE '_语言'<span style="color:#ff0000;">
</span>

字符匹配:

[NOT] LIKE '<匹配字符串>' [ ESCAPE '<转码字符>' ]


通配符:


% 任意长度(>=0)字符串

_ 任意单个字符


SELECT name FROM Book WHERE name LIKE 'DB\_DESIGN' ESCAPE'\' '


聚集函数:


COUNT(*)统计元组个数

COUNT([DISTRINCT|ALL]<列名>)统计一列中值的个数

SUM([DISTRINCT|ALL]<列名>)计算一列值的总和

AVG([DISTRINCT|ALL]<列名>)计算一列值的平均值

MAX([DISTRINCT|ALL]<列名>) 计算一列值得最大值

MIN([DISTRINCT|ALL]<列名>)计算一列值得最小值



如果指定 DISTRINCT 将在计算时取消列中重复值,当遇到空值时,除 COUNT(*)外
都跳过空值不处理,聚集函数只能用在 SELECT 和 GROUP BY 中的 HAVING 语句

连接:

..

嵌套查询:

.

集合查询:

..


插入数据


1.插入元组


INSERT INTO <表名> [<属性列>,<属性列>...] VALUES('常量',常量)



如:

<span style="white-space:pre">	</span>INSERT INTO Book(id,name,price) VALUES(1,'数据库',25.0)
	INSERT INTO Book VALUES (2,'C语言',15)--不给出列名应当严格按照建表时列顺序给出相应值

2.插入子查询结果

INSERT INTO <表名> [(<属性列>,<属性列>...)] 子查询


修改数据


UPDATE <表名>

SET <列名>=<表达式> [,<列名>=<表达式>]...

[WHERE <条件>]


删除数据

DELETE FROM <表名>
[WHERE <条件> ]


建立视图



CREATE VIEW <视图名> [<列名>,<列名>...]

AS <子查询>

[WITH CHECK OPTION ]


    WITH CHECK OPTION 表示进行 UPDATE , INSERT ,DELETE 操作时要所有的行满足

视图定义中的谓词条件。


    只是把视图中的定义存入数据字典,并不执行其中的 SELECT 语句 ,在对视图查询时

从基本表中将数据查出。


删除视图

DROP VIEW <视图名>


更新视图


视图是不保存数据的,对视图的更新,最后还是对基本表的更新。

ALTER VIEW <视图名>
AS <子查询>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值