项目2-数据库及数据表的创建与维护._第1页
项目2-数据库及数据表的创建与维护._第2页
项目2-数据库及数据表的创建与维护._第3页
项目2-数据库及数据表的创建与维护._第4页
项目2-数据库及数据表的创建与维护._第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 项目2:数据库及数据表的创建与维护 项目2:数据库及数据表的创建与维护 任务2-1:系统数据库管理 任务2-2:用户数据库的创建、修改和删除 任务2-3:数据表的创建、修改和删除 任务2-4:数据表记录的添加、修改和删除 任务2-5:数据完整性 2 项目2:数据库及数据表的创建与维护 项目2:数据库及数据表的创建与维护 在在SQL Server 2008中,用户如何访问及使用数据库,就中,用户如何访问及使用数据库,就 需要正确了解数据库中所有对象及其设置。数据库就像一个容需要正确了解数据库中所有对象及其设置。数据库就像一个容 器,它里面除了存放着数据的表之外,还有视图、存储过程、器,它里面

2、除了存放着数据的表之外,还有视图、存储过程、 触发器、约束等数据库对象。数据库管理的核心任务包括创建、触发器、约束等数据库对象。数据库管理的核心任务包括创建、 操作和维护数据库。操作和维护数据库。 在在SQL Server 2008中,数据库是表、视图、存储过程、中,数据库是表、视图、存储过程、 触发器等数据库对象的集合,是数据库管理系统的核心内容。触发器等数据库对象的集合,是数据库管理系统的核心内容。 为了更好地学习并理解数据库,首先来了解一个数据库的组成为了更好地学习并理解数据库,首先来了解一个数据库的组成 及其数据库中的数据文件、事务日志文件及文件组等基本概念。及其数据库中的数据文件、事

3、务日志文件及文件组等基本概念。 3 项目2:数据库及数据表的创建与维护 任务2-1:系统数据库管理 SQL Server 2008SQL Server 2008将数据库映射为一组操作系统文件,数据和日将数据库映射为一组操作系统文件,数据和日 志信息分别存储在不同的文件中。志信息分别存储在不同的文件中。 数据文件数据文件 数据库文件数据库文件 事务日志文件事务日志文件 用于存储数据库用于存储数据库 中的所有对象,中的所有对象, 如表、视图、存如表、视图、存 储过程等储过程等 用以记录所有事用以记录所有事 务及每个事务对务及每个事务对 数据库所做的修数据库所做的修 改改 2-12-1 4 项目2:

4、数据库及数据表的创建与维护 任务2-1:系统数据库管理 数据文件数据文件:数据文件用于存储数据库中的所有对象,如表、视图、存数据文件用于存储数据库中的所有对象,如表、视图、存 储过程等储过程等 。 主要数据文件主要数据文件 次要数据文件次要数据文件 l包含数据库的启动信息和数据库中其他文件的指包含数据库的启动信息和数据库中其他文件的指 针。每个数据库有且仅有一个主要数据文件,主针。每个数据库有且仅有一个主要数据文件,主 要数据文件的建议文件扩展名为要数据文件的建议文件扩展名为.mdf.mdf。 l次要数据文件是可选的,由用户定义并存储主要次要数据文件是可选的,由用户定义并存储主要 数据文件未存

5、储的其他数据和对象,建议文件扩数据文件未存储的其他数据和对象,建议文件扩 展名为展名为.ndf.ndf。 【注意注意】次要数据文件不是必须的,如果主要数据文件足够大,能够容次要数据文件不是必须的,如果主要数据文件足够大,能够容 纳数据库中的所有数据,则该数据库不需要次要数据文件;但有些数据纳数据库中的所有数据,则该数据库不需要次要数据文件;但有些数据 库可能非常大,超过了单个库可能非常大,超过了单个WindowsWindows文件的最大值文件的最大值(4G)(4G),可以使用多个,可以使用多个 次要数据文件,这样数据库就能继续增长。次要数据文件,这样数据库就能继续增长。 5 项目2:数据库及数

6、据表的创建与维护 任务2-1:系统数据库管理 【说明说明】SQL Server 2008SQL Server 2008不强制使用不强制使用.mdf.mdf、.ndf.ndf和和.ldf.ldf文件扩展名,但使文件扩展名,但使 用它们有助于标识文件的各种类型和用户用它们有助于标识文件的各种类型和用户 。 SQL Server 2008SQL Server 2008的每个数据库文件都有一个逻辑文件名和一个物理的每个数据库文件都有一个逻辑文件名和一个物理 文件名。逻辑文件名只在文件名。逻辑文件名只在Transact-SQLTransact-SQL语句中使用,是实际磁盘文件名的语句中使用,是实际磁盘文

