第3章-表与表数据操作课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第3章-表与表数据操作课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 操作 课件
- 资源描述:
-
1、l在关系数据库中,每个关系都对应为一张表,在关系数据库中,每个关系都对应为一张表,表是数表是数据库的最主要对象据库的最主要对象,是信息世界实体或实体间联系的数,是信息世界实体或实体间联系的数据表示,是用来存储与操作数据的逻辑结构,使用数据据表示,是用来存储与操作数据的逻辑结构,使用数据库时,绝大多数时间都是在与表打交道。因此掌握库时,绝大多数时间都是在与表打交道。因此掌握SQL SQL ServerServer表的相关知识与相关操作是非常重要的。表的相关知识与相关操作是非常重要的。l本章围绕表对象主要介绍如下内容:表的概念、如何本章围绕表对象主要介绍如下内容:表的概念、如何设计表、如何创建和修
2、改表、表信息的交互式查询与维设计表、如何创建和修改表、表信息的交互式查询与维护、删除表等。护、删除表等。 3.1 表结构和数据类型表结构和数据类型3.2 界面方式操作表界面方式操作表3.3 命令方式操作表命令方式操作表3.4 界面方式操作表数据界面方式操作表数据3.5 命令方式操作表数据命令方式操作表数据 3.1.1 表和表结构表和表结构每个数据库包含了若干个表。表是表是SQL Server中最主要中最主要的数据库对象,它是用来存储数据的一种逻辑结构。的数据库对象,它是用来存储数据的一种逻辑结构。表由行和列组成,因此也称之为二维表。表是在日常工作和生活中经常使用的一种表示数据及其关系的形式,表
3、3.1就是用来表示学生情况的一个“学生”表。学学 号号姓姓 名名性性 别别出出 生生 时时 间间专专 业业总总 学学 分分备备 注注081101王林王林男男计算机计算机50081103王燕王燕女女计算机计算机50081108林一帆林一帆男男计算机计算机52已提前修完一门课已提前修完一门课081202王林王林男男通信工程通信工程40有一门课不及格,待补有一门课不及格,待补考考081204马琳琳马琳琳女女通信工程通信工程42表3.1 “学生”表 下面简单介绍与表有关的几个概念:下面简单介绍与表有关的几个概念:(1)表结构表结构。组成表的各列的名称及数据类型,统称为表。组成表的各列的名称及数据类型,
4、统称为表结构。结构。(2)记录记录。每个表包含了若干行数据,它们是表的。每个表包含了若干行数据,它们是表的“值值”,表中的一行称为一个记录。因此,表是记录的有限集合。表中的一行称为一个记录。因此,表是记录的有限集合。(3)字段字段。每个记录由若干个数据项构成,将构成记录的。每个记录由若干个数据项构成,将构成记录的每个数据项称为字段。例如表每个数据项称为字段。例如表3.1中,表结构为(学号中,表结构为(学号, 姓名姓名, 性性别别, 出生时间出生时间, 专业专业, 总学分总学分, 备注),包含备注),包含7个字段,由个字段,由5个记录个记录组成。组成。 下面简单介绍与表有关的几个概念:下面简单介
5、绍与表有关的几个概念:(4)空值空值。空值(。空值(NULL)通常表示未知、不可用或将在以后添加的)通常表示未知、不可用或将在以后添加的数据。若一个列允许为空值,则向表中输入记录值时可不为该列给出具体数据。若一个列允许为空值,则向表中输入记录值时可不为该列给出具体值。而一个列若不允许为空值,则在输入时必须给出具体值。值。而一个列若不允许为空值,则在输入时必须给出具体值。(5)关键字关键字。若表中记录的某一字段或字段组合能唯一标识记录,则。若表中记录的某一字段或字段组合能唯一标识记录,则称该字段或字段组合为候选关键字(称该字段或字段组合为候选关键字(Candidate key)。若一个表有多个候
6、)。若一个表有多个候选关键字,则选定其中一个为主关键字(选关键字,则选定其中一个为主关键字(Primary key),也称为),也称为主键主键。当。当一个表仅有唯一的一个候选关键字时,该候选关键字就是主关键字。一个表仅有唯一的一个候选关键字时,该候选关键字就是主关键字。设计数据库表结构,除了表属性外,主要就是设计数据库表结构,除了表属性外,主要就是设计列属性。在表中创建列时,必须为其指定数设计列属性。在表中创建列时,必须为其指定数据类型,据类型,列的数据类型决定了数据的取值、范围列的数据类型决定了数据的取值、范围和存储格式。和存储格式。列的数据类型可以是列的数据类型可以是SQL Server提
7、供的系统数提供的系统数据类型,也可以是用户定义的数据类型。据类型,也可以是用户定义的数据类型。数数 据据 类类 型型符符 号号 标标 识识数数 据据 类类 型型符符 号号 标标 识识整数型整数型bigint,int,smallint,tinyint文本型文本型text,ntext精确数值型精确数值型decimal,numeric二进制型二进制型binary,varbinary、varbinary(MAX)浮点型浮点型float,real日期时间类型日期时间类型datetime,smalldatetime货币型货币型money,smallmoney时间戳型时间戳型timestamp位型位型bit
8、图像型图像型image字符型字符型c h a r , v a r c h a r 、varchar(MAX)其他其他cursor,sql_variant,table,uniqueidentifier,xmlUnicode字符型字符型nchar,nvarchar、nvarchar(MAX)表表3.2 系统数据类型表系统数据类型表h 1 1整数型整数型整数包括整数包括bigintbigint、intint、smallintsmallint和和tinyinttinyint,从标识符的含义就可,从标识符的含义就可以看出,它们的表示数范围逐渐缩小。以看出,它们的表示数范围逐渐缩小。bigintbigin
9、t:大整数,数范围为:大整数,数范围为-2-26363(-9223372036854775808-9223372036854775808)2 26363-1-1(92233720368547758079223372036854775807),其精度为),其精度为1919,小数位数为,小数位数为0 0,长度为,长度为8 8字节。字节。intint:整数,数范围为整数,数范围为-2-23131(-2147483648-2147483648)2 23131-1-1(21474836472147483647),),其精度为其精度为1010,小数位数为,小数位数为0 0,长度为,长度为4 4字节。字节。
10、smallintsmallint:短整数,数范围为:短整数,数范围为-2-21515(-32768-32768)2 21515-1-1(3276732767),其),其精度为精度为5 5,小数位数为,小数位数为0 0,长度为,长度为2 2字节。字节。tinyinttinyint:微短整数,数范围为:微短整数,数范围为 0 0255255,长度为,长度为1 1字节,其精度为字节,其精度为3 3,小数位数为小数位数为0 0,长度为,长度为1 1字节。字节。h 2 2精确数值型精确数值型decimal和numeric可存储从-1038+1到1038-1的固定精度和小数位的数字数据,它们的存储长度随精
11、度变化而变化,最少为5字节,最多为17字节。l 精度为19时,存储字节长度为5。l 精度为1019时,存储字节长度为9。l 精度为2028时,存储字节长度为13。l 精度为2938时,存储字节长度为17。例如,若有声明numeric(8,3),则存储该类型数据需5字节;而若有声明numeric(22,5),则存储该类型数据需13字节。h 3浮点型浮点型有两种近似数值数据类型:float(n)和real。两者通常都使用科学计数法表示数据,即形为:尾数E阶数,如5.6432E20、-2.98E10、1.287659E-9等。lreal:使用4字节存储数据,表数范围为-3.40E+383.40E+3
12、8,数据精度为7位有效数字。lfloat:float型数据的数范围为-1.79E+3081.79E+308。定义中的n取值范围是153,用于指示其精度和存储大小。当n在124之间时,实际上是定义了一个real型数据,存储长度为4字节,精度为7位有效数字。当n在2553之间时,存储长度为8字节,精度为15位有效数字。当缺省n时,代表n在2553之间。h 4货币型货币型SQL Server提供了两个专门用于处理货币的数据类型:money和smallmoney,它们用十进制数表示货币值。lmoney:数据的数范围为-263(-922337203685477.5808)263-1(9223372036
13、85477.5807),其精度为19,小数位数为4,长度为8字节。money的数的范围与bigint相同,不同的只是money型有4位小数。实际上,money就是按照整数进行运算的,只是将小数点固定在末4位。lsmallmoney:数范围为-231(-214748.3648)231-1(214748.3647),其精度为10,小数位数为4,长度为4字节。可见smallmoney与int的关系就如同money与bigint的关系。h 5位型位型SQL Server中的位(中的位(bit)型数据相当于其他语言中的逻辑型)型数据相当于其他语言中的逻辑型数据,它只存储数据,它只存储0和和1,长度为一个
14、字节,长度为一个字节。但要注意,SQL Server对表中bit类型列的存储做了优化:如果一个表中有不多于8个的bit列,这些列将作为一个字节存储;如果表中有9到16个bit列,这些列将作为两个字节存储;更多列的情况依次类推。当为bit类型数据赋0时,其值为0,而赋非0(如100)时,其值为1。字符串值TRUE和FALSE可以转换为以下bit 值:TRUE转换为1,FALSE转换为0。h 6字符型字符型字符型数据用于存储字符串,字符串中可包括字母、数字和其他特殊符号字符型数据用于存储字符串,字符串中可包括字母、数字和其他特殊符号(如(如#、&等)。在输入字符串时,需将串中的符号用单引号或双引号
15、括起等)。在输入字符串时,需将串中的符号用单引号或双引号括起来,如来,如abc、AbcCde。SQL Server字符型包括两类:固定长度(字符型包括两类:固定长度(char)或可变长度()或可变长度(varchar)字符数据类型。字符数据类型。lchar(n):定长字符数据类型定长字符数据类型,其中,其中n定义字符型数据的长度,定义字符型数据的长度,n在在1到到8000之间,缺省为之间,缺省为1。当表中的列定义为。当表中的列定义为char(n)类型时,若实际要存储的串长类型时,若实际要存储的串长度不足度不足n时,则在串的尾部添加空格以达到长度时,则在串的尾部添加空格以达到长度n,所以,所以c
16、har(n)的长度为的长度为n。若输入的字符个数超出了若输入的字符个数超出了n,则超出的部分被截断。,则超出的部分被截断。lvarchar(n):变长字符数据类型变长字符数据类型,其中,其中n的规定与定长字符型的规定与定长字符型char中中n完全完全相同,但这里相同,但这里n表示的是字符串可达到的最大长度。表示的是字符串可达到的最大长度。h 7 7UnicodeUnicode字符型字符型UnicodeUnicode是是“统一字符编码标准统一字符编码标准”,用于支持国际上非英语语种的,用于支持国际上非英语语种的字符数据的存储和处理。字符数据的存储和处理。SQL Server的Unicode字符型
17、可以存储Unicode标准字符集定义的各种字符。Unicode字符型包括nchar(n)和nvarchar(n)两类。nchar是固定长度Unicode数据的数据类型,nvarchar是可变长度 Unicode 数据的数据类型,二者均使用UNICODE UCS-2字符集。lnchar(n):nchar(n)为包含n个字符的固定长度 Unicode 字符型数据,n的值在1与4000之间,缺省为1,长度2n字节。若输入的字符串长度不足n,将以空白字符补足。lnvarchar(n):nvarchar(n)为最多包含n个字符的可变长度Unicode字符型数据,n的值在1与4000之间,缺省为1。长度是
18、所输入字符个数的两倍。实际上,nchar、nvarchar与char、varchar的使用非常相似,只是字符集不同(前者使用Unicode字符集,后者使用ASCII字符集)。h 8 8文本型文本型文本型包括文本型包括texttext和和ntextntext两类,分别对应两类,分别对应ASCIIASCII字符和字符和UnicodeUnicode字符。字符。texttext类型可以表示最大长度为类型可以表示最大长度为 2 23131-1-1(21474836472147483647)个字)个字符,其数据的存储长度为实际字符数个字节。符,其数据的存储长度为实际字符数个字节。ntextntext类型可
19、表示最大长度为类型可表示最大长度为 2 23030-1-1(10737418231073741823)个)个UnicodeUnicode字符,其数据的存储长度是实际字符个数的两倍(以字符,其数据的存储长度是实际字符个数的两倍(以字节为单位)。字节为单位)。h 9 9二进制型二进制型二进制数据类型表示的是位数据流二进制数据类型表示的是位数据流,包括binary(固定长度)和varbinary(可变长度)两种。binary (n):固定长度的n个字节二进制数据。n取值范围为1到8000,缺省为1。binary(n)数据的存储长度为n+4字节。若输入的数据长度小于n,则不足部分用0填充;若输入的数据
20、长度大于n,则多余部分被截断。varbinary (n):n个字节变长二进制数据。n取值范围为1到8000,缺省为1。varbinary(n)数据的存储长度为实际输入数据长度+4个字节。h 1010日期时间类型日期时间类型日期时间类型数据用于存储日期和时间信息,包括日期时间类型数据用于存储日期和时间信息,包括datetimedatetime和和smalldatetimesmalldatetime两类。两类。ldatetime:datetime类型可表示的日期范围从1753 年1月1日到9999年12月31日的日期和时间数据,精确度为百分之三秒(3.33毫秒或0.00333秒),例如1到3毫秒的
21、值都表示为0毫秒,4到6毫秒的值都表示为4毫秒。datetime类型数据长度为8字节,日期和时间分别使用4个字节存储。前4字节用于存储datetime类型数据中距1900年1月1日的天数。为正数表示日期在1900年1月1日之后,为负数则表示日期在1900年1月1日之前。h 1010日期时间类型日期时间类型日期时间类型数据用于存储日期和时间信息,包括datetime和smalldatetime两类。用户给出datetime类型数据值时,日期部分和时间部分分别给出。日期部分的表示形式常用的格式如下:年年 月月 日日2001 Jan 20、2001 Janary 20年年 日日 月月2001 20
22、Jan月月 日日,年年Jan 20 2001、Jan 20,2001、Jan 20,01月月 年年 日日Jan 2001 20日日 月月,年年20 Jan 2001、20 Jan,2001日日 年年 月月20 2001 Jan年(年(4位数)位数)2001表示表示年月日年月日20010120、010120月月/日日/年年1/20/01、01/20/2001、1/20/2001月月-日日-年年1-20-01、01-20-2001、1-20-2001月月.日日.年年1.20.01、01.20.2001、1.20.2001说明:年可用4位或2位表示,月和日可用1位或2位表示。 时间部分常用的表示格式
23、如下:时时:分分10:20、08:05时时:分分:秒秒20:15:18、20:15:18.2时时:分分:秒秒:毫秒毫秒20:15:18:200时时:分分AM|PM10:10AM、10:10PMl smalldatetimesmalldatetime:smalldatetime类型数据可表示从1900年1月1日到2079年6月6日的日期和时间,数据精确到分钟。即29.998秒或更低的值向下舍入为最接近的分钟,29.999秒或更高的值向上舍入为最接近的分钟。h 1111时间戳型时间戳型标识符是标识符是timestamptimestamp。若创建表时定义一个列的数据类型为时间戳类型,那么每当对该表加
24、入新行或修改已有行时,都由系统自动将一个计数器值加到该列,即将原来的时间戳值加上一个增量。记录记录timestamptimestamp列的值实际上反映了系统对该记录修改的列的值实际上反映了系统对该记录修改的相对(相对于其他记录)顺序相对(相对于其他记录)顺序。一个表只能有一个timestamp 列。timestamp类型数据的值实际上是二进制格式数据,其长度为8字节。h 1212图像数据类型图像数据类型标识符是标识符是imageimage,它用于存储图片、照片等,它用于存储图片、照片等。实际存储的是可变长度二进制数据,介于0与231-1(2147483647)字节之间。在SQL Server
25、2005中该类型是为了向下兼容而保留的数据类型。微软推荐用户使用微软推荐用户使用varbinaryvarbinary(MAX)(MAX)数据类型来替代数据类型来替代imageimage类型。类型。h 1313其他数据类型其他数据类型SQL Server 2005还提供了其他几种数据类型:cursor、sql_variant、table和uniqueidentifier。lcursorcursor:是游标数据类型,用于创建游标变量或定义存储过程的输出参数。lsql_variant:是一种存储SQL Server支持的各种数据类型(除text、ntext、image、timestamp和sql_v
展开阅读全文