收藏 分享(赏)

《数据库SQL ServerSQLite教程》课件第4章.pptx

上传人:bubibi 文档编号:22692384 上传时间:2024-06-27 格式:PPTX 页数:114 大小:4.02MB
下载 相关 举报
《数据库SQL ServerSQLite教程》课件第4章.pptx_第1页
第1页 / 共114页
《数据库SQL ServerSQLite教程》课件第4章.pptx_第2页
第2页 / 共114页
《数据库SQL ServerSQLite教程》课件第4章.pptx_第3页
第3页 / 共114页
《数据库SQL ServerSQLite教程》课件第4章.pptx_第4页
第4页 / 共114页
《数据库SQL ServerSQLite教程》课件第4章.pptx_第5页
第5页 / 共114页
亲,该文档总共114页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第 4 章 关系数据库语言 SQL(上)第 4 章 关系数据库语言 SQL(上)4.1SQL 概述概述4.2SQL 的数据类型的数据类型4.3数据库定义数据库定义4.4数据表定义数据表定义第 4 章 关系数据库语言 SQL(上)DevEco Studio 的功能如图 4-1 所示,具体如下:(1)多设备统一开发环境:支持多种 HarmonyOS 设备的应用开发,包括手机、平板、车机、智慧屏、智能穿戴,轻量级智能穿戴和智慧视觉设备。(2)支持多语言的代码开发和调试:包括 Java、XML(Extensible Markup Language)、C/C+、JS(JavaScript)、CSS(Ca

2、scading Style Sheets)和 HML(HarmonyOS Markup Language)。第 4 章 关系数据库语言 SQL(上)(3)支持 FA(Feature Ability)和 PA(Particle Ability)快速开发:通过工程向导快速创建FA/PA 工程模板,一键式打包成 HAP(HarmonyOS Ability Package)。(4)支持分布式多端应用开发:一个工程和一份代码可跨设备运行,支持不同设备界面的实时预览和差异化开发,实现代码的最大化重用。第 4 章 关系数据库语言 SQL(上)图 4-1 DevEco Studio 功能x第 4 章 关系数据

3、库语言 SQL(上)4.1SQL 概述概述结构化查询语言(Structured Query Language,SQL)是 1974 年由 Boyce 和 Chamberlin提出的。19751979 年,最早是 IBM 的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R 开发的一种查询语言,它的前身是 SQUARE 语言。经过各公司的不断修改、扩充和完善,1986 年美国颁布了 SQL 的美国标准,1987 年国际标准化组织将 SQL 采纳为国际标准,SQL 最终成为关系数据库的标准语言。第 4 章 关系数据库语言 SQL(上)SQL 结构简洁,功能强大,简单易学,自从 IBM 公司 1

4、981 年推出以来,SQL 得到了广泛的应用。SQL Server、Oracle、Sybase、Informix 等大型的数据库管理系统,Visual Foxpro、PowerBuilder 等微机上常用的数据库开发系统,都支持 SQL 作为查询语言。SQL 集数据定义(Data Definition)、数据操纵(Data Manipulation)和数据控制(Data Control)等功能于一体,充分体现了关系数据库语言的特点和优点。第 4 章 关系数据库语言 SQL(上)SQL 主要由以下几部分组成:(1)数据定义语言(Data Definition Language,DDL)。(2)数

5、据操纵语言(Data Manipulation Language,DML)。(3)数据查询语言(Data Query Language,DQL)。(4)数据控制语言(Data Control Language,DCL)。第 4 章 关系数据库语言 SQL(上)4.2SQL 的数据类型的数据类型在计算机中数据有两种特征:类型和长度,所谓数据类型就是以数据的表现方式和存储方式来划分数据的种类。在 SQL Server 中,每个列、局部变量、表达式和参数都具有一个相关的数据类型。数据类型是一种属性,用来设定某一个具体列保存数据的类型。数据类型可分为整数型、精确浮点型、近似浮点型、日期时间型等 10

6、种类型,下面依次介绍。第 4 章 关系数据库语言 SQL(上)1.整数型整数型整数型的数据范围及所占字节如表 4-1 所示。第 4 章 关系数据库语言 SQL(上)2.精确浮点型精确浮点型精确浮点型的数据范围及所占字节如表 4-2 所示。第 4 章 关系数据库语言 SQL(上)3.近似浮点型近似浮点型近似浮点型的数据范围及所占字节如表 4-3 所示。第 4 章 关系数据库语言 SQL(上)4.日期时间型日期时间型日期时间型的格式、数据范围及所占字节如表 4-4 所示。第 4 章 关系数据库语言 SQL(上)5.字符型字符型字符型的数据范围及所占字节如表 4-5 所示。第 4 章 关系数据库语言