7、件名的 代号。物理文件名是操作系统文件的实际名字,包括文件所在的路径。代号。物理文件名是操作系统文件的实际名字,包括文件所在的路径。 事务日志文件事务日志文件:用以记录所有事务及每个事务对数据库所做的修改。用以记录所有事务及每个事务对数据库所做的修改。 l每个每个SQL Server 2008SQL Server 2008数据库至少拥有一个事务日志文件,也可以拥有数据库至少拥有一个事务日志文件,也可以拥有 多个事务日志文件。多个事务日志文件。 l事务日志文件的大小最少是事务日志文件的大小最少是1MB1MB。 l事务日志是数据库的重要组件,当系统出现故障或数据库遭到破坏时,事务日志是数据库的重要

8、组件,当系统出现故障或数据库遭到破坏时, 就需要使用事务日志恢复数据库内容。就需要使用事务日志恢复数据库内容。 l日志文件的建议文件扩展名为日志文件的建议文件扩展名为.ldf.ldf。 6 项目2:数据库及数据表的创建与维护 任务2-1:系统数据库管理 2 2、数据库文件组、数据库文件组 多个数据文件集合起来形成的一个整体就是文件组。对文件进行多个数据文件集合起来形成的一个整体就是文件组。对文件进行 分组的目的是便于进行管理和进行数据的分配。分组的目的是便于进行管理和进行数据的分配。 l 每个文件组有一个组名。一个数据文件不能存在于两个或两个以上的每个文件组有一个组名。一个数据文件不能存在于两

9、个或两个以上的 文件组里,日志文件不属于任何文件组。文件组里,日志文件不属于任何文件组。 l 主文件组主文件组:包含了所有的系统表。当建立数据库时,主文件组包括主:包含了所有的系统表。当建立数据库时,主文件组包括主 要数据文件和所有没有被包含在其他文件组里的次要数据文件。要数据文件和所有没有被包含在其他文件组里的次要数据文件。 l 用户自定义文件组用户自定义文件组:用户自定义文件组包含所有在使用用户自定义文件组包含所有在使用CREATE DATABCREATE DATAB ASEASE或或 ALTER DATABASEALTER DATABASE命令时使用命令时使用FILEGROUPFILEG

10、ROUP关键字来进行指定文件关键字来进行指定文件 组的文件。组的文件。 l 默认文件组默认文件组:默认文件组包含所有在创建时没有指定文件组的表、索默认文件组包含所有在创建时没有指定文件组的表、索 引等数据库对象。在每个数据库中,每次只能有一个文件组是默认文引等数据库对象。在每个数据库中,每次只能有一个文件组是默认文 件组。可以在用户自定义文件组中指定一个默认文件组;如果没有指件组。可以在用户自定义文件组中指定一个默认文件组;如果没有指 定默认文件组,则主文件组为默认文件组。定默认文件组,则主文件组为默认文件组。 7 项目2:数据库及数据表的创建与维护 任务2-1:系统数据库管理 3 3、数据库

11、的物理存储结构、数据库的物理存储结构 l 页面和盘区页面和盘区 l SQL Server 2008SQL Server 2008中数据存储的基本单位是页。中数据存储的基本单位是页。 l 为数据库中的数据文件(为数据库中的数据文件(.mdf.mdf或或.ndf.ndf)分配的磁盘空间可以从逻辑上)分配的磁盘空间可以从逻辑上 划分成页。划分成页。 l 在在SQL Server 2008SQL Server 2008中,页的大小是中,页的大小是8KB8KB,SQL Server 2008SQL Server 2008数据库每兆数据库每兆 字节有字节有128128页。页。 l 由由8 8个连续页面(个

12、连续页面(8 88KB=64KB8KB=64KB)组成的数据结构称为一个盘区,)组成的数据结构称为一个盘区,SQL SSQL S erver 2008erver 2008数据库每兆字节有数据库每兆字节有1616个盘区个盘区 。 8 项目2:数据库及数据表的创建与维护 任务2-1:系统数据库管理 简单地说,一个数据库是由文件组成的,文件是由盘区组成,而盘简单地说,一个数据库是由文件组成的,文件是由盘区组成,而盘 区是由页面组成的。区是由页面组成的。 【注意注意】数据行存放在数据页中,但数据页只能包含除数据行存放在数据页中,但数据页只能包含除texttext、ntextntext和和imageim

13、age 数据外的所有数据,数据外的所有数据,texttext、ntextntext和和imageimage数据存储在单独的页中。行不能跨数据存储在单独的页中。行不能跨 页存储,而每数据页是页存储,而每数据页是8KB8KB,严格地说是,严格地说是8060B8060B,因此页中每一行最多包含的,因此页中每一行最多包含的 数据量是数据量是8060B 8060B 。日志文件是由一系列日志记录组成,而不是页面。日志文件是由一系列日志记录组成,而不是页面。 9 项目2:数据库及数据表的创建与维护 任务2-1:系统数据库管理 4 4、 SQL Server 2008SQL Server 2008数据库的分类

