SQL数据库语句总结

  • 格式:docx
  • 大小:126.51 KB
  • 文档页数:13

下载文档原格式

  / 13
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库

T-SQL语句

1、创建数据库create database 数据库名

2、选择数据库use 数据库名

3、删除数据库drop database 数据库名

用SSMS

1、创建数据库

2、查看可修改数据库参数

3、删除数据库

基本表(仅仅是对表结构(属性和约束)的操作,而非表中数据)

T-SQL语句

1、创建基本表<重在约束>

2、修改基本表(约束或属性)

3、删除基本表

4、基本表的索引

用SSMS

1、创建基本表(课本137)

2、建立表的约束条件和索引(课本138)

3、修改表结构(课本141)

1、创建基本表<重在约束>

数据(是对表中数据(属性和约束)的操作(增删改查),而非表结构)

T-SQL语句

1、数据插入

2、数据修改

3、数据删除

4、数据查找

视图

T-SQL语句

1、建立视图

2、删除视图

3、查询视图

4、更新视图

用SSMS(课本167)

1、建立视图

2、删除视图

3、查询视图

4、更新视图

别名

可能破坏参照完整性的情况及违约处理

In和exist的区别

1、创建基本表<重在约束>

CREATE TABLE [〈库名〉]〈表名〉(

〈列名〉〈数据类型〉[〈列级完整性约束条件〉] ,

〈列名〉〈数据类型〉[〈列级完整性约束条件〉]]

[,…n]

[,〈表级完整性约束条件〉]

[,…n] )

针对属性值设置的限制条件《列级》

1) NOT NULL或NULL约束。NOT NULL约束不允许字段值为空,而NULL约束允许字段值为空。

2) UNIQUE约束。惟一性约束,即不允许列中出现重复的属性值。

3)PRIMARAY KEY [CLUSTERED|NON CLUSTERED]:定义该字段为主码并建立聚集(非)索引

Not null unique和primary key的区别:DBMS会给primary key建立索引

多个属性构成的主码只能通过表级约束条件定义PRIMARY KEY (Sno,Cno)

单个属性构成的主码可通过列级或表级约束条件定义Sno CHAR(9) PRIMARY KEY

或PRIMARY KEY (Sno)

4) DEFAULT约束。默认值约束。DEFAULT〈约束名〉〈默认值〉FOR〈列名〉

5) CHECK约束。检查约束。CONSTRAINT〈约束名〉CHECK (〈约束条件表达式〉)

单一属性设限

CONSTRAINT C2 CHECK(性别IN (‘男’,‘女’))

CONSTRAINT C3 CHECK(成绩BETWEEN 0 AND 100)

CHECK (Sage < 30)

多属性之间设限

CHECK (Ssex='女' OR Sname NOT LIKE 'Ms.%')

✓性别是女性的元组都能通过该项检查,因为Ssex=‘女’成立;

✓当性别是男性时,要通过检查则名字一定不能以Ms.打头

6)identity(初值,步长):定义字段为数值型数据,并指出它的初始值和逐步增加的步长值

7)reference 参照表(对应字段):定义该字段为外码,并指出被参照表及对应字段

涉及到关系中一个或多个列或表间的限制条件《记录/字段》《表级》

格式:CONTRAINT〈约束名〉<约束式>

Sname CHAR(20) CONSTRAINT C2 NOT NULL

1) UNIQUE约束。惟一性约束。

2) PRIMARY KEY[CLUSTERED|NON CLUSTERED]定义主码,保证惟一性和非空性。建立聚集(非)索引。

CONTRAINT〈约束名〉PRIMARY KEY [CLUSTERED] (〈列组〉)

3)check(条件表达式):定义记录应满足的条件

4) FOREIGN KEY约束。用于定义参照完整性。

CONTRAINT〈约束名〉FOREIGN KEY(〈外码〉) REFERENCES〈被参照表名〉(〈与外码

对应的主码名〉) 2、修改基本表(约束或属性)

ALTER TABLE〈表名〉

[alter column(〈列名〉〈新类型〉[完整性约束] [,…n])]修改字段定义或约束条件

[ADD(〈新列名〉〈数据类型〉[完整性约束] [,…n])]增加字段或者字段和表的约束

[DROP〈完整性约束名〉]删除字段或约束

{check|nocheck}constraint{all|约束名组}使约束有效或无效(check使之有效,nocheck使

之无效,all指全部约束)

[MODIFY(〈列名〉〈数据类型〉[,…n])]

增加约束

ALTER TABLE Student ADD CONSTRAINT C3 CHECK (Sage < 40)

增加属性

ALTER TABLE Student ADD S_entrance DATE

3、删除基本表drop table 表名

4、基本表的索引

1)创建索引CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED]

INDEX〈索引名〉ON〈表名〉(〈列名〉[〈次序〉][,〈列名〉[〈次序〉]]…);

UNIQUE:建立唯一索引,不允许有两行具有相同索引值

CLUSTERED|NONCLUSTERED:建立聚集或者非聚集索引,每张表只能有一个

聚集索引,默认值为非聚集索引

2) 删除索引DROP INDEX 〈索引名〉

1.索引的作用

1) 使用索引可以明显地加快数据查询的速度。

2) 使用索引可保证数据的惟一性。

3) 使用索引可以加快连接速度。

2. 建立索引的原则

1) 索引的建立和维护由DBA和DBMS完成。

2) 大表应当建索引,小表则不必建索引。

3) 对于一个基本表,不要建立过多的索引。

4) 根据查询要求建索引。

3.例子

学生表按学号升序建立索引;

CREATE UNIQUE INDEX stusno ON 学生(学号);

课程表按课程号升序建惟一索引;

CREATE UNIQUE INDEX coursno ON 课程(课程号);

选课表按学号升序和课程号降序建惟一索引。

CREATE UNIQUE INDEX scno ON 选课(学号ASC,课程号DESC);

用SSMS

1、创建基本表(课本137)

2、建立表的约束条件和索引(课本138)

3、修改表结构(课本141)

数据(是对表中数据(属性和约束)的操作(增删改查),而非表结构)

T-SQL语句

1、数据插入

1)使用常量插入单个元组

INSERT INTO〈表名〉[(〈属性列1〉[,〈属性列2〉…)]

VALUES (〈常量1〉[,〈常量2〉]…)

如果没有列出任何列名,则必须将所有列名对应的值,包括空值“”,也要列出来;

如果列出了列名,则值要与列名出现的先后顺序对应,没有列出的属性会设为空,此时要注意该属性能否为空。

2)在表中插入子查询的结果集(一次插入多个元祖)