7、 SQL(上)6.Unicode 字符型字符型Unicode 字符型的数据范围及所占字节如表 4-6 所示。第 4 章 关系数据库语言 SQL(上)7.二进制字符型二进制字符型二进制字符型的数据范围及所占字节如表 4-7 所示。第 4 章 关系数据库语言 SQL(上)8.货币型货币型货币型的数据范围及所占字节如表 4-8 所示。第 4 章 关系数据库语言 SQL(上)9.特殊数据类型特殊数据类型特殊数据类型如表 4-9 所示。第 4 章 关系数据库语言 SQL(上)10.用户自定义数据类型用户自定义数据类型在该数据库下创建“图书”表时,就有了自定义的数据类型“pricedecimal”,其总位

8、数为 6,小数位 2 位。第 4 章 关系数据库语言 SQL(上)4.3数据库定义数据库定义4.3.1创建数据库创建数据库1.命令方式创建数据库命令方式创建数据库1)创建数据库的最简语法创建数据库的最简语法代码如下:create database database_name在这种情况下,数据库的参数设置都使用系统默认值。第 4 章 关系数据库语言 SQL(上)例例 4-1 使用 SQL 语句创建学生成绩数据库 studscore_db1,所有参数均取默认值。操作步骤如下:(1)在 SQL Server Management Studio 中,单击“新建查询”,新建 SQLQuery1.sql

9、文件。接下来,打开 SQLQuery1.sql 文件,如图 4-2 所示。第 4 章 关系数据库语言 SQL(上)图 4-2“新建数据库”快捷菜单第 4 章 关系数据库语言 SQL(上)(2)在工作界面,在英文状态下输入“create database studscore_db1”,选定“create database studscore_db1”,单击“”按钮,经“分析”提示“命令已成功”,表示没有错误,否则提示错误信息,找出错误并修改。(3)单击“”按钮,提示“命令已成功完成”。右击“对象资源管理器”下面的“数据库”,弹出快捷菜单,单击“刷新”,可见数据库 studscore_db1,创建

10、成功。(4)单击“保存”按钮,保存 SQLQuery1.sql 文件(该脚本文件以后操作时还会用到,打开这个脚本文件,可以看到以前的操作)。第 4 章 关系数据库语言 SQL(上)2)创建数据库的完整语法第 4 章 关系数据库语言 SQL(上)(1)on:用来存储数据库数据部分的磁盘文件(数据文件)。(2)n:占位符,表示可重复前面的定义部分,即还可以有多个。(3)log on:用来存储数据库日志的磁盘文件(日志文件)。(4)primary:指定关联的 列表定义主文件。(5)name:为由 定义的文件指定逻辑名称。有以下几种形式:第 4 章 关系数据库语言 SQL(上)第 4 章 关系数据库语

11、言 SQL(上)例例 4-2 创建数据库 studscore_ds1,数据文件和日志文件存放在 D:sq,主文件逻辑名称 studscore_ds1_data1,物理文件名 studscore_ds1_data1.mdf,初始大小为 5 MB,最大为无限大,增长速度 10%,日志文件逻辑名称 tudscore_ds1_log1,物理文件名 studscore_ds1_log1.ldf,初始大小 3 MB,最大 8 MB,增长速度 1 MB。第 4 章 关系数据库语言 SQL(上)操作步骤如下:第一步:在 D 盘创建文件夹 sq,然后在 SQLQuery1.sql 文件中,输入如下代码:第 4

12、章 关系数据库语言 SQL(上)第二步:选定上述代码,单击“”按钮,提示“命令已成功完成”,再单击“”按钮。第三步:鼠标右击“对象资源管理器”下的“数据库”,弹出快捷菜单,再单击“刷新”按钮,可见创建的数据库 studscore_ds1。第 4 章 关系数据库语言 SQL(上)例例 4-3 创建数据库 studscore_ds2,包括 3 个数据文件、1 个文件组和 1 个日志文件,自主设置参数值。操作步骤同上,代码如下:第 4 章 关系数据库语言 SQL(上)第 4 章 关系数据库语言 SQL(上)菜单方式创建数据库菜单方式创建数据库操作步骤如下:(1)在“对象资源管理器”中找到“数据库”节

