数据库——SQL语句(更新操作)

1 创建数据库

CREATE DATABASE <数据库名>
ON
(NAME = <数据库名>_dat,
FILENAME = ‘driver:\ path\ <数据库名>.mdf’
)
LOG ON
(NAME = <数据库名>_log,
FILENAME = ’ driver:\ path \ <数据库名>.ldf’
);

2 创建表

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

2.1 列级完整性约束

唯一:UNIQUE
不为空:NOT NULL
满足条件:CHECK (条件)

2.2 表级完整性约束

定义主码:CONSTRAINT <名字> PRIMARY KEY(列名),
定义外码及参照:FOREIGN KEY(列名)REFERENCES 表名(列名),
满足条件:CHECK (条件)

3 修改表

3.1 修改原有列定义

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

3.2 增加列

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

3.3 增加表级完整性约束

ALTER TABLE <表名>
ADD <表级完整性约束>;

3.4 删除列

ALTER TABLE <表名>
DROP [COLUMN] <列名> [CASCADE级联|RESTRICT非级联];

3.5 删除完整性约束

ALTER TABLE <表名>
DROP CONSTRAINT <完整性约束名> [CASCADE级联|RESTRICT非级联];

3.6 删除表

DROP TABLE <表名> [CASCADE级联|RESTRICT非级联];

3.7 插入数据

INSERT
INTO <表名> [(<属性列1>[,<属性列2 >…)]
VALUES (<常量1> [,<常量2>]);

INSERT
INTO <表名> [(<属性列1>[,<属性列2 >…)]
<子查询>
例:将学生的平均成绩存入A表
INSERT
INTO Sno,A(Grade)
SELECT Sno,AVG(Grade)
FROM SC
GROUP BY Sno;

3.8 修改数据

UPDATE <表名>
SET <列名>=<表达式> [ , <列名>=<表达式>]…
[WHERE <条件>];

UPDATE <表名>
SET <列名>=<表达式> [ , <列名>=<表达式>]…
WHERE <子查询>;
例:将计算机科学系全体学生的成绩置零。
UPDATE SC
SET Grade=0
WHERE Sno IN
(
SELECT Sno
FROM Student
WHERE Sdept=’CS’
);
注:UPDATE后只能跟一个表的名字。

3.9 删除数据

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

DELETE
FROM <表名>
WHERE <子查询>;
例:删除所有学生的选课记录。
DELETE
FROM SC;
例:删除年龄为19的学生记录。
DELETE
FROM Student
WHERE Sno IN
(
SELECT Sno
FROM Student
WHERE Sage=19
);

4 建立索引

CREATE [UNIQUE唯一] [CLUSTERED聚簇|NONCLUSTERED] INDEX <索引名>
ON <表名> (<列名>[<次序>][,<列名>[<次序>] ]…);

4.1 升序

默认或ASC

4.2 降序

DESC

4.3 修改索引(重命名)

ALTER INDEX <旧名> RENAME TO <新名>;

4.4 删除索引

DROP INDEX <表名.索引名>;

5 建立视图

CREATE VIEW <视图名>[(<列名>[,<列名>]…)]
AS <子查询>
[WITH CHECK OPTION]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值