数据库与表ppt课件

上传人:大米 文档编号:587468056 上传时间:2024-09-06 格式:PPT 页数:125 大小:1.15MB
返回 下载 相关 举报
数据库与表ppt课件_第1页
第1页 / 共125页
数据库与表ppt课件_第2页
第2页 / 共125页
数据库与表ppt课件_第3页
第3页 / 共125页
数据库与表ppt课件_第4页
第4页 / 共125页
数据库与表ppt课件_第5页
第5页 / 共125页
点击查看更多>>
资源描述

《数据库与表ppt课件》由会员分享,可在线阅读,更多相关《数据库与表ppt课件(125页珍藏版)》请在金锄头文库上搜索。

1、返回返回回回顾一顾一1.数据库技术的三个开展阶段?数据库技术的三个开展阶段?2.数据库管理系统的功能数据库管理系统的功能3.数据库的体系构造?三级方式,二级映像数据库的体系构造?三级方式,二级映像4.E-R模型三元素?联络的种类?模型三元素?联络的种类?5.数据库模型的分类?三类数据库模型的分类?三类6.什么叫关系?什么叫关系?7.关系完好性分类?关系完好性分类?8.传统集合运算?专门关系运算?传统集合运算?专门关系运算?返回返回回回顾二顾二9.函数依赖?函数依赖?10.非平凡函数依赖?完全函数依赖?传送函数依赖?非平凡函数依赖?完全函数依赖?传送函数依赖?11.1NF,2NF,3NF?12.

2、数据库设计的六阶段?数据库设计的六阶段?E-R模型转关系模型规那么模型转关系模型规那么?13.SQL全称?全称?T-SQL功能分类?关键词?功能分类?关键词?14.标识符命名规那么?数据类型?标识符命名规那么?数据类型?15.变量分类?部分变量定义?赋值?变量分类?部分变量定义?赋值?16.运算符分类?运算符分类?17.批处置终了符?错误类型?批处置终了符?错误类型?18.注释分类?注释分类?返回返回第第8 8章章 数据库和表数据库和表返回返回数据库是数据库是SQLServer2019存放表和索引等数据存放表和索引等数据库对象的逻辑实体。数据库的存储构造分为逻库对象的逻辑实体。数据库的存储构造

3、分为逻辑存储构造和物理存储构造两种。辑存储构造和物理存储构造两种。物理存储构造指的是保管数据库各种逻辑对象物理存储构造指的是保管数据库各种逻辑对象的物理文件是如何在磁盘上存储的,数据库在的物理文件是如何在磁盘上存储的,数据库在磁盘上是以文件为单位存储的,磁盘上是以文件为单位存储的,SQLServer2019将数据库映射为一组操作系统文件。将数据库映射为一组操作系统文件。8.1数据库根本概念数据库根本概念返回返回SQL Server 2019SQL Server 2019的数据库文件的类型的数据库文件的类型主数据文件:每个数据库都有且只需一个主数主数据文件:每个数据库都有且只需一个主数据文件。扩

4、展名是据文件。扩展名是 .mdf .mdf。 辅助数据文件:数据库含有零个或多个辅助数辅助数据文件:数据库含有零个或多个辅助数据文件。扩展名是据文件。扩展名是 .ndf .ndf。 事务日志文件:日志文件包含着用于恢复数据事务日志文件:日志文件包含着用于恢复数据库的一切日志信息。每个数据库必需至少有一库的一切日志信息。每个数据库必需至少有一个日志文件。个日志文件。SQL Server 2019SQL Server 2019事务日志采用事务日志采用提早写入的方式。扩展名是提早写入的方式。扩展名是 .ldf .ldf。 8.1.1物理数据库物理数据库返回返回SQLServer中的数据库文件组分为主

5、文件组和中的数据库文件组分为主文件组和用户定义文件组。用户定义文件组。主文件组:主文件组包含主要数据库文件和任主文件组:主文件组包含主要数据库文件和任何没有明确指派给其他文件组的其他文件。数何没有明确指派给其他文件组的其他文件。数据库的系统表都包含在主文件组中。据库的系统表都包含在主文件组中。用户定义文件组:用户定义文件组是在用户定义文件组:用户定义文件组是在CREATEDATABASE或或ALTERDATABASE语语句中,运用句中,运用FILEGROUP关键字指定的文件组。关键字指定的文件组。文件组运用的规那么:文件组运用的规那么:8.1.1物理数据库物理数据库返回返回数据库是存储数据的容

6、器,即数据库是一个存数据库是存储数据的容器,即数据库是一个存放数据的表和支持这些数据的存储、检索、平放数据的表和支持这些数据的存储、检索、平安性和完好性的逻辑成分所组成的集合。安性和完好性的逻辑成分所组成的集合。组成数据库的逻辑成分称为数据库对象,组成数据库的逻辑成分称为数据库对象,SQLServer2019中的逻辑对象主要包括数据表、视中的逻辑对象主要包括数据表、视图、同义词、存储过程、函数、触发器、规那图、同义词、存储过程、函数、触发器、规那么,以及用户、角色、架构等。么,以及用户、角色、架构等。每个每个SQLServer都包含两种类型的数据库:系都包含两种类型的数据库:系统数据库和用户数

7、据库。统数据库和用户数据库。8.1.2逻辑数据库逻辑数据库返回返回1master数据库数据库master数据库是主数据库,记录系统中一切系统级的信数据库是主数据库,记录系统中一切系统级的信息息2model数据库数据库model数据库为用户新创建的数据库提供模板,它包含了数据库为用户新创建的数据库提供模板,它包含了用户数据库中应该包含的一切系统表的构造。用户数据库中应该包含的一切系统表的构造。3msdb数据库数据库msdb数据库供数据库供SQLServer代理程序调度警报作业以及记代理程序调度警报作业以及记录操作时运用。录操作时运用。4tempdb数据库数据库tempdb数据库保管一切的暂时表和

8、暂时存储过程。数据库保管一切的暂时表和暂时存储过程。tempdb数据库是全局资源,一切衔接到系统的用户的数据库是全局资源,一切衔接到系统的用户的暂时表和存储过程都被存储在该数据库中。暂时表和存储过程都被存储在该数据库中。5.样板数据库:样板数据库:pubs和和northwind。pubs数据库记录了一个出版公司的数据信息数据库记录了一个出版公司的数据信息northwind数据库那么保管了一个贸易公司的数据信息。数据库那么保管了一个贸易公司的数据信息。8.1.2逻辑数据库逻辑数据库返回返回8.2.1创建数据库创建数据库确定数据库的称号、一切者、大小以及存确定数据库的称号、一切者、大小以及存储该数

9、据库的文件和文件组。储该数据库的文件和文件组。创建尽能够大的数据文件。创建尽能够大的数据文件。8.2数据库操作数据库操作返回返回1在在图形界面下形界面下创建数据建数据库1启启动“MicrosoftSQLServerManagementStudio“,在,在对象象资源管理器窗口的源管理器窗口的“数据数据库节点上右点上右击:2弹出出“新建数据新建数据库对话框,在框,在“常常规数据数据页的的“数数据据库称号文本框中,称号文本框中,输入要入要创建的数据建的数据库的称号。的称号。3在在对象象资源管理器窗口中展开源管理器窗口中展开“数据数据库,可以看到,可以看到新建的数据新建的数据库8.2.1创建数据库创