13、点,右击该节点,在弹出的快捷菜单中选择“新建数据库”命令,弹出如图 4-3 所示的对话框。第 4 章 关系数据库语言 SQL(上)图 4-3“新建数据库”对话框(1)第 4 章 关系数据库语言 SQL(上)(2)在“新建数据库”对话框的“常规”选项卡中,可输入数据库名称、数据库文件和事务日志文件的逻辑名称,设置其初始大小、自动增长、路径等参数,如图 4-4 所示。(3)单击“确定”按钮,数据库文件创建成功。第 4 章 关系数据库语言 SQL(上)图 4-4“新建数据库”对话框(2)第 4 章 关系数据库语言 SQL(上)4.3.2删除数据库删除数据库1.命令方式删除数据库命令方式删除数据库在

14、SSMS 中可以用 drop database 命令一次删除一个或多个数据库。只有数据库所有者和数据库管理员才有权执行此命令。删除数据库语法如下:drop database database_name,.n第 4 章 关系数据库语言 SQL(上)例例 4-4 删除例 4-1 中创建的学生成绩数据库(studscore_db1)。操作步骤如下:(1)在 SQLQuery1.sql 中输入命令:drop database studscore_db1(2)选中输入的命令代码,单击“”按钮,无误则再单击“”按钮,显示“命令已成功”,表示数据库 studscore_db1 被删除。第 4 章 关系数据库

15、语言 SQL(上)2.菜单方式删除数据库菜单方式删除数据库在 SSMS 中可以用菜单方式删除数据库。例如,删除在例 4-1 中创建的学生成绩数据库(studscore_db1)。操作步骤如下:(1)在“对象资源管理器”下单击“数据库”前的“+”,展开数据库文件夹。在数据库“studscore_db1”上右击鼠标弹出快捷菜单,单击“删除”命令。(2)进入“删除对象”对话框,勾选“关闭现有连接(C)”,再单击“确定”按钮,如图 4-5所示。第 4 章 关系数据库语言 SQL(上)图 4-5“删除数据库”对话框第 4 章 关系数据库语言 SQL(上)4.3.3修改数据库修改数据库1.命令方式修改数据

16、库命令方式修改数据库在 SSMS 中可以用 alter database 命令来增加或删除数据库中的文件,修改文件的属性。1)语法格式alter database 命令的语法格式如下:第 4 章 关系数据库语言 SQL(上)第 4 章 关系数据库语言 SQL(上)2)实际操作(1)向数据库添加文件,包括数据文件、日志文件、文件组。例例 4-5 修改学生成绩数据库 studscore_ds1,添加一个 5 MB 的次数据文件 studscore_ds1_data2。代码如下:第 4 章 关系数据库语言 SQL(上)(2)删除数据库中的文件、文件组。例例 4-6 修改学生成绩数据库 studsco

17、re_ds1,删除次数据文件 studscore_ds1_data2。代码如下:alter database studscore_ds1remove file studscore_ds1_data2第 4 章 关系数据库语言 SQL(上)2.菜单方式修改数据库菜单方式修改数据库在“对象资源管理器”下单击“数据库”前面的“+”,展开数据库文件夹,在需要修改的数据库上右击鼠标,弹出快捷菜单,单击“属性”选项,进入“数据库属性”页,在“文件”“文件组”选项卡可以进行数据库文件、文件组的“添加”“删除”等操作。第 4 章 关系数据库语言 SQL(上)4.4数据表定义数据表定义数据定义语言(DDL)的主

18、要功能是定义数据库的模式,包括概念模式、外模式和内模式。在 SQL 中对于不同的模式分别定义了一系列的语句。通过这些语句,数据库管理员(DBA)可以创建和维护数据库模式结构。数据库的三级模式结构的核心是概念模式,它在 SQL 数据库中表现为基本表的集合。第 4 章 关系数据库语言 SQL(上)4.4.1数据表的构成数据表的构成一个数据表由表名、列和完整性约束构成。具体如下:1.表名2.列3.完整性约束第 4 章 关系数据库语言 SQL(上)数据的完整性就是指存储在数据库中的数据的准确性和一致性,通过实体完整性、参照完整性、域完整性和用户自定义完整性等完整性约束来实现。具体如下:1)实体完整性实

