SQL数据库语句总结

上传人:s9****2 文档编号:478640672 上传时间:2023-05-03 格式:DOCX 页数:14 大小:58.26KB
返回 下载 相关 举报
SQL数据库语句总结_第1页
第1页 / 共14页
SQL数据库语句总结_第2页
第2页 / 共14页
SQL数据库语句总结_第3页
第3页 / 共14页
SQL数据库语句总结_第4页
第4页 / 共14页
SQL数据库语句总结_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《SQL数据库语句总结》由会员分享,可在线阅读,更多相关《SQL数据库语句总结(14页珍藏版)》请在金锄头文库上搜索。

1、数据库T-SQL语句create database 数据库名use数据库名drop database数据库名1、创建数据库2、选择数据库3、删除数据库用 SSMS1、创建数据库2、查看可修改数据库参数3、删除数据库基本表(仅仅是对表结构(属性和约束)的操作,而非表中数据)T-SQL语句1、创建基本表 重在约束2、修改基本表(约束或属性)3、删除基本表4、基本表的索引用 SSMS1、创建基本表(课本137)2、建立表的约束条件和索引(课本138)3、修改表结构(课本141)1、创建基本表重在约束数据(是对表中数据(属性和约束)的操作(增删改查),而非表结构)T-SQL语句1、数据插入2、数据修改

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

3、 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 (约束条件表达式)单一属性设限CON

4、STRAINT 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参照表(对应字段):定义该字段为外码,并指出被参照表及对应字段涉及到关系中一个或多个列或表间的限制条件记录/字段

5、表级格式:CONTRAINT约束名约束式Sname CHAR(20) CONSTRAINT C2 NOT NULL1)UNIQUE约束。惟一性约束。2)PRIMARY KEYCLUSTERED|NON CLUSTERED定义主码,保证惟一性和非空性。建立聚集(非)索引。CONTRAINT约束名PRIMARY KEY CLUSTERED(列组)3)check(条件表达式):定义记录应满足的条件4)FOREIGN KEY约束。用于定义参照完整性。CONTRAINT约束名FOREIGN KEY(外码)REFERENCES被参照表名(与外码 对应的主码名) 2、修改基本表(约束或属性)ALTER TA

6、BLE表名alter column(列名新类型完整性约束,n)修改字段定义或约束条件 ADD(新列名数据类型完整性约束,n)增加字段或者字段和表的约束 DROP完整性约束名删除字段或约束check|nocheckconstraintall|约束名组使约束有效或无效(check使之有效,nocheck使 之无效,all指全部约束)MODIFY(列名数据类型,n)增加约束ALTER TABLE Student ADD CONSTRAINT C3 CHECK (Sage 40)增加属性ALTER TABLE Student ADD S_entrance DATE3、 删除基本表drop table表

7、名4、基本表的索引1)创建索引 CREATE UNIQUE CLUSTERED|NONCLUSTEREDINDEX索引名ON表名(列名次序,列名次序); UNIQUE:建立唯一索引,不允许有两行具有相同索引值CLUSTERED|NONCLUSTERED :建立聚集或者非聚集索引,每张表只能有一个聚集索引,默认值为非聚集索引2)删除索引DROP INDEX 索引名1. 索引的作用1)使用索引可以明显地加快数据查询的速度。2)使用索引可保证数据的惟一性。3)使用索引可以加快连接速度。2. 建立索引的原则1)索引的建立和维护由DBA和DBMS完成。2)大表应当建索引,小表则不必建索引。3)对于一个基

8、本表,不要建立过多的索引。4)根据查询要求建索引。3. 例子学生表按学号升序建立索引;CREATE UNIQUE INDEX stusno ON 学生(学号);课程表按课程号升序建惟一索引;CREATE UNIQUE INDEX coursno ON 课程(课程号);选课表按学号升序和课程号降序建惟一索引。CREATE UNIQUE INDEX scno ON 选课(学号 ASC,课程号 DESC);用 SSMS1、创建基本表(课本137)2、建立表的约束条件和索引(课本138)3、修改表结构(课本141)数据(是对表中数据(属性和约束)的操作(增删改查),而非表结构)T-SQL语句1、数据插