14、数据库的分类 1 系系 统统 数数 据据 库库 2 示示 例例 数数 据据 库库 3 用用 户户 数数 据据 库库 10 项目2:数据库及数据表的创建与维护 任务2-1:系统数据库管理 3 3)系统数据库)系统数据库 系统数据库是在系统数据库是在SQL Server 2008SQL Server 2008的每个实例中都存在的标准数据库,的每个实例中都存在的标准数据库, 用于存储有关用于存储有关SQL ServerSQL Server的信息,的信息,SQL ServerSQL Server使用系统数据库来管理系使用系统数据库来管理系 统。统。 1 1)示例数据库)示例数据库 AdventureW

15、orksAdventureWorks和和AdventureWorks DWAdventureWorks DW是是SQL Server 2008SQL Server 2008中的示例数据中的示例数据 库,是系统为了让用户学习和理解库,是系统为了让用户学习和理解SQL Server 2008SQL Server 2008而设计的。而设计的。 2 2)用户数据库)用户数据库 用户数据库是用户根据事务管理需求创建的数据库,例如,图书信息用户数据库是用户根据事务管理需求创建的数据库,例如,图书信息 管理数据库、管理数据库、salessales数据库等。数据库等。 11 项目2:数据库及数据表的创建与维护

16、 任务2-1:系统数据库管理 master数据库:数据库:SQL Server 2008中的总控数据库,是中的总控数据库,是最重要最重要的的 系统数据库。系统是根据系统数据库。系统是根据master数据库中的信息来管理系统和其数据库中的信息来管理系统和其 他数据库。如果他数据库。如果master数据库信息被破坏,整个数据库信息被破坏,整个SQL Server系系 统将受到影响,用户数据库将不能被使用。统将受到影响,用户数据库将不能被使用。 model数据库:数据库:用户建立新数据库提供用户建立新数据库提供模板和原型模板和原型,它包含了将,它包含了将 复制到每个新建数据库中的系统表。复制到每个新

17、建数据库中的系统表。 msdb数据库:数据库:支持支持SQL Server代理代理 。当代理程序调度作业、记。当代理程序调度作业、记 录操作时,系统要用到或实时产生很多相关信息,这些信息一般录操作时,系统要用到或实时产生很多相关信息,这些信息一般 存储在存储在msdb数据库中。数据库中。 tempdb数据库:数据库:临时数据库,保存所有的临时表、临时数据以临时数据库,保存所有的临时表、临时数据以 及临时创建的存储过程。及临时创建的存储过程。 resource数据库:数据库:只读和隐藏的数据库,包含只读和隐藏的数据库,包含SQL Server 2008 所有的系统对象,我们无法使用可以列出所有数

18、据库的一般所有的系统对象,我们无法使用可以列出所有数据库的一般SQL 命令来看到它。命令来看到它。 12 项目2:数据库及数据表的创建与维护 任务2-1:系统数据库管理 5 5、数据库对象的结构、数据库对象的结构 l 架构是一种允许我们对数据库对象进行分组的容器对象,是形成单架构是一种允许我们对数据库对象进行分组的容器对象,是形成单 个命名空间的数据库对象的集合。个命名空间的数据库对象的集合。 l 命名空间是一个集合,其中每个元素的名称都是唯一的。命名空间是一个集合,其中每个元素的名称都是唯一的。 l 在在SQL Server 2008中,一个数据库对象通过由中,一个数据库对象通过由4个命名部

19、分组成的个命名部分组成的 结构来引用,即:结构来引用,即: server_name.database_name.schema_name.object_name 对象所在的服务器名称 对象所在的数据库名称 对象的架构名称 对象名 l 如果应用程序引用了一个没有限定架构的数据库对象,那么如果应用程序引用了一个没有限定架构的数据库对象,那么SQL Server 2008将尝试在用户的默认架构(通常为将尝试在用户的默认架构(通常为dbo)中找出这个)中找出这个 对象。对象。 例如,引用服务器例如,引用服务器“HBSI”上的数据库上的数据库“sales”中的销售员表中的销售员表“S eller”时,完整

20、的引用为时,完整的引用为“HBSI.sales.dbo.Seller”。 l 在实际引用时,在能够区分对象的前提下,前三个部分是可以根在实际引用时,在能够区分对象的前提下,前三个部分是可以根 据情况省略的。据情况省略的。 13 项目2:数据库及数据表的创建与维护 任务2-2:用户数据库的创建、修改和删除 1 1、创建数据库、创建数据库 创建数据库创建数据库 使用使用SQL Server Management Studio创建数据创建数据 库库 。 使用使用Transact- SQL语句创建数语句创建数 据库据库 优点:优点:简单直观简单直观 优点:可以将创建优点:可以将创建 数据库的数据库的脚