19、体完整性也称行完整性,要求表中不能有重复的行存在。2)参照完整性参照完整性也称引用完整性,要求相关数据表中的数据保持一致性,即主键(被参照表)和外键之间的关系能够得到维护。设置外键约束(Foreign Key)、存储过程及触发器等方法加以实现。第 4 章 关系数据库语言 SQL(上)如果被参考表(父表)中的一行被一个外键(books 表categorycode 类别代码)所参照,那么这一行数据便不能被直接删除,用户也不能直接修改主键(categories 表categorycode)值,如图 4-6 所示。第 4 章 关系数据库语言 SQL(上)图 4-6参照完整性第 4 章 关系数据库语言

20、SQL(上)3)域完整性域完整性也称列完整性,指定列的输入有效性。通过限制列的类型、格式、可能值的范围等方法加以实现,如设置检查约束(check)或规则。4)用户自定义完整性所有完整性类别都支持用户定义完整性,包括create table中所有列级约束和表级约束、存储过程、触发器。例如,订单表 orders 中,shipdate(发货日期)不能早于 rderdate(订货日期)。第 4 章 关系数据库语言 SQL(上)4.4.2创建表创建表1.命令方式创建表命令方式创建表1)创建表的命令和语法格式创建数据库后,需要使用 SQL 语句 create table 创建数据表。其语法格式如下:第 4

21、 章 关系数据库语言 SQL(上)第 4 章 关系数据库语言 SQL(上)2)定义列和约束首先,创建表时主要是对列的定义以及添加约束。其次,表的约束按应用范围分为列级和表级约束。第 4 章 关系数据库语言 SQL(上)例 4-7 创建学生情况表 student,包括 s#、sname、age、sex 等列,带主键、不允许空值、默认值等约束。代码如下:第 4 章 关系数据库语言 SQL(上)例 4-8 以创建学生情况表 student 为例,在创建表时分别使用列约束和表约束。此时,需要先删除例 4-7 创建的表 student。代码如下:第 4 章 关系数据库语言 SQL(上)3)创建带约束的表

22、(1)primary key 约束。在 SQL Server 中,主键(primary key)保证实体完整性,可以是单列,也可以是多列组合。其特点为:一个表只能定义一个主键约束;主键约束所在列(或组合值)不允许输入重复值;所在列不允许取空值;主键约束自动在指定的列上创建了一个唯一性索引,默认为聚集索引。第 4 章 关系数据库语言 SQL(上)例4-9 创建图书分类表categories,用于存放图书的类别信息,categorycode设为主键。代码如下:说明:本例中,只有列级约束,而且该主键约束没有指定约束名,由系统自动添加约束名。第 4 章 关系数据库语言 SQL(上)例 4-10创建选课

23、成绩表 sc,用于存放学生的成绩,其中 s#和 c#组成复合主键。代码如下:第 4 章 关系数据库语言 SQL(上)例 4-11创建表 orderitems,用于存放订单项目信息,主键约束设置在 orderid 和bookid 列上。代码如下:第 4 章 关系数据库语言 SQL(上)例4-12创建图书信息表 books,用于存放图书信息,其中 bookid 设为主键,约束名 pk_books_bookid,且 bookid 设为标识列,由 101 开始每次自动增长 1。代码如下:第 4 章 关系数据库语言 SQL(上)例 4-13创建学生信息表 studinfo,代码如下:第 4 章 关系数据

24、库语言 SQL(上)例 4-14创建班级信息表 classinfo,代码如下:第 4 章 关系数据库语言 SQL(上)4-15此题在完成例 4-16 之后进行,在 customers 表中,为 customerid 列添加主键约束,约束名为 pk_customers_customerid。代码如下:第 4 章 关系数据库语言 SQL(上)(2)default 约束。默认值(default)约束的语法格式如下:default default 约束的特点为:每个列只能定义一个默认值;默认值不能引用其他列或其他表、视图或存储过程;不能放在 identity 列或 timestamp 列。第 4 章