9、入1)使用常量插入单个元组INSERT INTO表名(属性列 1,属性列 2)VALUES (常量 1,常量 2)如果没有列出任何列名,则必须将所有列名对应的值,包括空值“”,也要列出来; 如果列出了列名,则值要与列名出现的先后顺序对应,没有列出的属性会设为空, 此时要注意该属性能否为空。2)在表中插入子查询的结果集(一次插入多个元祖)INSERTINTO表名(属性列1,属性列2)子查询子查询常常为select语句2、数据修改UPDATE表名SET列名=表达式,列名=表达式,nWHERE条件5、数据删除DELETE FROM表名WHERE条件;6、数据查找SELECT查询列组Into新表名FR

10、OM数据源WHERE元组选择条件GROUP BY分列组HAVING 组选择条件ORDER BY排序列1排序要求1,ncompute统计列组by表达式Select和from为必选子句!1)SELECT子句:指明需查找目标列(字段、表达式、函数表达式、常量)。SELECTall|distincttop 数值percent查询列组All:返回所有结果(默认)Distinct:查找后去重再返回top数值:返回结果中的前数值行,如果有percent 则返回结果中的百分之数值行记录查询列组可具体表示为:查询列组:=*|表或视图.*|列名或表达式AS列别名|列别名=表达式*:指明返回在from子句中包括的表

11、和视图的全部列表或视图.*:指明返回指定表和视图的全部列列别名:用来代替出现在结果集中的列名或表达式,其可在ORDER BY中出现,不能在where,group by,having中出现基本表中相同的列名表示为:表名.列名2)into子句:创建一个表,并将查询结果添加到该表中。若创建的是临时表,需在表明前加#; into不能喝compute子句同时使用。3)FROM子句:指明数据源。表名间用“,”分割。数据源不在当前数据库中,使用“数据库名.表名”表示。如果需要一表多用,需增设别名标识,在各自使用中用不同的表别名表示。定义表别名:表名别名From学生a b-将学生表重命名(另起别名为a和b)4

12、)WHERE子句:元组选择条件。5)GROUP BY子句:结果集分组。Group by all分组表达式当目标列中有统计函数,则统计为分组统计,否则为对整个结果集统计。子句后带上HAVING子句表达组选择条件(带函数的表达式)。6)having:位于group by之后,用于指定组或汇总筛选条件。一般为函数的条件表达式。7)ORDER BY子句:指明排序项和排序要求。Order by 排序项 ASC|DESC,n当排序要求为ASC时升序排序(默认);排序要求为DESC时降序排列。查询结果集可以按多个排序列进行排序,每个排序列后都可以跟一个排序要求。Order by 类别 ASC8)compur

13、e子句:产生汇总至,并在结果集中后将汇总值放入摘要列。Compute统计函数组by分组项Compute和by配合,可起到换行和分段小计的作用。Compute by必须和order by配合使用,分组项应完全等于排序项。查询语句中使用的运算符号,特殊操作符,统计函数见课本148查询分类简单查询链接查询嵌套杳询组合杳询使用GROUP BY分组和SQL函数杳询使用 compute 和 compute by 查询In和exist的区别1、简单查询:查询过程中只涉及到一个表的查询语句。2、链接查询:连接查询中的连接条件通过WHERE子句表达,连接条件和元组选择条 件之间用AND (与)操作符衔接。1)内连接:结果中只保留符合条件的元组,排除了两表中没有匹配的元组。(1)等值连接和非等值连接表名1.列名1比较运算符表名2.列名2(2)自身连接例如,课程表中的先行课是在上学期应开设的,先行课的先行课,即间接先 行课应提前一学年开设。如果求查询某门课的间接先行课或全部课程的间接 先行课,就需要对课程表进行自身连接。需用到为表重命名,再进行查询Eg.查询每一门课的间接先行课Select a.课程号,a.课程名,b.先行课(将a表看成课程表,b表看成先行课表)From 先行课a bWhere a.先行课=b.课程号课程号墀程玄疳mCI计JT机引电C1PA引言ClC3ClC4

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 机械/制造/汽车 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号