21、本脚本保存保存 下来,在其他计算下来,在其他计算 机上运行以创建相机上运行以创建相 同的数据库同的数据库 2 2 - - 2 2 14 项目2:数据库及数据表的创建与维护 任务2-2:用户数据库的创建、修改和删除 1 1)使用)使用SQL Server Management StudioSQL Server Management Studio创建数据库创建数据库 15 项目2:数据库及数据表的创建与维护 任务2-2:用户数据库的创建、修改和删除 CREATE DATABASE database_name ON ,.n , ,.n LOG ON ,.n := PRIMARY ( NAME = l

22、ogical_file_name , FILENAME = os_file_name , SIZE = size , MAXSIZE = max_size | UNLIMITED , FILEGROWTH = growth_increment ) ,.n :=FILEGROUP filegroup_name ,.n 2 2)使用)使用Transact-SQLTransact-SQL语句创建数据库语句创建数据库 教材教材P45P45。 指明主要数据文件、次要数指明主要数据文件、次要数 据文件和文件组的明确定义据文件和文件组的明确定义 事务日志文件的明确定义事务日志文件的明确定义 数据库的名称数据

23、库的名称 16 项目2:数据库及数据表的创建与维护 任务2-2:用户数据库的创建、修改和删除 附录:附录:Transact-SQLTransact-SQL语法约定参考说明语法约定参考说明 l大写大写 Transact-SQL 关键字。关键字。 l粗体粗体 数据库名、表名、列名、索引名、存储过程、实用工具、数据类型名以及按所显示的原样必须键入的文本。数据库名、表名、列名、索引名、存储过程、实用工具、数据类型名以及按所显示的原样必须键入的文本。 l (方括号)(方括号) 可选语法项。不要键入方括号。可选语法项。不要键入方括号。 l() 说明。说明。 l,.n 此项可以重复此项可以重复 n 次,各项

24、之间以逗号分隔。次,各项之间以逗号分隔。 l.n 指示前面的项可以重复指示前面的项可以重复 n 次。每一项由空格分隔。次。每一项由空格分隔。 l := 语法块的名称。此约定用于对可在语句中的多个位置使用的过长语法段或语法单元进行分组和标记。可使用语法块的语法块的名称。此约定用于对可在语句中的多个位置使用的过长语法段或语法单元进行分组和标记。可使用语法块的 每个位置由括在尖括号内的标签指示:每个位置由括在尖括号内的标签指示:。 l (大括号)(大括号) 必选语法项。不要键入大括号。必选语法项。不要键入大括号。 l|(竖线)(竖线) 大括号中的语法项。只能使用其中一项。大括号中的语法项。只能使用其

25、中一项。 l; Transact-SQL 语句终止符。虽然在此版本的语句终止符。虽然在此版本的 SQL Server 中大部分语句不需要分号,但将来的版本需要分号。中大部分语句不需要分号,但将来的版本需要分号。 l斜体斜体 用户提供的用户提供的 Transact-SQL 语法的参数。语法的参数。 l下划线下划线 指示当语句中省略了包含带下划线的值的子句时应用的默认值。指示当语句中省略了包含带下划线的值的子句时应用的默认值。 17 项目2:数据库及数据表的创建与维护 任务2-2:用户数据库的创建、修改和删除 CREATE DATABASE sample ON PRIMARY (NAME=samp

26、le_dat, FILENAME=d:datasample_data.mdf, SIZE=5, MAXSIZE=50, FILEGROWTH=10 ) 该语句需在该语句需在“查询查询 编辑器编辑器”中输入并执行中输入并执行 例例 创建一个数据库创建一个数据库sample。主文件为。主文件为sample_dat。 【说明说明】 l 由于没有为主要数据文件指定容量单位,系统默认为由于没有为主要数据文件指定容量单位,系统默认为MBMB。 l 由于在创建时没有指定日志文件,系统将自动创建一个初始由于在创建时没有指定日志文件,系统将自动创建一个初始 容量为容量为2MB2MB的日志文件并且没有最大容量限制

27、。的日志文件并且没有最大容量限制。 l 如果在查询语句编辑区域选定了语句,则只执行选定的语句,如果在查询语句编辑区域选定了语句,则只执行选定的语句, 否则执行所有语句。否则执行所有语句。 l 其他示例其他示例: :教材教材P46P47P46P47。 18 项目2:数据库及数据表的创建与维护 任务2-2:用户数据库的创建、修改和删除 2 2、查看数据库、查看数据库 查看数据库的属性查看数据库的属性 使用SQL Server Management Studio 用Transact- SQL语句 对于已有的数据库对于已有的数据库 19 项目2:数据库及数据表的创建与维护 任务2-2:用户数据库的创建

