表的管理与使用.ppt

上传人:石*** 文档编号:51223386 上传时间:2022-10-18 格式:PPT 页数:28 大小:1.58MB
返回 下载 相关 举报
表的管理与使用.ppt_第1页
第1页 / 共28页
表的管理与使用.ppt_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《表的管理与使用.ppt》由会员分享,可在线阅读,更多相关《表的管理与使用.ppt(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、表的管理与使用表的管理与使用现在学习的是第1页,共28页复习删除数据库4修改数据库12压缩数据库3管理数据库快照5 查看数据库的信息现在学习的是第2页,共28页导入:表是SQL Server中一种重要的数据库对象,它存储数据库中的所有数据,管理好表也就管理好了数据库。本章主要介绍表的创建、修改和删除,表数据的插入、修改和删除。另外还将介绍对表数据的管理和索引的创建、查看、删除等方面的知识。第6章 表的管理与使用 现在学习的是第3页,共28页6-1 创建表6-1 创建表 6-1-1 按需规划设计数据表 v在“XS”数据库中规划、设计与创建三个名为XSDA、KCXX、XSCJ数据表。XSDA:存储

2、学生基本信息表。KCXX:存储课程数据信息表。XSCJ:存储成绩情况信息表。补充:分析各E-R模型与范式设计现在学习的是第4页,共28页6-1 创建表6-1 创建表一个二维表由若干行与若干列组成。表的创建:定义表的结构表表结构:决定表由多少列组成,每一列的取值等 (表的定义)表数据:由多少行(记录)组成现在学习的是第5页,共28页6-1 创建表6-1 6-1 创建表创建表例:有如下二维表:例:有如下二维表:学号姓名性别系名出生日期民族200501王红0信息1986-02-14汉200502刘林1信息1986-05-20汉200503曹红雷1信息1985-09-24汉200504方平0信息198

3、7-08-11回200505李伟强1信息1985-11-14汉现在学习的是第6页,共28页6-1 创建表6-1 6-1 创建表创建表表结构:决定表由多少列组成,每一列的取值范围,即需要决定表结构:决定表由多少列组成,每一列的取值范围,即需要决定每一列的数据类型。每一列的数据类型。数据类型:定义每个列所能存放的数据值和存储格式。数据类型:定义每个列所能存放的数据值和存储格式。列的数据类型可以是列的数据类型可以是SQL Server 2005SQL Server 2005提供的系统数据类型,提供的系统数据类型,也可以是用户自定义数据类型也可以是用户自定义数据类型 现在学习的是第7页,共28页系统提

4、供的数据类型 数据类型符号标识字符型char、varcharUnicode字符型nchar、nvarchar文本型text、ntext整数型bigint、int、smallint、tinyint精确数值型decimal、numeric浮点型float、real货币型money、smallmoney位型bit二进制型binary、varbinary日期时间类型datetime、smalldatetime时间戳型timestamp图像型image其他cursor、sql_variant、table、uniqueidentifier现在学习的是第8页,共28页6-1 创建表补充:系统数据类型补充:系

5、统数据类型(1 1)字符型)字符型v字符常量表示形式:将串中的符号用单引号括起来,如字符常量表示形式:将串中的符号用单引号括起来,如abcabc、John&TomJohn&Tom。vSQL ServerSQL Server字符型包括两类:固定长度(字符型包括两类:固定长度(charchar)或可变长度()或可变长度(varcharvarchar)。)。charchar定义格式:char(n)。n定义字符型数据的长度,n在18000之间,默认为1。若实际存储的串长度不足n,则在串的尾部添加空格,以达到长度n,若输入的字符超出了n,则超出的部分被截断。varcharvarchar定义格式:varc

6、har(n)。n的规定与定长字符型char中n完全相同。varchar(n)的长度为输入字符串的实际字符个数,而不一定是n。现在学习的是第9页,共28页6-1 创建表补充:系统数据类型补充:系统数据类型(2 2)UnicodeUnicode字符型字符型vUnicodeUnicode是是“统一字符编码标准统一字符编码标准”,用于支持国际上非英语语种的,用于支持国际上非英语语种的字符数据的存储和处理。字符数据的存储和处理。v常量表示:常量表示:N NabcabcvUnicodeUnicode字符包括字符包括nchar(n)nchar(n)和和nvarchar(n)nvarchar(n)两类。两类。