10、建数据库返回返回【例【例8-1】创建数据建数据库“教学教学库,初始大,初始大小小为5MB,数据,数据库自自动增增长,增,增长方式方式是按是按10%比例增比例增长;日志文件初始;日志文件初始为2MB,按,按1MB增增长默默许是按是按10%比例比例增增长。8.2.1创建数据库创建数据库返回返回2、运用、运用CREATEDATABASE语句句创建数据建数据库语法格式如下:法格式如下:CREATEDATABASEdatabase_nameONPRIMARY,n,nLOGON,nFORLOAD|FORATTACH:=(NAME=logical_file_name,FILENAME=os_file_nam

11、e,SIZE=size,MAXSIZE=max_size|UNLIMITED,FILEGROWTH=growth_increment),n8.2.1创建数据库创建数据库返回返回在在T-SQL言言语的命令格式中的命令格式中用用括起来的内容表示是可括起来的内容表示是可选的;的;,n表示反复前面的内容;表示反复前面的内容;用用括起来的内容表示在括起来的内容表示在实践践编写写语句句时,用相,用相应的内容替代;的内容替代;用用括起来的内容表示是必括起来的内容表示是必选的;的;类似似A|B的格式,表示的格式,表示A和和B只能只能选择一一个,不能同个,不能同时都都选。返回返回database_name:新数

12、据:新数据库的称号。数据的称号。数据库称号在效称号在效力器中必需独一,最力器中必需独一,最长为128个字符,并且要符合个字符,并且要符合标识符符的命名的命名规那么。每个效力器管理的数据那么。每个效力器管理的数据库最多最多为32767个。个。ON:指定存放数据:指定存放数据库的数据文件信息。的数据文件信息。该关关键字后面字后面可以包含用逗号分隔的可以包含用逗号分隔的列表,列表,列表列表用于定用于定义主文件主文件组的数据文件。主文件的数据文件。主文件组的文件列表后的文件列表后可以包含用逗号分隔的可以包含用逗号分隔的列表,列表,列列表用于定表用于定义用用户文件文件组及其中的文件。及其中的文件。PRI

13、MARY:用于指定主文件:用于指定主文件组中的文件。主文件中的文件。主文件组不不仅包含数据包含数据库系系统表中的全部内容,而且表中的全部内容,而且还包含用包含用户文件文件组中没有包含的全部中没有包含的全部对象。一个数据象。一个数据库只能有一个只能有一个主文件,默主文件,默许情况下,假情况下,假设不指定不指定PRIMARY关关键字,字,那么在命令中列出的第一个文件将被默以那么在命令中列出的第一个文件将被默以为主文件。主文件。LOGON:指明事:指明事务日志文件的明确定日志文件的明确定义。假。假设没有没有本本选项,那么系,那么系统会自会自动产生一个文件名前生一个文件名前缀,与数据,与数据库名一名一

14、样,容量,容量为一切数据一切数据库文件大小文件大小1/4的事的事务日志文日志文件。件。NAME:指定数据:指定数据库的的逻辑称号,称号,这是在是在SQLServer系系统中运用的称号,是数据中运用的称号,是数据库在在SQLServer中的中的标识符。符。返回返回FILENAME:指定数据:指定数据库所在文件的操作系所在文件的操作系统文件文件称号和途径,称号和途径,该操作系操作系统文件名和文件名和NAME的的逻辑称号称号一一一一对应。SIZE:指定数据:指定数据库的初始容量大小。假的初始容量大小。假设没有指定没有指定主文件的大小,那么主文件的大小,那么SQLServer默默许其与模板数据其与模板

15、数据库中的主文件大小一致,其他数据中的主文件大小一致,其他数据库文件和事文件和事务日志文日志文件那么默以件那么默以为1MB。指定大小的数字。指定大小的数字size可以运用可以运用KB、MB、GB和和TB后后缀,默,默许的后的后缀为MB。size中不能运中不能运用小数,其最小用小数,其最小值为512KB,默,默许值为1MB。主文件。主文件的的size不能小于模板数据不能小于模板数据库中的主文件。中的主文件。MAXSIZE:指定操作系:指定操作系统文件可以增文件可以增长到的最大尺到的最大尺寸。假寸。假设没有指定,那么文件可以不断增大直到充溢没有指定,那么文件可以不断增大直到充溢磁磁盘。FILEGR

16、OWTH:指定文件每次添加容量的大小,:指定文件每次添加容量的大小,当指定数据当指定数据为0时,表示文件不增,表示文件不增长。添加量可以确定。添加量可以确定为以以KB、MB作后作后缀的字的字节数或以数或以%作后作后缀的被添加的被添加容量文件的百分比来表示。默容量文件的百分比来表示。默许后后缀为MB。假。假设没有没有指定指定FILEGROWTH,那么默,那么默许值为10%,每次,每次扩容容的最小的最小值为64KB。返回返回【例【例8-2】运用】运用CREATEDATABASE创建一个新的数据建一个新的数据库,称号,称号为“STUDENT1,其他一切参数均取默,其他一切参数均取默许值:翻开翻开SQ

17、LServerManagementStudio,在窗口上部的,在窗口上部的工具工具栏的左的左侧找到找到“新建新建查询按按钮。单击“新建新建查询,在,在SQLServerManagementStudio的窗口右的窗口右侧会建立一个新的会建立一个新的查询页面,默面,默许的称号的称号为“SQLQuery1.sql,输入要入要执行的行的T-SQL语句。句。CREATEDATABASESTUDENT1单击工具工具栏中的中的“执行按行按钮,当系,当系统给出的提示信息出的提示信息为“命令已命令已胜利完成。利完成。时,阐明此数据明此数据库创建建胜利。利。8.2.1创建数据库创建数据库返回返回【例【例8-3】创

18、建数据建数据库名名为“STUDENT2的数据的数据库,包含一个主数据文件和一个事包含一个主数据文件和一个事务日志文件。主数日志文件。主数据文件的据文件的逻辑名名为“STUDENT2_DATA,操作,操作系系统文件名文件名为“STUDENT2_DATA.MDF,初始,初始容量大小容量大小为5M,最大容量,最大容量为20M,文件的增,文件的增长量量为20%。事。事务日志文件的日志文件的逻辑文件名文件名为“STUDENT2_LOG,物理文件名,物理文件名为“STUDENT2_LOG.LDF,初始容量大小,初始容量大小为5M,最大容量,最大容量为10M,文件增,文件增长量量为2M。数据文件。数据文件与

19、事与事务日志文件都放在日志文件都放在F盘根目根目录。8.2.1创建数据库创建数据库返回返回首先在首先在F盘创建一个新的文件建一个新的文件夹,称,称号是号是“DATA。在在查询窗口,窗口,输入:入:CREATEDATABASESTUDENT2ONPRIMARY(NAME=STUDENT2_DATA,FILENAME=F:DATASTUDENT2_DATA.MDF,SIZE=5MB,MAXSIZE=20MB,FILEGROWTH=20%)LOGON(NAME=STUDENT2_LOG,FILENAME=F:DATASTUDENT2_LOG.LDF,SIZE=5MB,MAXSIZE=10MB,FIL

20、EGROWTH=2MB)返回返回【例【例8-4】创建一个指定多个数据文件和日志文件的】创建一个指定多个数据文件和日志文件的数据库。该数据库称号为数据库。该数据库称号为STUDENTS,有,有1个个5MB和和1个个10MB的数据文件和的数据文件和2个个5MB的事务日志的事务日志文件。数据文件逻辑称号为文件。数据文件逻辑称号为STUDENTS1和和STUDENTS2,物理文件名为,物理文件名为STUDENTS1.mdf和和STUDENTS2.ndf。主文件是。主文件是STUDENTS1,由,由PRIMARY指定,两个数据文件的最大尺寸分别为指定,两个数据文件的最大尺寸分别为无限大和无限大和100M