28、、修改和删除 1 1)使用)使用SQL Server Management StudioSQL Server Management Studio查看数据库属性查看数据库属性 教材教材P36P37P36P37。 2 2)使用)使用Transact-SQLTransact-SQL语句查看数据库属性语句查看数据库属性 系统存储过程系统存储过程sp_helpdbsp_helpdb查看数据库的属性。查看数据库的属性。 例:查看数据库例:查看数据库salessales的属性。的属性。 语句格式:语句格式:sp_helpdb sales sp_helpdb sales 例:查看所有数据库的属性。语句格式:例

29、:查看所有数据库的属性。语句格式:sp_helpdbsp_helpdb 20 项目2:数据库及数据表的创建与维护 任务2-2:用户数据库的创建、修改和删除 3 3、修改数据库、修改数据库 1 1)使用使用SQL Server Management StudioSQL Server Management Studio修改数据库属性。修改数据库属性。 2 2)使用)使用Transact-SQLTransact-SQL语句修改数据库属性语句修改数据库属性 教材教材P49P49。 ALTER DATABASE database_name ADD FILE ,.n TO FILEGROUP filegr

30、oup_name | ADD LOG FILE ,.n | REMOVE FILE logical_file_name | ADD FILEGROUP filegroup_name | REMOVE FILEGROUP filegroup_name | MODIFY FILE | MODIFY NAME = new_dbname | MODIFY FILEGROUP filegroup_name filegroup_property | NAME = new_filegroup_name | SET AUTO_SHRINK on/off 21 项目2:数据库及数据表的创建与维护 任务2-2:用

31、户数据库的创建、修改和删除 为数据库sample添加数据文件sample_dat2和日志文件sample_log2。 ALTER DATABASE sample ADD FILE ( NAME=sample_dat2, FILENAME=d:datasample_dat2.ndf, SIZE=4, MAXSIZE=10, FILEGROWTH=1 ) ALTER DATABASE sample ADD LOG FILE ( NAME=sample_log2, FILENAME=d:datasample_log2.ldf, SIZE=4, MAXSIZE=10, FILEGROWTH=1 ) 例

32、例 其他示例:教材P50。 22 项目2:数据库及数据表的创建与维护 任务2-2:用户数据库的创建、修改和删除 4 4、重命名数据库、重命名数据库 使用使用ALTER DATABASE MODIFY NAMEALTER DATABASE MODIFY NAME进行重命名数据库。正在进行重命名数据库。正在 使用的数据库是不能进行重命名的。使用的数据库是不能进行重命名的。 5 5、数据库的收缩、数据库的收缩 6 6、删除数据、删除数据库库 当一个数据库不再需要时可以将其删除,以释放该数据库所占有的当一个数据库不再需要时可以将其删除,以释放该数据库所占有的 磁盘空间。但是应该注意的是,如果某个数据库

33、正在被使用时,则无磁盘空间。但是应该注意的是,如果某个数据库正在被使用时,则无 法对其进行删除操作。法对其进行删除操作。 23 项目2:数据库及数据表的创建与维护 任务2-2:用户数据库的创建、修改和删除 1 1)使用)使用SQL Server Management StudioSQL Server Management Studio删除数据库删除数据库 2 2)使用)使用Transact-SQLTransact-SQL语句删除数据库语句删除数据库 语法格式:语法格式:DROP DATABASE database_name 例:删除数据库例:删除数据库studentstudent DROP D

34、ATABASE student 例:删除例:删除samplesample和和studentstudent数据库。数据库。 DROP DATABASE sample,student 【注意注意】 l4 4个系统数据库个系统数据库mastermaster、tempdbtempdb、modelmodel、msdbmsdb不能删除。不能删除。 l正在使用的数据库不能删除。正在使用的数据库不能删除。 l数据库被删除之后,文件及其数据都从服务器上的磁盘中被删除。一数据库被删除之后,文件及其数据都从服务器上的磁盘中被删除。一 旦删除数据库,它即被永久删除,所以删除数据库时一定要谨慎。旦删除数据库,它即被永久

35、删除,所以删除数据库时一定要谨慎。 24 项目2:数据库及数据表的创建与维护 任务2-2:用户数据库的创建、修改和删除 课堂练习 图形方式附加、分离图形方式附加、分离salessales数据库。数据库。 25 项目2:数据库及数据表的创建与维护 任务2-3:数据表的创建、修改和删除 1 1、表的概念、表的概念 教材教材P58.P58. l 数据库中包含一个或多个表。表是数据的集合,是用来存储数据和操数据库中包含一个或多个表。表是数据的集合,是用来存储数据和操 作数据的逻辑结构。作数据的逻辑结构。 l 数据在表中是按照行和列的格式来组织排列的,每一行代表一条唯一数据在表中是按照行和列的格式来组织