25、关系数据库语言 SQL(上)例 4-16创建用户信息表 customers,列 rating 设为默认值约束,默认值为 5(常量)。代码如下:第 4 章 关系数据库语言 SQL(上)例 4-17使用 insert 命令向 student 表中添加一条记录,输入下列代码,并执行。insert into student(s#,sname,age)values(2018010101,张真,20)表 student 中列 sex 的值以默认值自动填充为“男”,其结果如表 4-10 所示。第 4 章 关系数据库语言 SQL(上)例 4-18创建订单表 orders(orderid、orderdate、s

26、hipdate、customerid),然后为 orderdate列添加一个默认值约束,默认值为当前系统时间,当前系统时间由 getdate()产生。代码如下:alter table ordersadd constraint df_orders_orderdate default getdate()for orderdate第 4 章 关系数据库语言 SQL(上)(3)unique 约束。唯一性(unique)约束是指表中的某一列或多列不能有相同的两行或多行数据存在。其特点为:不能是主键约束所在列;每个表可以定义多个唯一性约束;约束所在列不允许输入重复值(或组合值不重复);所在列允许有空值;在

27、指定列自动创建一个唯一性索引,默认非聚集索引。第 4 章 关系数据库语言 SQL(上)主键约束和唯一性约束既有相同点,也有不同点,具体如下:相同点:关键字值不允许重复;创建唯一性索引来保证实体完整性。不同点:是否取空值;可以定义一个还是多个约束。unique 约束的语法格式如下:constraint constraintname unique clustered|nonclustered(column,.)第 4 章 关系数据库语言 SQL(上)第 4 章 关系数据库语言 SQL(上)例 4-21创建部门信息表 department。注意,组合值具有唯一性约束。代码如下:第 4 章 关系数据库

28、语言 SQL(上)nique 约束对空值的处理:若唯一性约束列中有一列不为空,就实施约束;若唯一性约束列都为空,则不实施约束,如图 4-7 所示。图 4-7唯一性约束第 4 章 关系数据库语言 SQL(上)(4)foreign key 约束。在 SQL Server 中,使用外键(foreign key)保证参照完整性。外键约束用于建立和加强两个表之间的连接的一列或多列,也就是表中某列值引用其他表的主键列或 unique 列。外键表的被约束列的取值,必须是主键表的被约束列的值。其特点为:每个表可以定义多个外键约束;外键表中被约束的列必须和主键表中被约束的列宽度一致、数据类型一致;外键约束不能自

29、动创建索引;当向设有外键约束的表(子表)中插入记录或更新记录时,该记录被约束列的值必须在参照的主键表(父表)中存在。第 4 章 关系数据库语言 SQL(上)foreign key 约束的语法格式如下:第 4 章 关系数据库语言 SQL(上)参数说明:references:指定该外键参考哪个父表中的哪个主键列。on delete:说明如果已创建表中的行具有参照关系,并且被引用行已从父表中删除,则对这些行采取的操作。默认 no action:表示数据库引擎将引发错误,并回滚对父表中相应行的删除操作。cascade:表示级联删除,如果父表中删除一行,则将从参照表中删除相应行。set null:表示如

30、果父表中对应的行被删除,则子表中组成外键的所有值将设置为null。若要执行此约束,外键列必须可为空值。第 4 章 关系数据库语言 SQL(上)set default:表示如果父表中对应的行被删除,则子表中组成外键的所有值都将设置为默认值。若要执行此约束,所有外键列都必须有默认值定义。如果某个列可为空值,并且未设置显式的默认值,则会使用 null 作为该列的隐式默认值。on update:用于说明如果表中发生更新的行有参照关系,并且被引用行在父表中已更新,则这些行将发生什么操作。(同上)第 4 章 关系数据库语言 SQL(上)第 4 章 关系数据库语言 SQL(上)第 4 章 关系数据库语言 S

31、QL(上)第 4 章 关系数据库语言 SQL(上)例 4-26在 no action 情况下,已知 student 和 sc 表的参照关系如图 4-8 所示。图4-8参照完整性第 4 章 关系数据库语言 SQL(上)换句话说:在子表 sc 中插入记录时,若主表中对应的列值不存在,则插入出错。删除主表 student 中的记录时,若有子表中的相应记录存在,也出错。当然,若设置了级联删除(on delete cascade),则可以执行删除操作。第 4 章 关系数据库语言 SQL(上)(5)check 约束。检查(check)约束用于验证输入数据的有效性,从而保证域完整性。其特点为:每个表可以定义