7、ncharnchar定义格式:nchar(n)。n的值在14000之间,默认为1。长度为2n字节。若输入的字符串长度不足n,将以空白字符补足。nvarcharnvarchar定义格式:nvarchar(n)。n的值在14000之间,默认为1。长度是所输入字符个数的两倍。现在学习的是第10页,共28页6-1 创建表补充:系统数据类型补充:系统数据类型(3 3)文本型)文本型v存储大量的字符数据,如较长的备注、日志信息等。存储大量的字符数据,如较长的备注、日志信息等。v文本型包括文本型包括texttext和和ntextntext两类,分别对应两类,分别对应ASCIIASCII字符和字符和Unico

8、deUnicode字字符。符。现在学习的是第11页,共28页6-1 创建表补充:系统数据类型补充:系统数据类型(4 4)整数型)整数型v整数型包括整数型包括bigintbigint、intint、smallintsmallint和和tinyinttinyint。数值范围逐渐缩小。数值范围逐渐缩小。bigintbigint:大整数,其精度为大整数,其精度为1919,小数位数为,小数位数为0 0,长度为,长度为8 8字节,数范围为字节,数范围为-2-263 63 2 26363-1-1,即,即-9223372036854775808922337203685477580792233720368547

9、758089223372036854775807。intint:整数,数范围为整数,数范围为-2-23131223131-1-1,即,即-21474836482147483647-21474836482147483647,其精度为,其精度为1010,小数位数,小数位数为为0 0,长度为,长度为4 4字节。字节。smallintsmallint:短整数,数范围为短整数,数范围为-2-21515221515-1-1,即,即-3276832767-3276832767,其精度为,其精度为5 5,小数位数,小数位数0 0,长度为,长度为2 2字节。字节。tinyinttinyint:微短整数,数范围为

10、微短整数,数范围为02550255,长度为,长度为1 1字节,其精度为字节,其精度为3 3,小数位数为,小数位数为0 0,长度为,长度为1 1。现在学习的是第12页,共28页6-1 创建表补充:系统数据类型补充:系统数据类型(5 5)精确数值型)精确数值型v由整数部分和小数部分构成,能够以完整的精度存储十进制数。包括由整数部分和小数部分构成,能够以完整的精度存储十进制数。包括decimaldecimal和和numericnumeric两类。两者的惟一区别在于两类。两者的惟一区别在于decimaldecimal不能用于带有不能用于带有identityidentity关键字的列。关键字的列。v声明

11、格式:声明格式:numeric(p,s)decimal(p,s)numeric(p,s)decimal(p,s),其中,其中p p为精度(总为精度(总位数,不包括小数点),位数,不包括小数点),s s为小数位数,为小数位数,s s的默认值为的默认值为0 0。v例如:例如:decimal(6,3)decimal(6,3)v存储从存储从-10-103838+110+1103838-1-1的固定精度和小数位的数字数据,它们的存的固定精度和小数位的数字数据,它们的存储长度随精度变化而变化(见储长度随精度变化而变化(见P428P428)现在学习的是第13页,共28页6-1 创建表补充:系统数据类型补充:

12、系统数据类型(6 6)浮点型:)浮点型:近似数值型,不能提供精确表示数据的精度,可用于处理取值范围非常大且近似数值型,不能提供精确表示数据的精度,可用于处理取值范围非常大且对精度要求不高的数值量。对精度要求不高的数值量。v包括包括float(n)float(n)和和realreal两类。都使用科学计数法表示数据,如两类。都使用科学计数法表示数据,如1.6432E201.6432E20,-7.918E107.918E10,1.237667E-51.237667E-5等。等。vRealReal:4 4字节存储数据,数据精度为字节存储数据,数据精度为7 7位有效数字。位有效数字。vfloatfloa