36、排列的,每一行代表一条唯一 的记录,每一列代表记录的一个属性。的记录,每一列代表记录的一个属性。 l 例如,一个包含销售员基本信息的数据表,表中每一行代表一名销售例如,一个包含销售员基本信息的数据表,表中每一行代表一名销售 员,每列分别代表该销售员的信息,如编号、姓名、性别等。员,每列分别代表该销售员的信息,如编号、姓名、性别等。 2-3 2-3 在使用数据库的过程中,接触最多的莫过于表。表是存储数据的在使用数据库的过程中,接触最多的莫过于表。表是存储数据的 地方,是一种结构化的文件,可用来存储一些特定数据类型的数据,地方,是一种结构化的文件,可用来存储一些特定数据类型的数据, 是数据库中最重

37、要的部分。是数据库中最重要的部分。 26 项目2:数据库及数据表的创建与维护 任务2-3:数据表的创建、修改和删除 2 2、系统数据类型、系统数据类型 教材教材P6569P6569。 种类种类数据类型数据类型 数字数字 整数整数int, bigint, smallint, tinyint 精确数值精确数值decimal, numeric 近似数值近似数值float, real 货币货币money, smallmoney 日期和时间日期和时间 datetime, smalldatetime 字符字符 Non-Unicodechar, varchar, varchar(max), text Uni

38、codenchar, nvarchar, nvarchar(max), ntext 二进制二进制 binary, varbinary, varbinary(max) 图像图像 image 全局标识符全局标识符 uniqueidentifier XMLxml 特殊特殊 bit, cursor, timestamp, sysname, table, sql_variant 27 项目2:数据库及数据表的创建与维护 任务2-3:数据表的创建、修改和删除 2 2)使用)使用Transact-SQLTransact-SQL语句创建数据表语句创建数据表 CREATE TABLE database_name

39、.schema_name|schema_name.table_name (column_name1 data_type DEFAULT constant_expression IDENTITY ( SEED, INCREMENT ) NULL | NOT NULL ,n ) ON filegroup | DEFAULT 3 3、表的创建、表的创建 1 1)使用)使用SQL Server Management StudioSQL Server Management Studio创建数据表创建数据表 教材教材P60P62P60P62。 28 项目2:数据库及数据表的创建与维护 任务2-3:数据表的

40、创建、修改和删除 例:为例:为salessales数据库创建一个销售人员表数据库创建一个销售人员表SellerSeller,它包含销售员编号(,它包含销售员编号(SalSal eIDeID)、姓名()、姓名(SaleNameSaleName)、性别()、性别(SexSex)、出生日期()、出生日期(BirthadyBirthady)、)、 雇用日期(雇用日期(HireDateHireDate)、地址()、地址(AddressAddress)、电话()、电话(TelephoneTelephone)和备)和备 注(注(NoteNote)字段,其中)字段,其中SaleIDSaleID、SaleNam

41、eSaleName这两列不允许为空。这两列不允许为空。 CREATE TABLE Seller (SaleID char(3) NOT NULL, SaleName char(8) NOT NULL, Sex char(2), Birthday datetime, HireDate datetime, Address char(60), Telephone char(13), Note char(200) ) 29 项目2:数据库及数据表的创建与维护 任务2-3:数据表的创建、修改和删除 例:为例:为salessales数据库创建订单表数据库创建订单表OrdersOrders,包括,包括Ord

42、erIDOrderID、CustomerIDCustomerID、SaleSale IDID和和OrderDateOrderDate字段,其中字段,其中OrderIDOrderID为标识列,起始值为为标识列,起始值为1024810248,增量为,增量为 1 1;CustomerIDCustomerID和和SaleIDSaleID字段不允许为空值;字段不允许为空值;OrderDateOrderDate字段的默认值字段的默认值 为当前日期。为当前日期。 CREATE TABLE Orders (OrderID int IDENTITY(10248,1), -教材教材P70 CustomerID c

43、har(3) NOT NULL, SaleID char(3) NOT NULL, OrderDate datetime DEFAULT getdate() -教材教材P69 ) SQL ServerSQL Server为自动进行顺序编号而引入了自动编号的为自动进行顺序编号而引入了自动编号的IDENTITYIDENTITY属性。属性。 当需要对某一列输入的数据进行有规律的顺序编号且保证每个编号惟一时,当需要对某一列输入的数据进行有规律的顺序编号且保证每个编号惟一时, 最好是采用最好是采用IDENTITYIDENTITY,这样既方便准确,速度又快。具有,这样既方便准确,速度又快。具有IDENTI

44、TYIDENTITY属性的属性的 列称为标识列,其取值称为标识值。列称为标识列,其取值称为标识值。命令格式:命令格式: CREATE TABLE table_name ( column_name data_type IDENTITY ( seed,increment ) NOT NULL ,. n ) 30 项目2:数据库及数据表的创建与维护 任务2-3:数据表的创建、修改和删除 4 4、修改表结构、修改表结构 1 1)使用)使用SQL Server Management StudioSQL Server Management Studio修改表结构修改表结构 教材教材P73P73。 2 2)