21、B,增长速度分别为,增长速度分别为10%和和1MB。事务日志文件的逻辑名为事务日志文件的逻辑名为STUDENTSLOG1和和STUDENTSLOG2,物理文件名为,物理文件名为STUDENTSLOG1.ldf和和STUDENTSLOG2.ldf,最大尺寸均为最大尺寸均为50MB,文件增长速度为,文件增长速度为1MB。要求。要求数据库文件和日志文件的物理文件都存放在数据库文件和日志文件的物理文件都存放在E盘的盘的DATA文件夹下。文件夹下。8.2.1创建数据库创建数据库返回返回CREATEDATABASESTUDENTSONPRIMARY(NAME=STUDENTS1,FILENAME=E:DA

22、TASTUDENTS1.mdf,SIZE=5,MAXSIZE=unlimited,FILEGROWTH=10%),(NAME=STUDENTS12,FILENAME=E:DATASTUDENTS2.ndf,SIZE=10,MAXSIZE=100,FILEGROWTH=1)LOGON(NAME=STUDENTSLOG1,FILENAME=E:DATASTUDENTSLOG1.ldf,SIZE=5,MAXSIZE=50,FILEGROWTH=1),(NAME=STUDENTSLOG2,FILENAME=E:DATASTUDENTSLOG2.ldf,SIZE=5,MAXSIZE=50,filegro

23、wth=1)返回返回建好数据库后,可以对其进展修正。修正数据建好数据库后,可以对其进展修正。修正数据库包括增减数据文件和日志文件、修正文件属库包括增减数据文件和日志文件、修正文件属性包括更改文件名和文件大小、修正数据性包括更改文件名和文件大小、修正数据库选项等。库选项等。8.2.2修正数据库修正数据库返回返回1、添加数据、添加数据库空空间1添加已有数据添加已有数据库文件的大小文件的大小在在图形界面下修正数据形界面下修正数据库运用运用T-SQL语句添加已有数据句添加已有数据库文件大小,文件大小,语法:法:ALTERDATABASE数据数据库名名MODIFYFILE(NAME=逻辑文件名文件名,S

24、IZE=文件大小文件大小,MAXSIZE=增增长限制限制)8.2.2修正数据库修正数据库返回返回【例【例8-5】为】为STUDENT2数据库添加容量,原来数据库添加容量,原来数据库文件数据库文件STUDENT2_DATA的初始分配空间的初始分配空间为为5M,如今将,如今将STUDENT2_DATA的分配空间添的分配空间添加至加至20M。ALTERDATABASESTUDENT2MODIFYFILE(NAME=STUDENT2_DATA,SIZE=20MB)8.2.2修正数据库修正数据库返回返回2添加数据添加数据库文件文件在在图形界面下修正数据形界面下修正数据库运用运用T-SQL语句添加数据句添

25、加数据库文件的数目,文件的数目,语法:法:ALTERDATABASE数据数据库名名ADDFILE|ADDLOGFILE(NAME=逻辑文件名文件名,FILE=物理文件名物理文件名,SIZE=文件大小文件大小,MAXSIZE=增增长限制限制)8.2.2修正数据库修正数据库返回返回【例【例8-6】为数据数据库STUDENT2添加数据文件添加数据文件STUDENT2_DATA1,初始大小,初始大小10M,最大,最大50M,按照,按照5%增增长。ALTERDATABASESTUDENT2ADDFILE(NAME=STUDENT2_DATA1,FILENAME=F:DATASTUDENT2_DATA1.

26、NDF,SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=5%)8.2.2修正数据库修正数据库返回返回2、缩减已有数据减已有数据库文件的大小文件的大小在在“对象象资源管理器窗口的数据源管理器窗口的数据库名上右名上右击,选择快捷菜快捷菜单中的中的“义务“收收缩“数据数据库,在出,在出现的的“收收缩数据数据库对话框中,框中,单击“确定按确定按钮,数据,数据库收收缩终了。了。假假设要收要收缩特定的数据文件或日志文件,特定的数据文件或日志文件,选择快捷菜快捷菜单中的中的“义务“收收缩“文件。文件。数据数据库的自的自动收收缩可以在数据可以在数据库的属性中的属性中“选项选项页面中面中设置

27、,只需将置,只需将选项中的中的“自自动收收缩设为“True即可。即可。8.2.2修正数据库修正数据库返回返回3、删除数据除数据库文件文件在在“MicrosoftSQLServerManagementStudio中,中,选择数据数据库属性窗口中的属性窗口中的“文件文件属性属性页,指定要,指定要删除的文件,除的文件,单击“删除按除按钮就可以就可以删除除对应的文件,从而的文件,从而缩减了数据减了数据库的空的空间。运用运用ALTERDATABASE的的REMOVEFILE子子句,可以句,可以删除指定的文件。除指定的文件。语法:法:ALTERDATABASE数据数据库名名REMOVEFILE逻辑文件名文

28、件名8.2.2修正数据库修正数据库返回返回【例【例8-7】将数据库】将数据库STUDENT2中添加的数据文中添加的数据文件件STUDENT2_DATA1删除。删除。ALTERDATABASESTUDENT2REMOVEFILESTUDENT2_DATA18.2.2修正数据库修正数据库返回返回4、数据、数据库更名更名方法一:数据方法一:数据库上右上右击鼠鼠标,在,在弹出的快捷菜出的快捷菜单中中选择“重命名。重命名。方法二:是运用系方法二:是运用系统存存储过程程sp_renamedb更改更改数据数据库的称号。在重命名数据的称号。在重命名数据库之前,之前,应该确确保没有用保没有用户正在运用正在运用该

29、数据数据库。语法如下:法如下:sp_renamedbdbname=old_name,newname=new_name8.2.2修正数据库修正数据库返回返回【例【例8-8】将已存在的数据】将已存在的数据库STUDENT2重命名重命名为STUDENT_BACK。新建一个新建一个查询页面。面。输入以下程序段并入以下程序段并执行此行此查询:SP_RENAMEDBSTUDENT2,STUDENT_BACK8.2.2修正数据库修正数据库返回返回1运用运用SQLServerManagementStudio删除数据除数据库2运用运用DROPDATABASE语句句删除数据除数据库DROPDATABASE数据数据

30、库名名【例【例8-9】删除已除已创建的数据建的数据库STUDENTS。新建一个新建一个查询页面。面。输入以下程序段并入以下程序段并执行此行此查询:DROPDATABASESTUDENTS阐明:不能明:不能删除用除用户权限之外的数据限之外的数据库;不能;不能删除当前除当前正在运用正翻开供用正在运用正翻开供用户读写的数据写的数据库;无法;无法删除除系系统数据数据库msdb、model、master、tempdb。8.2.3删除数据库删除数据库返回返回8.3表的操作表的操作在数据库中,表是由数据按一定的顺序和格式构成的在数据库中,表是由数据按一定的顺序和格式构成的数据集合,是数据库的主要对象。每一行

31、代表一条记数据集合,是数据库的主要对象。每一行代表一条记录,每一列代表记录的一个字段。录,每一列代表记录的一个字段。没有记录的表称为空表。没有记录的表称为空表。在在SQLServer2019中,每个数据库最多可包含中,每个数据库最多可包含20亿亿个表,每个表可包含个表,每个表可包含1,024个字段。每个表通常都有一个字段。每个表通常都有一个主关键字又称为主码,用于独一地确定一条记个主关键字又称为主码,用于独一地确定一条记录。在同一个表中不允许有一样称号的字段。录。在同一个表中不允许有一样称号的字段。返回返回8.3.1创建表建表创建好数据建好数据库后,数据后,数据库是空的,就像建造了一个空的房子

32、是空的,就像建造了一个空的房子,放入数放入数据后,才成据后,才成为真正的数据真正的数据库。数据。数据库中用于存中用于存储数据的当然是表,所数据的当然是表,所以需求在其中以需求在其中创建表。建表。1、设计表表对于于详细的某一个表,在的某一个表,在创建之前,需求确定表的以下特征:建之前,需求确定表的以下特征:表要表要包含的数据的包含的数据的类型;型;表中的列数,每一列中数据的表中的列数,每一列中数据的类型和型和长度假度假设必要;哪些列允必要;哪些列允许空空值;能否要运用以及何能否要运用以及何处运用运用约束、默束、默许设置和置和规那么;那么;所需索引的所需索引的类型,哪里需求索引,哪些列是主型,哪里