13、t定义中的定义中的n n取值范围是取值范围是153153,用于指示其精度和存储大小;存储长度为,用于指示其精度和存储大小;存储长度为8 8字节,字节,精度为精度为1515位有效数字;位有效数字;(7 7)货币型)货币型v提供两种专门用于处理货币的数据类型:提供两种专门用于处理货币的数据类型:moneymoney和和smallmoneysmallmoney,它们用十进制数表示,它们用十进制数表示货币值。货币值。vmoneymoney类型的数据的数范围为类型的数据的数范围为-2-26363226363-1-1,其精度为,其精度为1919,小数位数为,小数位数为4 4,长度为,长度为8 8字节。字节

14、。smallmoneysmallmoney数的范围为数的范围为-2-23131223131-1-1,其精度为,其精度为1010,小数位数为,小数位数为4 4,长度为,长度为4 4字节。字节。v常量表示:常量表示:$2000.14$2000.14、$500$500、$-15000.125$-15000.125。现在学习的是第14页,共28页6-1 创建表补充:系统数据类型补充:系统数据类型(8 8)位型)位型v相当于其他语言中的逻辑型数据,它只存储相当于其他语言中的逻辑型数据,它只存储0 0和和1 1,长度为,长度为1 1个字节。个字节。v当为当为bitbit类型数据赋类型数据赋0 0时,其值为

15、时,其值为0 0,而赋非,而赋非0 0(如(如100100)时,其值为)时,其值为1 1。v若表中某列为若表中某列为bitbit类型数据,那么该列不允许为空值,并且不允许对其建立索引。类型数据,那么该列不允许为空值,并且不允许对其建立索引。(9 9)二进制型)二进制型v表示位数据流,包括表示位数据流,包括binary(binary(固定长度固定长度)和和varbinary(varbinary(可变长度可变长度)两种。两种。binny(n)binny(n)。n取值范围为18000,默认为1。varbinary(n)varbinary(n)。n取值范围为18000,默认为1。现在学习的是第15页,

16、共28页6-1 创建表补充:系统数据类型补充:系统数据类型(1010)日期时间类型)日期时间类型v用于存储日期和时间信息,包括用于存储日期和时间信息,包括datetimedatetime和和smalldatetimesmalldatetime两类。两类。datetimedatetime:日期范围从:日期范围从17531753年年1 1月月1 1日到日到99999999年年1212月月3131日的日期和时间数据。长度为日的日期和时间数据。长度为8 8字节,日期和时间分别使用字节,日期和时间分别使用4 4个字节存储。个字节存储。smalldatetimesmalldatetime:日期范围从:日期

17、范围从19001900年年1 1月月1 1日到日到20792079年年1212月月3131日的日期和时间数据。长日的日期和时间数据。长度为度为4 4字节,日期和时间分别使用字节,日期和时间分别使用2 2个字节存储。个字节存储。v常用的日期表示格式如下:常用的日期表示格式如下:月月/日日/年:年:5/1/20035/1/2003、05/01/0305/01/03 月月-日日-年:年:5-1-20035-1-2003、05-01-0305-01-03 月月.日日.年:年:5.1.20035.1.2003、05.01.0305.01.03v常用的时间表示格式如下:常用的时间表示格式如下:时时:分分

18、08:0508:05、10:2010:20 时时:分分:秒秒 08:05:2508:05:25、10:20:3010:20:30 时时:分分:秒秒:毫秒毫秒 08:05:25:2808:05:25:28、10:20:30:2810:20:30:28 时时:分分AM|PM 08:05AMAM|PM 08:05AM、10:20PM10:20PM现在学习的是第16页,共28页6-1 创建表补充:系统数据类型补充:系统数据类型(1111)日期时间戳)日期时间戳timeStamptimeStampv若创建表时定义一个列的数据类型为时间戳型,那么每当对该表加入新行或修改若创建表时定义一个列的数据类型为时间

19、戳型,那么每当对该表加入新行或修改已有行时,都有系统自动将一个计数器加到该列,即将原来的时间戳值加上一个已有行时,都有系统自动将一个计数器加到该列,即将原来的时间戳值加上一个增量,表示增量,表示SQL ServerSQL Server在一行上的活动顺序。一个表只能有一个在一行上的活动顺序。一个表只能有一个timestamptimestamp列,长列,长度为度为8 8字节。字节。(1212)图像数据类型)图像数据类型imageimagev用于存储图片、照片等。实际存储的是可变长度二进制数据,介于用于存储图片、照片等。实际存储的是可变长度二进制数据,介于0 02 231311 1字节之字节之间。间