45、使用)使用Transact-SQLTransact-SQL语句修改表结构语句修改表结构 ALTER TABLE table_name ADD column_name date_type DEFAULT contant_expressionIDENTITY(SEED,INCREMENT)NULL | NOT NULL ,n | DROP COLUMN column_name ,n | ALTER COLUMN column_name new_datetype NULL | NOT NULL 31 项目2:数据库及数据表的创建与维护 任务2-3:数据表的创建、修改和删除 例:例:sales数据库中

46、的数据库中的Customer表包含表包含CustomerID、ConpanyName和和 ConnectName三个字段,现为该表添加地址(三个字段,现为该表添加地址(Address)、邮政编码)、邮政编码 (ZipCode)和电话号码()和电话号码(Telephone)字段。)字段。 ALTER TABLE Customer ADD Address char(40), ZipCode char(6),Telephone char(20) 例:将表例:将表Seller中的中的Sex列删除列删除 ALTER TABLE Seller DROP COLUMN Sex 例:将例:将Seller表中的

47、表中的Address字段的长度改为字段的长度改为30,且不能为空,且不能为空 ALTER TABLE Seller ALTER COLUMN Address varchar(30) NOT NULL 32 项目2:数据库及数据表的创建与维护 任务2-3:数据表的创建、修改和删除 5 5、删除数据表、删除数据表 1 1)使用)使用SQL Server Management StudioSQL Server Management Studio删除数据表删除数据表 2 2)使用)使用Transact-SQLTransact-SQL语句删除数据表语句删除数据表 使用使用DROP TABLEDROP T

48、ABLE命令删除表格,其语法格式为:命令删除表格,其语法格式为: DROP TABLE table_name1,n 例:将例:将CustomerCustomer表从表从salessales数据库中删除。数据库中删除。 DROP TABLE Customer 33 项目2:数据库基本管理及数据操作和查询 任务2-4:数据表记录的添加、修改和删除 1 1、使用、使用Transact-SQLTransact-SQL语句向表中插入数据语句向表中插入数据 INSERT INTO table_name ( column_name ,n ) VALUES ( expression | NULL | DEFA

49、ULT ,n ) l 其中:其中: table_nametable_name:要插入数据的表名。:要插入数据的表名。 column_namecolumn_name:要插入数据的列名。:要插入数据的列名。 expressionexpression:与:与column_namecolumn_name相对应的字段的值,字符型和日期相对应的字段的值,字符型和日期 型值插入时要加单引号。型值插入时要加单引号。 2-42-4 34 项目2:数据库基本管理及数据操作和查询 任务2-4:数据表记录的添加、修改和删除 l 例:向例:向CategoryCategory表中添加三行数据。表中添加三行数据。 INSE

50、RT INTO Category(CategoryID,CategoryName,Description) VALUES(1,饮料饮料,软饮料、咖啡、茶、啤酒和淡啤酒软饮料、咖啡、茶、啤酒和淡啤酒) INSERT INTO Category(CategoryID,CategoryName,Description) VALUES(2,调味品调味品,香甜可口的果酱、调料、酱汁和调味品香甜可口的果酱、调料、酱汁和调味品) INSERT INTO Category(CategoryID,CategoryName,Description) VALUES(3,点心点心,甜点、糖和面包甜点、糖和面包) l

51、例:向例:向SellerSeller表中插入一行数据,其中表中插入一行数据,其中SexSex字段使用默认值为字段使用默认值为男男, HireDateHireDate等字段均取空值。等字段均取空值。 INSERT INTO Seller(SaleID,SaleName,Sex,Birthday,HireDate, Address,Telephone,Notes) VALUES(s11,赵宇飞赵宇飞,DEFAULT,1974-07-5,NULL,NULL,NULL,NULL) 或 INSERT INTO Seller(SaleID,SaleName,Birthday) VALUES(s11,赵宇飞

52、赵宇飞,1974-07-25) 35 项目2:数据库基本管理及数据操作和查询 任务2-4:数据表记录的添加、修改和删除 例:对表中所有列插入数据,则可省略列名。例:对表中所有列插入数据,则可省略列名。 INSERT INTO Category VALUES(1, 饮料饮料, 软饮料、咖啡、茶、啤酒和淡啤酒软饮料、咖啡、茶、啤酒和淡啤酒) INSERT INTO Category VALUES(调味品调味品, 2, 香甜可口的果酱、调料、酱汁和调味品香甜可口的果酱、调料、酱汁和调味品) INSERT INTO Category VALUES(2, 点心点心) 【注意注意】 l在插入数据时,对允许