33、需求索引,哪些列是主键,哪些是外,哪些是外键。返回返回8.3.1创建表建表2、运用运用SQLServerManagementStudio创建表建表【例【例8-10】在数据】在数据库“STUDENT1中中创建建“学生表学生表S,学生表的表构造定学生表的表构造定义如表如表8-1所示。所示。返回返回表表8-1字段名字段数据类型长度是否为空说明学生号char7否主键姓名char8否性别char2否出生日期datetime8是入学时间datetime8是系部代号char2是专业char10是年级char9否返回返回8.3.1创建表建表翻开翻开SQLServerManagementStudio,在,在对象

34、象资源源管理器中,右管理器中,右键单击数据数据库的的“表表节点,点,选择“新建新建表命令。如下表命令。如下图。返回返回出出现表表设计器,在其上半部分器,在其上半部分输入列的根本入列的根本属性。在表属性。在表设计器下半部分的列属性,指定列器下半部分的列属性,指定列的的详细属性。如下属性。如下图。返回返回定定义好表中的一切列后,好表中的一切列后,单击保管按保管按钮或或“文件菜文件菜单中的中的“保管表名命令。如下保管表名命令。如下图。在在弹出的出的“选择称号称号对话框中,框中,为该表表键入一个称入一个称号,号,单击“确定按确定按钮。返回返回8.3.1创建表建表3、运用、运用Transact-SQL语

35、句来句来创建表建表语法如下:法如下:CREATETABLEdatabase_name.owner.|owner.table_name(|column_nameAScomputed_column_expression|,n)ONfilegroup|DEFAULTTEXTIMAGE_ONfilegroup|DEFAULT返回返回8.3.1创建表建表参数参数阐明:明:database_name:用于指定所:用于指定所创建表的数据建表的数据库称号。称号。database_name必需是必需是现有数据有数据库的的称号。假称号。假设不指定数据不指定数据库,database_name默默以以为当前数据当前数

36、据库。owner:用于指定新建表的一切者的用:用于指定新建表的一切者的用户名,名,owner必需是必需是database_name所指定的数据所指定的数据库中的中的现有用有用户名,名,owner默以默以为当前注册用当前注册用户名。名。返回返回table_name:用于指定新建表的称号。表名:用于指定新建表的称号。表名必需符合必需符合标识符符规那么。那么。对于数据于数据库来来说,database_name、owner_name及及object_name必需是独一的。表名最多不能超越必需是独一的。表名最多不能超越128个字符个字符column_name:用于指定新建表的列名。:用于指定新建表的列名

37、。返回返回computed_column_expression:用于指定:用于指定计算列的算列的列列值表达式。表达式可以是列名、常量、表达式。表达式可以是列名、常量、变量、函数量、函数等或它等或它们的的组合,所合,所谓计算列是一个虚算列是一个虚拟的列它的的列它的值并不并不实践存践存储在表中而是在表中而是经过对同一个表中其它列同一个表中其它列进展某种展某种计算而得到的算而得到的结果。果。ONfilegroup|DEFAULT:用于指定存:用于指定存储表的文件表的文件组名。假名。假设指定指定filegroup,那么表将存,那么表将存储在指定的文在指定的文件件组中。数据中。数据库中必需存在中必需存在

38、该文件文件组。假。假设运用了运用了DEFAULT选项,或者省略了,或者省略了ON子句,那么新建的表子句,那么新建的表会存会存储在默在默许的文件的文件组中。中。返回返回TEXTIMAGE_ON:用于指定:用于指定text、ntext和和image列的数据存列的数据存储的文件的文件组。假。假设表中没有表中没有text、ntext或或image列,那么不能运用列,那么不能运用TEXTIMAGE_ON。假。假设没有指定没有指定TEXTIMAGE_ON子句,那么子句,那么text、ntext和和image列的数据将与数据表存列的数据将与数据表存储在一在一样的文件的文件组中。中。返回返回上述创建表的语法中

39、上述创建表的语法中和和包含的内容如下:包含的内容如下::=column_namedata_type.n:=CONSTRAINTconstraint_nameNULL|NOTNULLPRIMARYKEY|UNIQUEFOREIGNKEY(column)REFERENCESref_table(ref_column)返回返回8.3.1创建表建表字段属性参数字段属性参数阐明:明:NULL和和NOTNULL:假:假设表的某一列被指表的某一列被指定具有定具有NULL属性,那么就允属性,那么就允许在插入数据在插入数据时省略省略该列的列的值。反之假。反之假设表的某一列被指定具表的某一列被指定具有有NOTNUL

40、L属性,那么就不允属性,那么就不允许在没有指定在没有指定列缺省列缺省值的情况下插入省略的情况下插入省略该列列值的数据行。的数据行。在在SQLServer中列的缺省属性是中列的缺省属性是NOTNULL。PRIMARYKEY:设置字段置字段为主主键。UNIQUE:设置字段具有独一性。置字段具有独一性。返回返回FOREIGNKEYREFERENCESref_table(ref_column):与其它表建立关:与其它表建立关联,其中其中ref_table表名表名ref_column列名列名留意:运用留意:运用Transact-SQL语句句创建表建表时,应先先翻开其所在的数据翻开其所在的数据库。翻开方式