32、多个检查约束;可以参考本表中的其他列;检查约束不能放在 identity 列或timestamp 列(它们自动插入数据);插入或更新记录时,满足条件才能录入。第 4 章 关系数据库语言 SQL(上)第 4 章 关系数据库语言 SQL(上)第 4 章 关系数据库语言 SQL(上)(6)identity 列。标识(identity)列是由系统生成的标识符列,序号值以唯一方式标识表中的每一行。identity 列的语法格式如下:identity(seed,increment)参数说明:seed 为初值,increment 为增量值;一个表只能有一个标识列(int/decimal/numeric 等类

33、型的列),不能是空值 null,也不能包含 default 定义或对象。第 4 章 关系数据库语言 SQL(上)例 4-29创建表 studbdinfo,seq_id 设为标识列,初始值为 1001,增量为 1。代码如下说明:seq_id 的数据类型是 int,可设置为标识(identity)列;如果 seq_id 的数据类型是 char,则不能设为标识列。第 4 章 关系数据库语言 SQL(上)2.菜单方式创建表菜单方式创建表1)创建表例 4-30创建学生信息表 student,表的结构同前所述。操作步骤如下:(1)在“对象资源管理器”中单击数据库文件 studscore_ds1 前面的“+

34、”,展开数据库节点,右击“表”的名称或图标,在弹出的快捷菜单中选择“新建表”命令,如图 4-9所示。第 4 章 关系数据库语言 SQL(上)图 4-9“新建表”快捷菜单第 4 章 关系数据库语言 SQL(上)(2)图 4-10 是“表设计器”工作界面。第 1 列的列名为 s#,数据类型为 varchar(10)且长度改为 10,取消“允许 Null.”复选框中的“”。s#列是表的主键,定义方法是单击“表设计器”菜单下的“设置主键”命令,或鼠标右击 s#列,在弹出的快捷菜单中选择“设置主键”命令,在该列的前面出现一个金色的钥匙图标,表示该列是表的主键。第 4 章 关系数据库语言 SQL(上)图

35、4-10“表设计器”工作界面第 4 章 关系数据库语言 SQL(上)(3)依次设置表的其他列,如sname、age、sex等。表的列设计好以后,单击工具栏上的“保存”按钮,或右击表的名称,在弹出的“选择名称”对话框中输入表名称“student”,然后单击“确定”按钮,创建的表就被保存起来。第 4 章 关系数据库语言 SQL(上)2)创建带标识列的表例 4-31创建表 orders,其中订单编号 orderid 是一个标识列,而且是主键。orderdate列是订货日期,通常订货日期与系统日期相同,因此为该列定义一个默认值,shipdate 是发货日期,customerid 是订货的顾客的编号。s

36、hipdate 可以为空值。操作步骤如下:(1)在“对象资源管理器”中单击数据库文件studscore_ds1前面的“+”,展开数据库节点,右击“表”的名称或图标,在弹出的快捷菜单中选择“新建表”命令。第 4 章 关系数据库语言 SQL(上)(2)在“表设计器”界面中,第 1 列的列名为 orderid,数据类型选择 int,取消“允许Null.”复选框中的“”。在“列属性”列表框中,展开“标识规范”节点,将“(是标识)”属性值改为“是”,“标识增量”和“标识种子”的值分别设为 101、1。按此前的方法设置 orderid 为主键,如图 4-11 所示。第 4 章 关系数据库语言 SQL(上)

37、图 4-11设置“标识列”属性第 4 章 关系数据库语言 SQL(上)(3)第 2 列为 orderdate,数据类型为 datetime,不允许空值。接下来为该列添加一个默认值约束。在“列属性”框中,展开“常规”节点,在“默认值或绑定”属性后面输入getdate(),该函数的作用是获取当前系统日期和时间,如图 4-12 所示。第 4 章 关系数据库语言 SQL(上)图 4-12设置“默认值”属性第 4 章 关系数据库语言 SQL(上)(4)第 3 列为 shipdate,数据类型为 datetime,允许空值,设置一个检查约束,要求发货日期大于订单日期。在“表设计器”中,在 shipdate