20、。(1313)其他数据类型)其他数据类型vSQL Server SQL Server 还提供了其他几种数据类型:还提供了其他几种数据类型:cursorcursor、sql_variantsql_variant、table table 和和uniqueidentifieruniqueidentifier等。等。现在学习的是第17页,共28页6-1 创建表6-1 创建表 v创建表的实质就是定义表的结构及约束等属性。v在创建表之前,先要设计表结构,即确定表的名字、所包含的各列名称、列的数据类型和长度、是否为空值、是否使用约束等。v空值(NULL)概念:空值通常表示未知、不可用或将在以后添加的数据。空

21、值不等于零、空白或零长度的字符串,NULL 意味着没有输入。v两种方式创建表:管理工具与 T-SQL语句现在学习的是第18页,共28页6-1 创建表6-1 6-1 创建表创建表 v使用使用SSMSSSMS管理工具管理工具来创建表:来创建表:示例:创建示例:创建XSXS数据库中学生档案表(表名数据库中学生档案表(表名XSDAXSDA)字段名类型长度是否允许为空值说明学号char6not null主键姓名char8not null性别bit1not null男1,女0系名char10not null出生日期smalldatetime4not null民族char4not null总学分tinyin

22、t1not null备注text16null现在学习的是第19页,共28页6-1 创建表6-1 6-1 创建表创建表 v使用使用T-SQLT-SQL语句创建表语句创建表v基本语法格式:基本语法格式:CREATE TABLE CREATE TABLE database_name.schema_name .|schema_name.database_name.schema_name .|schema_name.table_name table_name(|(|,.n ),.n )ON partition_scheme_name(partition_column_name)|filegroup|ON

23、 partition_scheme_name(partition_column_name)|filegroup|default default TEXTIMAGE_ON filegroup|default TEXTIMAGE_ON filegroup|default :=:=column_name data_type|IDENTITY(seed,increment)|NOT NULL|NULLcolumn_name data_type|IDENTITY(seed,increment)|NOT NULL|NULL现在学习的是第20页,共28页6-1 创建表6-1 6-1 创建表创建表 v使用使用

24、T-SQLT-SQL语句创建表语句创建表v说明:说明:table_nametable_name:新创建表的名称。表名必须符合标识符规则。:新创建表的名称。表名必须符合标识符规则。column_namecolumn_name:列名。列名必须符合标识符规则,并且在表内唯一。:列名。列名必须符合标识符规则,并且在表内唯一。data_typedata_type:列的数据类型。可以是系统数据类型或用户定义数据类型。:列的数据类型。可以是系统数据类型或用户定义数据类型。IDENTITY(seed,increment)IDENTITY(seed,increment):指出该列为标识列。必须同时指定种子和增量

25、,或者二者都:指出该列为标识列。必须同时指定种子和增量,或者二者都不指定。如果二者都未指定,则取默认值不指定。如果二者都未指定,则取默认值 (1,1)(1,1)。NOT NULL|NULLNOT NULL|NULL:指出该列中是否允许空值。:指出该列中是否允许空值。现在学习的是第21页,共28页6-1 创建表6-1 6-1 创建表创建表 v【例例】使用使用T-SQLT-SQL语句创建语句创建XSDAXSDA表,学号设为主键。性别的默认值为表,学号设为主键。性别的默认值为1 1。USE XSUSE XSCREATE TABLE XSDA(CREATE TABLE XSDA(学号学号 char(6

26、)NOT NULL PRIMARY KEY,-char(6)NOT NULL PRIMARY KEY,-学号设为主键学号设为主键姓名姓名 char(8)NOT NULL,char(8)NOT NULL,性别性别 bit NOT NULL DEFAULT(1),bit NOT NULL DEFAULT(1),系名系名 char(10)NOT NULL,char(10)NOT NULL,出生日期出生日期 smalldatetime NOT NULL,smalldatetime NOT NULL,民族民族 char(4)NOT NULL,char(4)NOT NULL,总学分总学分 tinyint

27、NOT NULL,tinyint NOT NULL,备注备注 text NULL text NULL)GOGO现在学习的是第22页,共28页6-1 创建表6-1 6-1 创建表创建表 v可设置标识列可设置标识列 【例例】创建名为创建名为jobsjobs的表,要求工号列为标识列(的表,要求工号列为标识列(1000010000,1 1)、主键。)、主键。USE XSUSE XSCREATE TABLE jobsCREATE TABLE jobs(工号工号 smallint IDENTITY(10000,1)-smallint IDENTITY(10000,1)-列为标识列,种子为列为标识列,种子为

28、1000010000,增量为,增量为1 1 PRIMARY KEY,-PRIMARY KEY,-指定主键约束指定主键约束姓名姓名 char(8)NOT NULL,char(8)NOT NULL,工种工种 char(12)NULLchar(12)NULL)GOGO现在学习的是第23页,共28页6-1 创建表6-1 6-1 创建表创建表 v指定存储表的文件组:指定存储表的文件组:ON filegroup|DEFAULT ON filegroup|DEFAULT。【例例】在数据库在数据库XSXS中创建文件组中创建文件组group1group1,创建数据表,创建数据表jobs1jobs1,并将其放,并

29、将其放在新建文件组在新建文件组group1group1中。中。ALTER DATABASE xsALTER DATABASE xsADD FILEGROUP group1ADD FILEGROUP group1GOGOALTER DATABASE xsALTER DATABASE xsADD FILEADD FILE(NAME=XS_DATA1,(NAME=XS_DATA1,FILENAME=FILENAME=E:SQLDATAXS_DATA1.NDFE:SQLDATAXS_DATA1.NDF)TO FILEGROUP GROUP1)TO FILEGROUP GROUP1GOGO现在学习的是第

30、24页,共28页6-1 创建表6-1 6-1 创建表创建表 USE XSUSE XSCREATE TABLE jobs1CREATE TABLE jobs1(工号工号 smallint IDENTITY(10000,1)-smallint IDENTITY(10000,1)-指定列为标识列,种子为指定列为标识列,种子为1000010000,增量为,增量为1 1 PRIMARY KEY,-PRIMARY KEY,-指定主键约束指定主键约束姓名姓名 char(8)NOT NULL,char(8)NOT NULL,工种工种 char(12)NULLchar(12)NULL)ON group1ON g

31、roup1GOGO现在学习的是第25页,共28页6-1 创建表6-1 6-1 创建表创建表 v定义计算列:列名定义计算列:列名 AS AS 表达式。计算列是物理上并不存储在表中的虚拟列。计算列表达式。计算列是物理上并不存储在表中的虚拟列。计算列由同一表中的其它列通过表达式计算得到。表达式可以是非计算列的列名、常量、由同一表中的其它列通过表达式计算得到。表达式可以是非计算列的列名、常量、函数、变量,也可以是用一个或多个运算符连接的上述元素的任意组合。表达式函数、变量,也可以是用一个或多个运算符连接的上述元素的任意组合。表达式不能为子查询。不能为子查询。【例例】在数据库在数据库XSXS中创建数据表

32、中创建数据表jobs2jobs2,其中工资总和列为计算列。,其中工资总和列为计算列。CREATE TABLE jobs2CREATE TABLE jobs2(工号工号 smallint IDENTITY(10000,1)PRIMARY KEY,smallint IDENTITY(10000,1)PRIMARY KEY,姓名姓名 char(8)NOT NULL,char(8)NOT NULL,工种工种 char(12)NULL,char(12)NULL,技能工资技能工资 int,int,岗位工资岗位工资 int,int,工资总和工资总和 AS AS 技能工资技能工资+岗位工资岗位工资)GOGO现在学习的是第26页,共28页小结 v数据库表的设计v数据表的概念:记录、字段、关键字v数据类型v创建数据表。现在学习的是第27页,共28页现在学习的是第28页,共28页

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