41、如下:。翻开方式如下:use数据数据库称号称号返回返回8.3.1创建表建表【例【例8-11】在数据】在数据库“STUDENT1下下创建建“成果成果表表SCORE,表构造如表,表构造如表8-2所示。所示。列名数据类型长度是否允许为空值说明学生号定长字符(char)7否主键课程号定长字符(char)3否主键成绩整数型(tinyint)1是学分整数型(tinyint)1是返回返回8.3.1创建表建表在在SQLServerManagementStudio中新建一个中新建一个查询页面,在面,在页面内面内输入如下代入如下代码:USESTUDENT1GOCREATETABLESCORE(学生号学生号char

42、(7)NOTNULL,课程号程号char(3)NOTNULL,成果成果tinyint,学分学分tinyint,PRIMARYKEY(学生号学生号,课程号程号)返回返回8.3.1创建表建表【例【例8-12】创建一个学生信息表建一个学生信息表XSS,包,包括姓名、学号、性括姓名、学号、性别字段。其中字段。其中输入性入性别字段字段值时,只能接受,只能接受“男或者男或者“女,而不能接受女,而不能接受其他数据。其他数据。USESTUDENT1GOCREATETABLEXSS(学号学号char(12)PRIMARYKEY,姓名姓名 char(8),性性别char(2)CONSTRAINTchk_sexCH

43、ECK(性性别in(男男,女女)返回返回8.3.2修正表修正表当数据表的构造创建完成后,用户还可以根据当数据表的构造创建完成后,用户还可以根据实践需求随时更改表构造。用户可以添加、删实践需求随时更改表构造。用户可以添加、删除和修正字段,更改数据表称号等。除和修正字段,更改数据表称号等。返回返回8.3.2修正表修正表1.在在SQLServerManagementStudio中修正表中修正表(1)在在SQLServerManagementStudio的的“对象象资源管理器窗口中,源管理器窗口中,单击“数据数据库节点前的点前的“+号,展开号,展开“数据数据库节点;点;单击目的数目的数据据库前的前的“

44、+号,展开目的数据号,展开目的数据库。(2)单击“表表节点前的点前的“+号,展开号,展开“表表节点。在目的表上点。在目的表上单击鼠鼠标右右键,弹出快捷菜出快捷菜单,选择“修正命令。修正命令。(3)用表用表设计器向表中添加列、修正列的数据器向表中添加列、修正列的数据类型、列的数据型、列的数据长度、度、列的精度、列的小数位数、列的列的精度、列的小数位数、列的为空性。与空性。与创建表建表时一一样。返回返回8.3.2修正表修正表2运用运用T-SQL语句修正表句修正表ALTERTABLEtable_nameALTERCOLUMNcolumn_name/*修正已有列的属修正已有列的属性性*/new_dat

45、a_type(precision,scale)NULL|NOTNULL|ADD/*添加新列添加新列*/column_namedata_typePRIMARYKEY|constrainFOREIGNKEY(column)REFERENCESref_table(ref_column)|DROP/*删除列除列*/CONSTRAINTconstraint_name|COLUMNcolumn_name返回返回8.3.2修正表修正表【例【例8-13】在学生表中修正】在学生表中修正“姓名字段的属性,姓名字段的属性,使使该字段的数据字段的数据类型型为varchar(50),允,允许为空。空。USESTUDEN

46、T1ALTERTABLE学生学生ALTERCOLUMN姓名姓名varchar(50)NULL返回返回8.3.2修正表修正表【例【例8-14】在学生信息表】在学生信息表XSS中添加中添加“年年龄字字段,数据段,数据类型型为整型,可以整型,可以为空。空。USESTUDENT1GOALTERTABLEXSSADD年年龄int返回返回8.3.2修正表修正表【例【例8-15】删除学生信息表除学生信息表XSS中的中的“年年龄字字段。段。USESTUDENT1GOALTERTABLEXSSDROPCOLUMN年年龄返回返回8.3.3列约束和表约束列约束和表约束约束是经过限制列中数据、行中数据和表之间数据来约

47、束是经过限制列中数据、行中数据和表之间数据来保证数据完好性的非常有效的方法。约束可以确保把保证数据完好性的非常有效的方法。约束可以确保把有效的数据输入到列中和维护表和表之间的特定关系。有效的数据输入到列中和维护表和表之间的特定关系。其中列约束是针对表中一个列的约束,表约束是针对其中列约束是针对表中一个列的约束,表约束是针对表中一个或多个列的约束。表中一个或多个列的约束。MicrosoftSQLServer2019系统提供了系统提供了5种约束类型,即种约束类型,即PRIMARYKEY(主主键键)、FOREIGNKEY(外键外键)、UNIQUE、CHECK、DEFAULT约束。约束。返回返回8.3

48、.3列约束和表约束列约束和表约束1、创建和删除、创建和删除PRIMARYKEY主键约束主键约束主键约束在表中定义一个主键值,这是独一确定表中主键约束在表中定义一个主键值,这是独一确定表中每一行数据的标识符。在一切的约束类型中,主键约每一行数据的标识符。在一切的约束类型中,主键约束是最重要的一种约束类型,也是运用最广泛的约束束是最重要的一种约束类型,也是运用最广泛的约束类型。该约束强迫实体完好性。一个表中最多只能有类型。该约束强迫实体完好性。一个表中最多只能有一个主键,且主键列不允许空值。一个主键,且主键列不允许空值。主键经常定义在一个列上,但是也可以定义在多个列主键经常定义在一个列上,但是也可

49、以定义在多个列的组合上。当主键定义在多个列上时,虽然某一个列的组合上。当主键定义在多个列上时,虽然某一个列中的数据能够反复,但是这些列的组合值不能反复。中的数据能够反复,但是这些列的组合值不能反复。返回返回8.3.3列列约束和表束和表约束束定定义表的同表的同时设置主置主键约束束【例【例8-16】在】在“教学教学库数据数据库中中创建建“学生表,包括字段有:学生学生表,包括字段有:学生号,姓名,性号,姓名,性别、专业;学生号;学生号为主主键,USE教学教学库GOCREATETABLE学生学生(学生号学生号char(5)PRIMARYKEY,姓名姓名char(8)NOTNULL,性性别char(2)

50、,专业char(8)返回返回8.3.3列列约束和表束和表约束束【例【例8-17】在】在“教学教学库数据数据库中中创建建“课程表,包括字段:程表,包括字段:课程号,程号,课程名学分,其中程名学分,其中课程号程号为主主键。USE教学教学库GOCREATETABLE课程程(课程号程号char(4)PRIMARYKEY,课程名程名char(10)NOUNULL,学分学分int)返回返回8.3.3列列约束和表束和表约束束【例【例8-18】在】在“教学教学库数据数据库中中创建建“选课表,包括字段:学表,包括字段:学生号,生号,课程号,成果,其中学生号和程号,成果,其中学生号和课程号的程号的组合合为主主键。

51、USE教学教学库GOCREATETABLE选课(学生号学生号char(5),课程号程号char(3),成果成果int,CONSTRAINTpk_jsPRIMARYKEY(学生号学生号,课程号程号)返回返回8.3.3列约束和表约束列约束和表约束当创建约束时,可以指定约束的称号。否那么,当创建约束时,可以指定约束的称号。否那么,MicrosoftSQLServer系统将提供一个复杂的、系统将提供一个复杂的、系统自动生成的称号。对于一个数据库来说,系统自动生成的称号。对于一个数据库来说,约束称号必需是独一的。普通来说,约束的称约束称号必需是独一的。普通来说,约束的称号应该按照这种格式:约束类型简称号

52、应该按照这种格式:约束类型简称_表名表名_列列名名_代号。代号。返回返回8.3.3列列约束和表束和表约束束运用运用ADDCONSTRAINT子句添加子句添加约束束ALTERTABLEtable_nameADDCONSTRAINTconstraint_namePRIMARYKEYCLUSTERED|NONCLUSTERED(column,.n)返回返回8.3.3列列约束和表束和表约束束【例【例8-19】先在】先在“教学教学库数据数据库中中创建表建表XS,然后,然后经过修正表,修正表,对学号字段学号字段创建建PRIMARYKEY约束,并由系束,并由系统自自动创建聚集索引。建聚集索引。USE教学教学

53、库CREATETABLEXS(学号学号char(6)NOTNULL,姓名姓名char(8)NOTNULL,身份身份证号号char(20),性性别bitNOTNULL)ALTERTABLEXSADDCONSTRAINTph_xsPRIMARYKEYCLUSTERED(学号学号)返回返回8.3.3列列约束和表束和表约束束删除除PRIMARYKEY约束束ALTERTABLEtable_nameDROPCONSTRAINTconstraint_name,n【例【例8-20】删除除“教学教学库数据数据库中表中表XS的的PRIMARYKEY约束束ph_xs。ALTERTABLEXSDROPCONSTRAI

54、NTph_xs返回返回8.3.3列约束和表约束列约束和表约束2、创建和删除、创建和删除UNIQUE约束约束UNIQUE约束指定表中某一个列或多个列不能有一样约束指定表中某一个列或多个列不能有一样的两行或两行以上的数据存在。这种约束经过实现独的两行或两行以上的数据存在。这种约束经过实现独一性索引来强迫实体完好性。当表中曾经有了一个主一性索引来强迫实体完好性。当表中曾经有了一个主键约束时,假设需求在其他列上实现实体完好性,又键约束时,假设需求在其他列上实现实体完好性,又由于表中不能有两个或两个以上的主键约束,所以只由于表中不能有两个或两个以上的主键约束,所以只能经过创建能经过创建UNIQUE约束来

55、实现。普通地,把约束来实现。普通地,把UNIQUE约束称为候选的主键约束。约束称为候选的主键约束。返回返回8.3.3列列约束和表束和表约束束例如,在例如,在xs表中,主表中,主键约束束创建在建在“学号列上,学号列上,假假设这时还需求保需求保证该表中的存表中的存储“身份身份证号号列的数据是独一的,那么可以运用列的数据是独一的,那么可以运用UNIQUE约束。束。返回返回8.3.3列列约束和表束和表约束束创建表建表时设置置UNIQUE约束。束。【例【例8-21】创建建XS2表,主表,主键约束束创建在建在“学号列上,要求学号列上,要求“身身份份证号列的数据是独一的。号列的数据是独一的。USE教学教学库

56、GOCREATETABLEXS2(学号学号char(6)PRIMARYKEY,姓名姓名char(8)NOTNULL,身份身份证号号char(20)CONSTRAINTuk_xs2UNIQUE,性性别bitNOTNULL)返回返回8.3.3列列约束和表束和表约束束修正表修正表时设置置UNIQUE约束。束。ALTERTABLEtable_nameADDCONSTRAINTconstraint_nameUNIQUECLUSTERED|NONCLUSTERED(column,.n)返回返回8.3.3列列约束和表束和表约束束【例【例8-22】修正】修正XS表表“身份身份证号字段号字段值独一。独一。ALT

57、ERTABLEXSADDCONSTRAINTuk_xsUNIQUECLUSTERED(身份身份证号号)返回返回8.3.3列列约束和表束和表约束束(3)删除除UNIQUE约束束方法与方法与删除除PRIMARYKEY约束一束一样。【例【例8-23】删除除XS2表中表中创建的建的UNIQUE约束。束。ALTERTABLEXS2DROPCONSTRAINTuk_xs2返回返回8.3.3列列约束和表束和表约束束UNIQUE约束运用束运用时思索的思索的问题。UNIQUE约束所在的列允束所在的列允许空空值,但是主,但是主键约束所在束所在的列不允的列不允许空空值;一个表中可以有多个;一个表中可以有多个UNIQ

58、UE约束;束;可以把可以把UNIQUE约束放在一个或者多个列上,束放在一个或者多个列上,这些列些列或列的或列的组合必需有独一的合必需有独一的值,但是,但是,UNIQUE约束所束所在的列并不是表的主在的列并不是表的主键列;列;UNIQUE约束束强迫在指定迫在指定的列上的列上创建一个独一性索引。在默建一个独一性索引。在默许情况下,是情况下,是创建建独一性的非聚集索引。但是,在定独一性的非聚集索引。但是,在定义UNIQUE约束束时也可以指定所也可以指定所创建的索引是聚集索引。建的索引是聚集索引。返回返回8.3.3列列约束和表束和表约束束3、创建和建和删除除FOREIGNKEY约束在束在图形界形界面下

59、面下实现衔接表的步接表的步骤:在在“对象象资源管理器窗口中,展开数据源管理器窗口中,展开数据库,选择“数据数据库关系关系图,右,右击鼠鼠标,如下,如下图。返回返回8.3.3列列约束和表束和表约束束在在弹出的快捷菜出的快捷菜单中中选择“新建数据新建数据库关系关系图,出,出现“添加表窗口,如下添加表窗口,如下图。返回返回8.3.3列列约束和表束和表约束束选择要建立关要建立关联的表,的表,单击“添加按添加按钮,封,封锁“添加表窗口,出添加表窗口,出现表的关表的关联关系,如下关系,如下图。返回返回关关联图建好后再封建好后再封锁时会会弹出一窗口。出一窗口。假假设要保管更改,要保管更改,单击“是按是按钮,

60、出,出现“选择称号窗口,称号窗口,输入称号,入称号,单击“确定按确定按钮。返回返回8.3.3列约束和表约束列约束和表约束外键约束定义一个或多个列,这些列可以援用同一个外键约束定义一个或多个列,这些列可以援用同一个表或另外一个表中的主键约束列或表或另外一个表中的主键约束列或UNIQUE约束列。约束列。实践上,经过创建外键约束可以实现表和表之间的依实践上,经过创建外键约束可以实现表和表之间的依赖关系。赖关系。普通情况下,在普通情况下,在MicrosoftSQLServer关系型数据库管关系型数据库管理系统中,表和表之间经常存在着大量的关系,这些理系统中,表和表之间经常存在着大量的关系,这些关系都是

61、经过定义主键约束和外键约束实现的。关系都是经过定义主键约束和外键约束实现的。返回返回8.3.3列列约束和表束和表约束束利用利用CREATETABLE命令在命令在创建表建表时定定义外外键约束束【例【例8-24】在数据】在数据库STUDENT1中中创建一个学生成果表建一个学生成果表SC,包,包括:学号括:学号(主主键),课程代程代码,成果,并,成果,并为成果表成果表创建外建外键约束,束,该约束把束把“成果表中的成果表中的“学生号字段和学生表学生号字段和学生表S中的中的“学生号字学生号字段关段关联起来。起来。USESTUDENT1GOCREATETABLESC(学生号学生号char12CONSTRA

62、INTxs_xhFOREIGNKEYREFERENCESS(学生号学生号),课程号程号char(4),成果成果int)返回返回8.3.3列列约束和表束和表约束束利用利用ALTER命令添加外命令添加外键约束束语法格式:法格式:ALTERTABLEtable_nameADDCONSTRAINTconstraint_nameFOREIGNKEY(column,.n)REFERENCESref_table(ref_column,.n)返回返回8.3.3列列约束和表束和表约束束【例【例8-25】将】将“教学教学库数据数据库中学生表、中学生表、课程表和程表和选课表表进展关展关联,学生表和学生表和课程表程表

63、为主表,其中的学生号和主表,其中的学生号和课程号字段程号字段为主主键,选课表表为从表,将从表,将选课表的学生号和表的学生号和课程号字段定程号字段定义为外外键。USE教学教学库ALTERTABLE选课ADDCONSTRAINTxs_foreignFOREIGNKEY(学生号学生号)REFERENCES学生学生(学生号学生号)USE教学教学库ALTERTABLE选课ADDCONSTRAINTkc_foreignFOREIGNKEY(课程号程号)REFERENCES课程程(课程号程号)返回返回8.3.3列列约束和表束和表约束束删除外除外键约束束【例【例8-26】删除例除例8-24创建的外建的外键约束

64、。束。USESTUDENT1ALTERTABLESCDROPCONSTRAINTxs_xhGO返回返回8.3.3列约束和表约束列约束和表约束4、创建和删除、创建和删除CHECK约束约束CHECK约束用来限制用户输入某一个列的数约束用来限制用户输入某一个列的数据,即在该列中只能输入指定范围的数据。据,即在该列中只能输入指定范围的数据。CHECK约束的作用非常类似于外键约束,两约束的作用非常类似于外键约束,两者都是限制某个列的取值范围,但是外键是经者都是限制某个列的取值范围,但是外键是经过其他表来限制列的取值范围,过其他表来限制列的取值范围,CHECK约束约束是经过指定的逻辑表达式来限制列的取值范

65、围。是经过指定的逻辑表达式来限制列的取值范围。返回返回8.3.3列列约束和表束和表约束束例如,在描画学生性例如,在描画学生性别列中可以列中可以创建一个建一个CHECK约束,指定其取束,指定其取值范范围是是“男或者男或者“女。女。这样,当向,当向该列列输入数据入数据时,要么,要么输入入数据数据“男,要么男,要么输入数据入数据“女,而不能女,而不能输入入其他不相关的数据。其他不相关的数据。返回返回8.3.3列列约束和表束和表约束束利用利用SQL语句在句在创建表建表时创建建CHECK约束束创建建CHECK约束的束的语法格式:法格式:CREATETABLEtable_name(column_named

66、atatypeNOTNULL|NULLDEFAULTconstraint_expressioncheck_nameCHECK(logical_expression),n)返回返回8.3.3列约束和表约束列约束和表约束【例【例8-27】在】在STUDENT1数据库中创建表数据库中创建表books,其中包含,其中包含CHECK约束定义。约束定义。USESTUDENT1CREATETABLEbooks(book_idsmallintPRIMARYKEY,/*书号书号*/book_namevarchar(50)NOTNULL,/*书名书名*/max_lvltinyintNOTNULLCHECK(max

67、_lvl=0and成果成果=100)返回返回8.3.3列列约束和表束和表约束束利用利用SQL语句句删除除CHECK约束束语法格式:法格式:ALTERTABLEtable_nameDROPCONSTRAINTcheck_name返回返回8.3.3列约束和表约束列约束和表约束【例【例8-29】删除例】删除例8-28创建的创建的CHECK约束。约束。USEstudentALTERTABLE成果表成果表dropCONSTRAINTcj_constraint返回返回8.3.3列约束和表约束列约束和表约束一个列上可以定义多个一个列上可以定义多个CHECK约束;当执行约束;当执行INSERT语句或者语句或者

68、UPDATE语句时,该约束验语句时,该约束验证相应的数据能否满足证相应的数据能否满足CHECK约束的条件。约束的条件。但是,执行但是,执行DELETE语句时不检查语句时不检查CHECK约约束。束。返回返回8.3.3列列约束和表束和表约束束5、创建和建和删除除DEFAULT约束束当运用当运用INSERT语句插入数据句插入数据时,假,假设没有没有为某一个列某一个列指定数据,那么指定数据,那么DEFAULT约束就在束就在该列中列中输入一个入一个值。例如,在学生表的性例如,在学生表的性别列中定列中定义了一个了一个DEFAULT约束束为“男。当向男。当向该表中表中输入数据入数据时,假,假设没有没有为性性

69、别列列提供数据,那么提供数据,那么DEFAULT约束把缺省束把缺省值“男自男自动插插入到入到该列中。因此,列中。因此,DEFAULT约束可以束可以实现保保证域完域完好性。好性。返回返回8.3.3列列约束和表束和表约束束(1)在在创建表建表时定定义默默许值约束束普通格式:普通格式:CREATETABLEtable_name/*指定表名指定表名*/(column_namedatatypeNOTNULL|NULLDEFAULTconstraint_expression/*缺省缺省值约束表达式束表达式*/,n)/*定定义列名、数据列名、数据类型、型、标识列、能否空列、能否空值及定及定义缺省缺省值约束束

70、*/返回返回8.3.3列列约束和表束和表约束束【例【例8-30】先在】先在“教学教学库数据数据库中中创建表建表XS1,定,定义一个一个“入学日期入学日期字段的默字段的默许值为系系统当前日期。当前日期。USE教学教学库CREATETABLEXS1(学号学号char(6)NOTNULL,姓名姓名char(8)NOTNULL,专业名名char(10)NULL,性性别bitNOTNULL,出生出生时间smalldatetimeNOTNULL,总学分学分tinyintNULL,备注注textNULL,入学日期入学日期datetimeDEFAULTgetdate()/*定定义默默许值约束束*/)返回返回8

71、.3.3列列约束和表束和表约束束阐明:没有运用明:没有运用“CONSTRAINT约束名那么运用系束名那么运用系统定定义的称号。的称号。(2)在修正表在修正表时定定义默默许值约束束【例【例8-31】修正】修正XS1表,添加一字段表,添加一字段AddDate,并,并为其其设置默置默许值约束,默束,默许值为当前日期。当前日期。USE教学教学库ALTERTABLExs1ADDAddDatesmalldatetimeNULLCONSTRAINTAddDateDflt/*默默许值约束名束名*/DEFAULTgetdate()返回返回8.3.3列约束和表约束列约束和表约束(3)删除默许值约束删除默许值约束【

72、例【例8-32】删除例】删除例8-31定义的默许值约束。定义的默许值约束。USE教学库教学库ALTERTABLEXS1DROPCONSTRAINTAddDateDflt返回返回8.3.3列约束和表约束列约束和表约束(4)定义定义DEFAULT约束时应思索的问题约束时应思索的问题定义的常量值必需与该列的数据类型和精度是一致的;定义的常量值必需与该列的数据类型和精度是一致的;DEFAULT约束只能运用于约束只能运用于INSERT语句;语句;每一个列只能定义一个每一个列只能定义一个DEFAULT约束。约束。DEFAULT约束约束不能放在有不能放在有IDENTITY属性的列上或者数据类型为属性的列上或

73、者数据类型为timestamp的列上。由于这两种列都会由系统自动提供数的列上。由于这两种列都会由系统自动提供数据。据。DEFAULT约束允许指定一些由系统函数提供的值,这些约束允许指定一些由系统函数提供的值,这些系统函数包括系统函数包括SYSTEM_USER、GETDATE、CURRENT_USER等。等。返回返回8.3.4表数据操作表数据操作表的根本构造建好后,表内没有数据,我们可表的根本构造建好后,表内没有数据,我们可以在以在SQLServer管理控制台中非常方便地对数管理控制台中非常方便地对数据执行各种操作,也可以利用据执行各种操作,也可以利用Transact-SQL中中的命令完成相应的

74、功能。的命令完成相应的功能。返回返回8.3.4表数据操作表数据操作1、输入数据入数据(1)利用利用SQLServer管理控制台管理控制台输入数据:入数据:在在“对象象资源管理器窗口中,展开数据源管理器窗口中,展开数据库和表,和表,右右键单击表名,表名,弹出快捷菜出快捷菜单,选择“翻开表翻开表如下如下图。返回返回8.3.4表数据操作表数据操作出出现一个空表一个空表,如左,如左图所示。所示。输入数据,如右入数据,如右图所示。所示。返回返回8.3.4表数据操作表数据操作(2)利用利用Transact-SQL中的命令完成数据插入。中的命令完成数据插入。语法格式如下:语法格式如下:INSERTINTOt

75、able_name(column_list)VALUES(expression,.n)返回返回8.3.4表数据操作表数据操作语法注法注释:INTO:一个可:一个可选的关的关键字,可以将它用在字,可以将它用在INSERT和目的表之和目的表之间。table_name:将要接:将要接纳数据的表或数据的表或table变量的称号。量的称号。column_list:要在其中插入数据的一列或多列的列表。必需用:要在其中插入数据的一列或多列的列表。必需用圆括号将括号将column_list括起来,并且用逗号括起来,并且用逗号进展分隔。展分隔。VALUES:引入要插入的数据:引入要插入的数据值的列表。的列表。对

76、于于column_list中或者表中或者表中的每个列,都必需有一个数据中的每个列,都必需有一个数据值。必需用。必需用圆括号将括号将值列表括起来。列表括起来。假假设VALUES列表中的列表中的值与表中列的与表中列的顺序不一序不一样,或者未包含表中,或者未包含表中一切列的一切列的值,那么必需运用,那么必需运用column_list明确地指定存明确地指定存储每个每个传入入值的的列。列。返回返回8.3.4表数据操作表数据操作【例【例8-33】在】在STUDENT1数据库的学生信息数据库的学生信息(XSS)表中插入一行数据学号、姓名、性别表中插入一行数据学号、姓名、性别。USESTUDENTINSERT

77、intoxsxx(学号,姓名,性别学号,姓名,性别)VALUES(112,杨丽杨丽,女女)返回返回8.3.4表数据操作表数据操作2、修正表中的数据、修正表中的数据(1)运用运用SQLServerManagementStudio修正数修正数据据在在SQLServerManagementStudio中,中,选择相相应的表,鼠的表,鼠标右右击后,在后,在弹出的快捷菜出的快捷菜单中中选择“翻开表命令,出翻开表命令,出现表数据窗口,在表数据窗口,在该窗窗口中,可以直接口中,可以直接对数据数据进展修正操作。展修正操作。返回返回8.3.4表数据操作表数据操作(2)利用利用T-SQL中的命令完成对数据的修正中

78、的命令完成对数据的修正语法格式如下:语法格式如下:UPDATEtable_nameSETcolumn_name=expression,.nwherecondition_expression返回返回8.3.4表数据操作表数据操作语法注法注释:table_name:需求更新的表的称号。:需求更新的表的称号。SET:指定要更新的列或:指定要更新的列或变量称号的列表。量称号的列表。column_name:含有要更改数据的列的称号。:含有要更改数据的列的称号。expression:列:列值表达式。表达式。condition_expression:条件表达式。:条件表达式。对条件的个条件的个数没有限制。数

79、没有限制。假假设没有没有WHERE子句,那么子句,那么UPDATE将会修正表将会修正表中的每一行数据。中的每一行数据。返回返回8.3.4表数据操作表数据操作【例【例8-34】在】在STUDENT1数据数据库的学生信息的学生信息(XSS)表中的表中的“性性别字段的字段的值设为“男。男。USESTUDENT1UPDATEXSSSET性性别=男男返回返回8.3.4表数据操作表数据操作【例【例8-35】在】在STUDENT1数据数据库的学生表中添加一字的学生表中添加一字段段“备注注varchar(20);“备注字段信息注字段信息为已已毕业。USESTUDENT1ALTERTABLESAdd备注注var

80、char(20)UPDATE学生学生SET备注注=已已毕业返回返回8.3.4表数据操作表数据操作【例【例8-36】在学生信息】在学生信息(XSS)表中,将学号表中,将学号为112的学生姓名改的学生姓名改为“王武王武USESTUDENT1UPDATEXSSSET姓名姓名=王武王武WHERE学号学号=112返回返回8.3.4表数据操作表数据操作3、删除数据除数据(1)运用运用SQLServerManagementStudio删除数据除数据在在SQLServerManagementStudio中,中,选择相相应的表,的表,鼠鼠标右右击后,在后,在弹出的快捷菜出的快捷菜单中中选择“翻开表命令,翻开表命

81、令,出出现表数据窗口,在表数据窗口,在该窗口中窗口中选择要要删除的除的记录,右,右击后,在后,在弹出的快捷菜出的快捷菜单中中选择“删除命令。除命令。返回返回8.3.4表数据操作表数据操作(2)利用利用T-SQL中的命令删除数据中的命令删除数据T-SQL中提供中提供DELETE命令删除表中数据,命令删除表中数据,其语法格式如下:其语法格式如下:DELETEtable_nameWHEREcondition_expression返回返回8.3.4表数据操作表数据操作table_name:是要从其中:是要从其中删除行的表的称号。除行的表的称号。WHERE:指定用于限制:指定用于限制删除行数的条件。除行

82、数的条件。假假设没有提供没有提供WHERE子句,那么子句,那么DELETE删除表中的一切行。除表中的一切行。condition_expression:指定:指定删除行的限定条除行的限定条件。件。对条件的个数没有限制。条件的个数没有限制。返回返回8.3.4表数据操作表数据操作【例【例8-37】删除学生信息除学生信息(XSS)表中,将学号表中,将学号为112的学生的学生记录删除。除。USESTUDENT1DELETEXSSWHERE学号学号=112返回返回8.3.4表数据操作表数据操作(3)运用运用TRUNCATETABLE清空表格清空表格语法格式如下:语法格式如下:TRUNCATETABLEta

83、ble_name其中:其中:table_name:为要删除一切记录的表名。:为要删除一切记录的表名。TRUNCATETABLE与不含有与不含有WHERE子句的子句的DELETE语句在功语句在功能上一样。但是,能上一样。但是,TRUNCATETABLE速度更快,并且运用更少速度更快,并且运用更少的系统资源和事务日志资源。的系统资源和事务日志资源。【例【例8-38】清空学生信息】清空学生信息(XSS)表中的数据表中的数据TRUNCATETABLEXSS返回返回8.3.5删除表删除表删除表就是将表中数据和表的构造从数据库中删除表就是将表中数据和表的构造从数据库中永久性地去除。表被删除之后,就不能再恢

84、复永久性地去除。表被删除之后,就不能再恢复该表的定义。该表的定义。返回返回8.3.5删除表除表1、运用、运用SQLServerManagementStudio删除除表表翻开翻开SQLServerManagementStudio,展开,展开“数据数据库,再展开,再展开“表,右表,右击要要删除的表,除的表,在在弹出的快捷菜出的快捷菜单中中选择“删除命令,在随除命令,在随后出后出现的的“删除除对象象对话框中框中单击“确定按确定按钮,即可完成指定表的,即可完成指定表的删除操作。除操作。返回返回返回返回8.3.5删除表删除表2.用用T-SQL语句删除表语句删除表可以利用可以利用T-SQL语句中的语句中的

85、DROPTABLE命令删命令删除一个或多个数据表。其语法格式如下:除一个或多个数据表。其语法格式如下:DROPTABLEtable_name,.n【例【例8-39】删除学生信息】删除学生信息(XSS)表表DROPTABLEXSS返回返回8.4数据数据库的的导入入/导出出经过导入和入和导出数据的操作可以在出数据的操作可以在SQLServer2019和和其他异其他异类数据源例如数据源例如Excel或或Oracle数据数据库之之间轻松挪松挪动数据。数据。“导出是指将数据从出是指将数据从SQLServer表复制表复制到数据文件。到数据文件。“导入是指将数据从数据文件加入是指将数据从数据文件加载到到SQ

86、LServer表。表。在在SQLServer2019中中导入和入和导出数据的操作可以在出数据的操作可以在SQLServerManagementStudio中运用中运用导游来完成,也游来完成,也可以可以经过执行行T-SQL语句来完成。本句来完成。本书只引只引见前一种方前一种方法的数据法的数据库数据的数据的导入入/导出。出。返回返回8.4.1数据库数据导出数据库数据导出数据的导出是将一个数据的导出是将一个SQLServer数据库中的数据数据库中的数据导出到一个文本文件、电子表格或其他格式导出到一个文本文件、电子表格或其他格式的数据库中。的数据库中。返回返回8.4.1数据数据库数据数据导出出详细操作

87、步操作步骤:在在“对象象资源管理器中,展开数据源管理器中,展开数据库,右,右键单击要要导出数据所在的数据出数据所在的数据库,弹出快捷菜出快捷菜单,选择“义务级联菜菜单中的中的“导出数据出出数据出现SqlServer导入入导出出导游游-欢迎运用迎运用导入入导出出导游,如下游,如下图。返回返回返回返回单击“下一步按下一步按钮,出,出现SqlServer导入入导出出导游游-选择数据源数据源对话框。框。单击“下一步按下一步按钮,出,出现选择目的目的对话框,如下框,如下图。选择目的,确定存放位置、文件名,目的,确定存放位置、文件名,单击“下一步下一步按按钮,出,出现指定表复制或指定表复制或查询窗口。窗口

88、。单击“下一步按下一步按钮,出,出现“选择源表或源源表或源视图对话框。框。返回返回单击“下一步按下一步按钮,出,出现“保管并保管并执行包行包对话框。框。单击“下一步按下一步按钮,出,出现“完成完成该导游游对话框。框。单击“完成按完成按钮,出,出现“执行行胜利利对话框。框。单击“封封锁按按钮即可。即可。返回返回8.4.2数据库数据导入数据库数据导入数据导入是将其他格式的数据如:文本数据、数据导入是将其他格式的数据如:文本数据、Access、Excel、FoxPro等导入到等导入到SQLServer数数据库中。据库中。【例【例8-40】将一个】将一个excel文件导入到文件导入到STUDENT1数

89、数据库中。据库中。返回返回8.4.2数据数据库数据数据导入入详细操作步操作步骤:1在在“对象象资源管理器中,展开数据源管理器中,展开数据库,右,右键单击要要导出数据所出数据所在的数据在的数据库,弹出快捷菜出快捷菜单,选择“义务级联菜菜单中的中的“导入数据入数据出出现SqlServer导入入导出出导游游-欢迎运用迎运用导入入导出出导游。游。2单击“下一步按下一步按钮,出,出现“选择数据源数据源对话框,框,选择数文件数文件格式,文件途径。格式,文件途径。3单击“下一步按下一步按钮,出,出现“选择目的目的对话框,框,选择数据数据库。4单击“下一步按下一步按钮,出,出现“制定表复制或制定表复制或查询对话框,框,选中中“复制一个或多个表或复制一个或多个表或视图的数据的数据返回返回8.4.2数据数据库数据数据导入入5单击“下一步按下一步按钮,出,出现“保管并保管并执行行对话框。框。6单击“下一步按下一步按钮,出,出现“完成完成该导游游对话框。框。7单击“下一步按下一步按钮,出,出现“正在正在执行行导游游对话框。框。8执行行胜利出利出现对话框。框。单击“封封锁按按钮,数据数据导入完成。入完成。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

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