38、 处单击鼠标右键,在弹出的快捷菜单中选择“CHECK约束”命令,打开“CHECK 约束”对话框,如图 4-13 所示。(5)依次输入其他列,然后单击“保存”按钮,输入表名称,单击“确定”按钮,带约束的表创建完成。第 4 章 关系数据库语言 SQL(上)图 4-13设置 CHECK 约束第 4 章 关系数据库语言 SQL(上)4.4.3修改表修改表1.命令方式修改表命令方式修改表alter table 命令可以添加或删除表的列、约束,也可以禁用或启用已存在的约束或触发器。语法格式如下:第 4 章 关系数据库语言 SQL(上)1)修改列语法格式如下:alter table alter column

39、 说明:与 create table 中相同,但是列名不能修改。第 4 章 关系数据库语言 SQL(上)例 4-32在表中有数据记录的情况下,修改列的数据类型、长度、允许 Null。代码如下:第 4 章 关系数据库语言 SQL(上)2)增加列语法格式如下:alter table add 第 4 章 关系数据库语言 SQL(上)例 4-33在表中有数据记录的情况下,增加列并设置约束。代码如下:第 4 章 关系数据库语言 SQL(上)3)删除列语法格式如下:alter table drop column 第 4 章 关系数据库语言 SQL(上)4)增加或删除约束(1)增加表约束。语法格式如下:al

40、ter table add 说明:只能增加表约束,且表约束格式与创建表时相同。如果需要修改原来的约束,则必须先删除原约束,然后再添加新的约束。第 4 章 关系数据库语言 SQL(上)第 4 章 关系数据库语言 SQL(上)(2)删除表约束。语法格式如下:drop constraint 第 4 章 关系数据库语言 SQL(上)2.菜单方式修改表菜单方式修改表创建的表只是表的结构,因此修改表也是修改表的结构,还可以建立表的外键关 系。以 表 books(包 括 bookid、categorycode 列)和 表 categories(包 括 categorycode、categoryname 列)

41、为例进行介绍。第 4 章 关系数据库语言 SQL(上)1)修改表结构(1)在“对象资源管理器”中展开数据库节点和表节点,鼠标右击已经存在的表(如categories 表),在弹出的快捷菜单中选择“设计”命令,如图 4-14 所示。(2)在“表设计器”工作界面,可以修改表的结构,如列名、数据类型及其长度、主键。然后单击工具栏的“保存”命令,或用鼠标右击文件名,单击“保存”命令。第 4 章 关系数据库语言 SQL(上)图 4-14表“设计”菜单第 4 章 关系数据库语言 SQL(上)2)添加外键约束(1)在“对象资源管理器”中展开数据库节点和表节点,在表 books 上单击鼠标右键,在弹出的快捷菜

42、单中选择“设计”命令,打开一个选项卡显示表 books 的定义。(2)在表 books 的定义中,在 categorycode 列单击鼠标右键,在弹出的快捷菜单中选择“关系”命令,或在“表设计器”菜单中单击“关系”命令,弹出“外键关系”对话框,单击“添加”按钮,在“选定的关系”列表框中添加一个新的关系,在“标识”节点修改关系名称为 FK_books_categories。第 4 章 关系数据库语言 SQL(上)(3)选中这个新添加的关系,再右侧单击选中“表和列规范”节点并单击节点后面的“.”按钮,弹出“表和列”对话框,其中“外键表”是固定的 books 表,选择外键所在列 categoryco

43、de;“主键表”选择表 categories,主键所在的列选择 categorycode 列,如图 4-15 所示。(4)单击工具栏的“保存”按钮,保存对 books 表的修改。第 4 章 关系数据库语言 SQL(上)图 4-15“外键关系”对话框第 4 章 关系数据库语言 SQL(上)4.4.4删除表删除表1.命令方式删除表命令方式删除表drop table 语句的功能是删除基本表(表所包含的记录也随之删除)。语法格式如下:drop table 说明:如果表中存在 foreign key 约束,则需要先删除外键约束。例如:删除学生成绩表 studscoreinfo。代码如下:drop table studscoreinfo第 4 章 关系数据库语言 SQL(上)2.菜单方式删除表菜单方式删除表在“对象资源管理器”中展开数据库节点和表节点,用鼠标右键单击相关的表,在弹出快捷菜单中选择“删除”命令,弹出“删除对象”对话框,单击“确定”按钮,将删除选定的表。在“删除对象”对话框中单击“显示依赖关系”,如果有外键约束,则先删除外键约束然后才能删除该表,否则单击“确定”按钮后,显示消息“删除对.表失败”。

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

当前位置:首页 > 资格认证 > 计算职称

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报