53、为空的列可使用在插入数据时,对允许为空的列可使用NULLNULL插入空值;对具有默认值的列可插入空值;对具有默认值的列可 使用使用DEFAULTDEFAULT插入默认值。插入默认值。 l当向表中所有列都插入新数据时,可以省略列名表,但必须保证当向表中所有列都插入新数据时,可以省略列名表,但必须保证VALUESVALUES后的后的 各数据项位置同表定义时的顺序一致,否则系统会报错。各数据项位置同表定义时的顺序一致,否则系统会报错。 错误错误 错误错误 36 项目2:数据库基本管理及数据操作和查询 任务2-4:数据表记录的添加、修改和删除 例:创建数据表例:创建数据表OrdersOrders,然后

54、再插入一行数据。,然后再插入一行数据。 CREATE TABLE Orders (OrderID int IDENTITY(10248,1), CustomerID char(3) NOT NULL, SaleID char(3) NOT NULL, OrderDate datetime DEFAULT getdate() INSERT INTO Orders (CustomerID, SaleID) Values(c01, s11) 【注意注意】 具有具有IDENTITYIDENTITY属性的列,其值由系统给出,用户不必向表中插入数据。属性的列,其值由系统给出,用户不必向表中插入数据。 37

55、 项目2:数据库基本管理及数据操作和查询 任务2-4:数据表记录的添加、修改和删除 2 2、使用、使用Transact-SQLTransact-SQL语句修改表中数据语句修改表中数据 UPDATE table_name SET column_name=expression ,n WHERE search_conditions 其中:其中: table_name:要更新数据的表名。:要更新数据的表名。 column_name:要更新数据的列名。:要更新数据的列名。 expression:更新后的数据值。:更新后的数据值。 search_conditions:更新条件:更新条件,只对表中满足该条件

56、的记录只对表中满足该条件的记录 进行更新。进行更新。 38 项目2:数据库基本管理及数据操作和查询 任务2-4:数据表记录的添加、修改和删除 例:将例:将ProductProduct表中表中啤酒啤酒的价格改为的价格改为4 4元。元。 UPDATE Product SET Price=4 WHERE ProductName=啤酒啤酒 例:将例:将SellerSeller表中表中SaleIDSaleID为为s11s11的地址改为的地址改为东直门外大街东直门外大街108108号号,电话改,电话改 为为(010010)6048665860486658。 UPDATE Seller SET Addres

57、s=东直门外大街东直门外大街108号号, Telephone=(010)60486658 WHERE SaleID=s11 例:将例:将ProductProduct表中表中CategoryIDCategoryID为为2 2的所有产品的价格下调的所有产品的价格下调10%10%。 UPDATE Product SET Price=Price*(1-0.1) WHERE CategoryID=2 39 项目2:数据库基本管理及数据操作和查询 任务2-4:数据表记录的添加、修改和删除 3 3、使用、使用Transact-SQLTransact-SQL语句删除表中数据语句删除表中数据 DELETE FR

58、OM table_name WHERE search_conditions 说明:说明: l 删除表中符合删除表中符合search_conditionssearch_conditions的数据;缺省的数据;缺省WHEREWHERE子句时,表示子句时,表示 删除该表中的所有数据。删除该表中的所有数据。 例:将例:将SaleIDSaleID为为s11s11的数据从的数据从SellerSeller表中删除。表中删除。 DELETE FROM Seller WHERE SaleID=s11 40 项目2:数据库基本管理及数据操作和查询 任务2-4:数据表记录的添加、修改和删除 4 4、使用、使用SQL

59、 Server Management StudioSQL Server Management Studio插入、修改、删除表中插入、修改、删除表中 数据数据 课堂练习 1、根据以下数据表中的内容,使用T-SQL语句分别创建出表结构,并完成 数据的插入。 (1)表名:Employee (2)表名:Product 2、修改“ProductID”为“Y19”的产品,使其“Stocks”为“1000”、 “Price”为“200”。 3、删除“EmpNo”为“J0015”的职员记录。 41 项目2:数据库及数据表的创建与维护 任务2-5:数据完整性 数据完整性的含义包括以下内容:数据完整性的含义包括以

60、下内容: (1 1)数值的完整性,指数据类型与取值的正确性。)数值的完整性,指数据类型与取值的正确性。 (2 2)表内数据不相互矛盾。)表内数据不相互矛盾。 (3 3)表间数据不相互矛盾,指数据的关联性不被破坏。)表间数据不相互矛盾,指数据的关联性不被破坏。 约束定义了必须遵循的用于维护数据一致性和正确性的规则,是约束定义了必须遵循的用于维护数据一致性和正确性的规则,是 强制实现数据完整性的主要途径。约束有强制实现数据完整性的主要途径。约束有5 5种类型,包括:种类型,包括:主键主键约束、约束、 唯一性唯一性约束、约束、检查检查约束、约束、默认默认约束、约束、外键约束外键约束(参照约束)。(参

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论