




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2:17vSQL的主要功能DDLDDL(Data Definition LanguageData Definition Language) 数据定义语言数据定义语言用于定义关系数据库的模式、外模式和内模式,以实现用于定义关系数据库的模式、外模式和内模式,以实现对数据库基本表、视图及索引文件的定义、修改和删除对数据库基本表、视图及索引文件的定义、修改和删除等操作。最常用的等操作。最常用的DDLDDL语句是语句是CREATECREATE、DROPDROP和和ALTERALTER命命令。令。用于完成数据查询和数据更新操作。其中数据更新指对用于完成数据查询和数据更新操作。其中数据更新指对数据进行插入、
2、删除和修改操作。最常使用的数据进行插入、删除和修改操作。最常使用的DMLDML语句语句是是SELECTSELECT、INSERTINSERT、UPDATEUPDATE和和DELETEDELETE命令。命令。DCLDCL(Data Control LanguageData Control Language)数据控制语言)数据控制语言用于控制对数据库的访问,服务器的关闭、启动等操作。用于控制对数据库的访问,服务器的关闭、启动等操作。常使用的常使用的DCLDCL命令有:命令有:GRANTGRANT、REVOKEREVOKE等。等。SQL-概述2:17SQL-概述vSQL的特点语言简洁,风格统一,易学
3、易懂语言简洁,风格统一,易学易懂高度非过程化高度非过程化2:17vSQL对象命名约定 SQLSQL对象包括数据库、表、视图、属性名等。这些对象名必须符合一定规则对象包括数据库、表、视图、属性名等。这些对象名必须符合一定规则或约定,一般应遵守下列规则。或约定,一般应遵守下列规则。数据对象名可以为数据对象名可以为1-30个字符。个字符。数据对象名应以字母开头,其余字符可以由字母、数字、下划线组成。数据对象名应以字母开头,其余字符可以由字母、数字、下划线组成。在在SQLSQL语句语法格式中的一些约定符号语句语法格式中的一些约定符号尖括号尖括号“”中的内容为实际语义。中的内容为实际语义。中括号中括号“
4、 ”中的内容为任选项。中的内容为任选项。,. . .意思是意思是“等等等等”,即前面的项可以重复。,即前面的项可以重复。SQL-概述2:17大括号大括号“”与竖线与竖线“|”表明此处为选择项,在所列出的各项中仅需选表明此处为选择项,在所列出的各项中仅需选择一项。择一项。SQL中的数据项(包括列项、表和视图)分隔符为中的数据项(包括列项、表和视图)分隔符为“,”;其字符串常;其字符串常数的定界符用数的定界符用单引号单引号 表示表示。v在编写SQL语句时,遵从以下准则: SQL语句对大小写不敏感语句对大小写不敏感 为了提高为了提高SQL语句的可读性,子句开头的关键字通常采用语句的可读性,子句开头的
5、关键字通常采用大写形式。大写形式。 SQL语句可写成一行或多行,习惯上每个子句占用一行。语句可写成一行或多行,习惯上每个子句占用一行。 关键字不能在行与行之间分开,并且很少采用缩写形式。关键字不能在行与行之间分开,并且很少采用缩写形式。 SQL语句的结束符为分号语句的结束符为分号“;”,分号必须放在语句中的,分号必须放在语句中的最后一个子句后面,但可以不在同一行。最后一个子句后面,但可以不在同一行。SQL-概述2:17 SQL语言的数据定义功能包括定义数据库、定义基本表、定义索引和定义视图。 表表3-1 SQL3-1 SQL的数据定义语的数据定义语句句操作对象 操作方式 创建语句 删除语句 修
6、改语句 数据库 CREATE DATABASECREATE DATABASEDROP DATABASE DROP DATABASE ALTER DATABASEALTER DATABASE基本表 CREATE TABLE CREATE TABLE DROP TABLE DROP TABLE ALTER TABLE ALTER TABLE 索引 CREATE INDEX CREATE INDEX DROP INDEX DROP INDEX 视图 CREATE VIEW CREATE VIEW DROP VIEW DROP VIEW ALTER VIEWALTER VIEW数据定义2:17v创建数
7、据库 SQLSQL使用命令使用命令CREATE DATABASECREATE DATABASE创建数据库,其一般创建数据库,其一般语法如下:语法如下: CREATE DATABASE CREATE DATABASE ; SQLSQL使用命令使用命令DROP DATABASEDROP DATABASE删除一个或多个数据库,删除一个或多个数据库,其一般语法如下:其一般语法如下: DROP DATABASE DROP DATABASE 数据库的创建与删除2:17v创建基本表CREATE TABLE ( , , ,); 是指要创建的基本表的名称,该名称应符合具体是指要创建的基本表的名称,该名称应符合具
8、体DBMSDBMS的标识符的命名规则。的标识符的命名规则。 指的是表的属性名称。指的是表的属性名称。 表的创建与删除2:17表的创建与删除 不同不同DBMSDBMS支持的数据类型不完全相同,下表列出的是支持的数据类型不完全相同,下表列出的是MS SQL SERVER SQLMS SQL SERVER SQL支支持的主要数据类型持的主要数据类型大类大类类型类型说明说明整数整数bit取值范围:取值范围:01Tinyint字节型:字节型:0255Smallint短整数:短整数:2字节字节Int整数:整数:4字节字节bigint长整数:长整数:8字节字节实数实数Smallmoney短货币型短货币型:4
9、字节字节Money货币型:货币型:8字节字节Numeric(p,d)p:精度,精度,d:小数位小数位Decimal(p,d)长度取决于长度取决于p,dFloat(n)长度取决于长度取决于n,n25时等同于时等同于Realreal4字节字节2:17表的创建与删除大类大类类型类型说明说明时间日时间日期期Datetime8字节字节Smalldatetime4字节字节字符串字符串Char(n)N个字节个字节Varchar(n|max)最多最多N+2个字节个字节,变长变长双字节双字节字符串字符串Nchar(n)UNICODE UCS-2 ,2n个字节个字节Nvarchar二进制二进制串串binary (
10、 n ) varbinary ( n | max ) 2:17表的完整性约束条件v 完整性约束条件分为列级完整性约束条件和表级完整性完整性约束条件分为列级完整性约束条件和表级完整性约束条件约束条件,区别区别在于:列级完整性约束条件只能用于列,在于:列级完整性约束条件只能用于列,而表级完整性约束条件能够用于一张表中的多列。而表级完整性约束条件能够用于一张表中的多列。NOT NULL NOT NULL 或或NULLNULL约束约束 UNIQUEUNIQUE约束是惟一性约束。即不允许表中的某一列或约束是惟一性约束。即不允许表中的某一列或者某几列有重复的属性值。者某几列有重复的属性值。DEFAULTD
11、EFAULT约束约束 DEFAULTDEFAULT约束为默认值约束,是列级完整性约束条件。约束为默认值约束,是列级完整性约束条件。当向表中插入一个新行时,如果对于特定列没有指定当向表中插入一个新行时,如果对于特定列没有指定数值,则使用数值,则使用DEFAULTDEFAULT子句指定的默认值。子句指定的默认值。2:17CHECKCHECK约束约束 CHECKCHECK约束是检验约束,为插入列中的数据指定约束条约束是检验约束,为插入列中的数据指定约束条件。件。 PRIMARY KEY PRIMARY KEY 约束即主键约束,是表级完整性约束条约束即主键约束,是表级完整性约束条件。表中的主键可以是一
12、列或列组,件。表中的主键可以是一列或列组,PRIMARY KEY PRIMARY KEY 约束约束可以使得主键的数值在每一行中各不相同。可以使得主键的数值在每一行中各不相同。 注意:注意:PRIMARY KEYPRIMARY KEY约束类似于约束类似于UNIQUEUNIQUE约束,差别在于约束,差别在于PRIMARY KEYPRIMARY KEY约束中的列约束中的列不可以为空。不可以为空。FOREIGN KEYFOREIGN KEY约束约束 FOREIGN KEYFOREIGN KEY约束是参照完整性约束,是用于约束外约束是参照完整性约束,是用于约束外键的,也是表级完整性约束条件。键的,也是表
13、级完整性约束条件。表的完整性约束条件2:17表的创建与删除v删除基本表 当某个基本表不再需要时,可以使用当某个基本表不再需要时,可以使用DROP TABLE DROP TABLE 语句语句将它删除。其一般语法为:将它删除。其一般语法为: DROP TABLE DROP TABLE ; 该语句一旦执行,基本表的定义、数据、此表上建立的该语句一旦执行,基本表的定义、数据、此表上建立的索引和视图都将自动被删除掉。索引和视图都将自动被删除掉。2:17表的创建与删除2:17表的创建v简单表的创建-主键create table college(col_id varchar(2) not null prim
14、ary key,col_name varchar(40) UNIQUE);允许允许为空为空非空非空单个字段单个字段为主键为主键2:17表的创建v简单表的创建-主键drop table college;gocreate table college(col_id varchar(2) not null ,col_name varchar(40) not null UNIQUE,constraint pk_college_col_id primary key(col_id,col_name) );约束约束命名,方便删除命名,方便删除多个字段多个字段为主键为主键2:17表的创建v简单表的创建-主键dr
15、op table college;gocreate table college(col_id varchar(2) not null ,col_name varchar(40) UNIQUE);goalter table college add constraint pk_college_col_id primary key(col_id);go2:17表的创建-外键create table class(cla_id varchar(6) not null primary key,col_id varchar(2) foreign key references college(col_id)
16、on update cascade on delete cascade,cla_name varchar(40) UNIQUE,tuition smallmoney default 0)Gocascade 表示级联操作,如果主键表中被参考字段更新,外键表中也更新,主键表中的记录被删除,外键表中该行也相应删除drop table sc 级联更新例子goCREATE TABLE SC ( Sno CHAR(7) NOT NULL, Cno CHAR(6) NOT NULL, Grade TINYINT, ) goalter table sc add constraint pk_sc_sno_cno
17、 primary key(sno,cno);goalter table sc add constraint fk_sc_sno foreign key(sno) references student(sno) on update cascade on delete cascadego alter table sc add constraint fk_sc_cno foreign key(cno) references course(cno) on update cascade on delete cascadegoupdate student set Sno =222 where Sno =
18、0811101 -级联更新select * from studentselect * from sc -0811101的记录都变为2:17表的创建-外键drop table classgocreate table class(cla_id varchar(6) not null primary key,col_id varchar(2) ,cla_name varchar(40) UNIQUE,tuition smallmoney default 0,constraint fk_class_col_id foreign key(col_id) references college(col_id
19、) on update cascade on delete cascade)Go2:17表的创建-外键drop table classgocreate table class(cla_id varchar(6) not null primary key,col_id varchar(2) ,cla_name varchar(40) UNIQUE,tuition smallmoney default 0)goalter table class add foreign key(col_id) references college(col_id) on update cascade on delet
20、e cascadego2:17表的创建-外键级联操作insert into college (col_id,col_name) values (60,信息工程学信息工程学 院院);insert into college values (80,软件学院软件学院);Goinsert into class (cla_id,cla_name,col_id,tuition) values (6011,计算机应用计算机应用,60,6400);-insert into class values (8020,软件工程软件工程,80,10000);insert into class values (8020,8
21、0,软件工程软件工程,10000);-insert into class values (8022,80,软件工程软件工程,10000);insert into class (cla_id,cla_name,col_id,tuition) values (7060,新闻新闻,70,6600);go2:17表的Check约束create table studentcreate table student( (stu_id stu_id varcharvarchar(16) not null (16) not null primary keyprimary key, ,stu_name stu_name varcharvarchar(16),(16),cla_id cla_id varcharvarchar(6) (6) foreign key references foreign key references classclass(cla_id) (cla_id) sex sex varcharvarchar(2) (2) default default 男男 not null,not null,PostCode PostCode varchar
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年CPMM考试复习的试题及答案全书
- 福建省连城一中2025年高三第二次诊断性检测化学试卷含解析
- 生物化学反应在生物体内的意义试题及答案
- 采购与仓储协同作用试题及答案
- 2024年CPSM考试学科基础与巩固试题及答案
- 江苏省扬州市2025届高考临考冲刺化学试卷含解析
- 2025届福建省龙岩一中高考压轴卷化学试卷含解析
- 预防校园欺凌班会
- 2025焦作师范高等专科学校辅导员考试题库
- 2025吉林艺术学院辅导员考试题库
- 县域学前教育普及普惠培训
- 2024-2025学年高中化学 主题5 生物资源 农产品的化学加工 课题1 由大豆能制得什么教学实录 鲁科版选修2
- 苏轼诗文整合复习
- 新形势下耕地保护的新挑战与对策
- 2025年国家核安保技术中心招考聘用24人自考难、易点模拟试卷(共500题附带答案详解)
- 2025届天津市河东区高考一模地理试题(原卷版+解析版)
- (二调)武汉市2025届高中毕业生二月调研考试 历史试卷
- 《百日竞渡、逆风翱翔》2025年中考百日誓师动员哪吒精神班会课件
- 缓和医疗-以死观生的生活智慧知到智慧树章节测试课后答案2024年秋嘉兴大学
- 中国肥胖及代谢疾病外科治疗指南(2024版)解读
- 2025中智集团总部及下属单位多岗位面向社会公开招聘7人高频重点模拟试卷提升(共500题附带答案详解)
评论
0/150
提交评论