第3章(2) 数据库中的表.ppt_第1页
第3章(2) 数据库中的表.ppt_第2页
第3章(2) 数据库中的表.ppt_第3页
第3章(2) 数据库中的表.ppt_第4页
第3章(2) 数据库中的表.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、第4章 数据库中的表,SQL Server 2005中的数据类型,十进制类型需要自己定义精度和小数位数,其他的均不需要定义。但是其他的可能把有效位数丢失。,1、数值类型 整型:bigint、int、smallint、tinyint 位型:bit 货币型:mony、smallmony 十进制:decimal和numeric(需要规定精度和小数位数) 近似数字:float、real,2. 字符数据类型 字符型数据可以表示文字、数字或其他特殊符号,在定义字符型数据时,必须指定一个数值,用来表示字符型数据的长度。,一个非Unicode的字符(最前面没有n)数据所占的存储容量为1字节,而一个Unicod

2、e的字符(最前面有n)数据所占的存储容量为2字节。 对于固定长度(无var)的字符型数据,当实际的字符长度小于指定大小时,它将会自动在字符后面补空格填满整个长度,使数据长度固定 可变长度(有var)的字符型数据可以随着存放的字符长度大小自动调整其占用的存储空间,当实际的字符长度小于指定大小时,它不会在字符后面补空格,而是以实际存入的字符长度保存。当存储在字段中的字符长度经常变化时,可变长度的字符型数据将是较好的选择,它可以减少不必要的空间浪费,有效地节省空间,3. 日期时间数据类型 日期时间型数据是可以用来存储日期和时间的组合数据。当要在字段中存放日期/时间信息,如出生日期、进货时间等,就可以

3、将字段定义为日期时间数据类型。在SQL Server中定义了两种日期时间数据类型,分别是smalldatetime和datetime,且日期和时间一起存放的,没有单独存放日期或时间的。,4. 二进制数据类型 二进制数据类型是一些用十六进制数来表示的数据。在SQL Server中提供了三种数据类型来存储二进制数据,分别是binary,varbinary和image 使用image数据类型可以来存储图片或影像数据,或者是存放特殊格式化的文件数据,如Word,Excel,PDF文件等。,41 创建表,表是数据库中的重要组成部分,创建了数据库之后就应创建表。创建数据表主要有两种方法,分别是利用图形界面

4、方式创建表和利用SQL命令方式创建表。,411 使用管理器创建表 在建立表之前先要分析表的结构,即表名、表中的字段及类型等。,步骤2:在“表”处击右键选择“新建表”,弹出如下窗口。,步骤1:展开至要建立表的数据库节点,即展开某个数据库前的“”。,步骤2:在“表”处击右键选择“新建表”,弹出如下窗口。,注意: 1、建立表后要保存。 2、不是我们建立的系统表不能删除。 3、建立表后双击它可以查看它的属性,在该表上击右键选择“修改”可以修改表的结构。 4、在该表上击右键选择“重命名”可以重命名表。但是建立表以后不要轻易对表进行重命名,因为重命名存储过程、视图等无效,所以重命名表要慎重。 5、输入数据

5、的方法:在表上击右键选择“打开表”。,设置主键的方法:右击要设置为主键字段前的按钮处选择“设置主键”。如果是多个字段作为主键那么就需要先按住Ctrl键选中多个字段。,设置标识种子和默认值。 (1) 标识种子: 作用:在我们输入数据时,有些数值是按照一定的规律增长的,比如编号是1、2、3,那么这些规律的数据就可以作为标识种子而不需要手工输入。 方法:在表设计器中,定位到对应的字段(一般都是整型或数值型),在下部分列属性的“标识规范”的“(是标识)”处选择“是”,“标识种子”处输入数字的起始值,在“种子递增量”处输入数字每次增长的数值数。 注意:一般是在设计表时直接设置好。,(2) 默认值: 作用

6、:在某些字段的值中,有些数值是大部分记录都有的,比如说民族中的“汉族”,性别中的“男”等等,那么可以为这些字段添加上默认值,即:如果在本字段不输入值时,将默认填上对应的值而不是NULL。 方法:在表设计器中,定位到对应的字段,在下部分列属性的“默认值或绑定”处填上对应的默认值。,412 使用SQL命令方式创建表,一、Create Table的格式 :,CREATE TABLE 数据库名.所有者.表名 ( 字段名 数据类型 (字段大小) NULL|NOT NULL ,n ),create table 部门 (4-1) ( 顺序号 int primary key identity(1,1) not

7、 null, 部门编号 int, 部门名称 varchar(100), 创建日期 smalldatetime default getdate() ),说明: 1. 如果在表名前省略“数据库名.所有者”,那么默认的是在当前所有者,默认所有者为dbo。 2. 如果允许为空null可以省略,但是不允许为空时not null 不能省略。 3. 除开字符类型和精确型数值以外,其他的均不能设置类型的字段大小。 4. primary key 为设置成主键, identity(1,1) 为标识种子,且primary key、identity(1,1)、not null可以互换位置。 5. default为设置

8、默认值, getdate()为设置默认值为当前日期和时间。,42 表管理和维护,当表创建完成之后,我们可以查看、修改或删除已经存在的表。例如可以查看表的定义信息,修改表的结构、内容等。,421 查看表的属性(了解) 1使用SQL Server Management Studio查看表的属性。 在“对象资源管理器”中右击要查看属性的数据表,然后选择“属性”即可。,2使用存储过程查看表结构信息 格式:EXECUTE sp_help 表名 【例4.3】查看kc表的结构。 EXEC sp_help kc,422 修改表结构,1、使用管理器修改表结构 在数据库的“表”节点,右击要修改的表。在弹出的快捷菜

9、单中选择“修改”命令。在弹出的“设计表”窗口中,即可以完成修改表结构的操作(删除字段、修改字段、添加/追加字段),操作方法与创建表时相同。,422 修改表结构,2、使用T- SQL语句修改表结构,分三种情况修改: (1) 增加字段 : 格式:alter table 表名 add 字段名 类型 其他属性设置,【例4.4】向xs表增加如下两个字段。,USE xsgl (4-4) GO ALTER TABLE xs ADD 电话 CHAR(8)NULL ALTER TABLE xs ADD 电子邮件 CHAR(40) NULL GO,(2) 修改现有字段 : 格式: alter table 表名 a

10、lter column 字段名 类型 其他属性设置,【例4.5】将xs表中的电子邮件字段的列长改为20。,ALTER TABLE xs (4-5) ALTER COLUMN 电子邮件 CHAR(20) NULL,【例4.6】将xs表中的电话列删除。,ALTER TABLE xs (4-6) DROP COLUMN 电话,(3) 删除字段 : 格式: alter table 表名 drop column 字段名,423 删除数据表,删除表就是将表的数据和表的结构从数据库中永久的移除。也就是说,一个表一旦被删除,则该表的数据、结构定义、约束、索引等都被永久删除,就无法恢复,除非还原数据库。因此执行

11、此操作时应该慎重。,方法1:在SQL Server Management Studio的“对象资源管理器”中,选择要删除的数据表,单击右键,在弹出的快捷菜单中选择“删除” 。,2、使用DROP TABLE 命令 格式:DROP TABLE 表名,.n,【例4.8】删除xsgl数据库中的cj表。,USE xsgl (4-8) GO DROP TABLE cj GO,在使用DROP TABLE语句删除数据库表时,需注意以下几点。 (1)DROP TABLE语句不能删除系统表。 (2)DROP TABLE语句不能删除正被其他表中的外键约束参考的表。当需要删除这种有外键约束参考的表时,必须先删除外键约

12、束,然后才能删除表。 (3)当删除表时,属于该表的约束和触发器也会自动被删除。如果重新创建该表,必须注意创建相应的规则、约束和触发器等。 (4)使用DROP TABLE命令一次可以删除多个表,多个表名之间用逗号分开。,43 表数据的操作,表创建以后,往往只是一个没有数据的空表。因此,向表中输入数据应当是创建表之后首先要执行的操作。无论表中是否有数据,都可以根据需要向表中添加数据,如果表中的数据不再需要,则可以删除这些数据。,431 图形界面方式操作表数据 在“在对象资源管理窗口”中右击要操作数据的表选择“打开表”即可追加、删除和修改记录。,注意:在编辑表中数据的过程中,输入的各列的内容一定要和

13、所定义的数据类型一致,如果有其他定义或约束等要求,也一定要符合,否则将出现错误。,432 使用INSERT命令向表中添加数据,insert语句格式: insert into 表名字段1,字段2, values(值1,值2, ) 要求:值1、值2的顺序与表中字段的顺序一致,如果不一致或不完整,需要在“表名”后用圆括号把要插入字段的名字括起来.,如:create table 成绩 ( 姓名 varchar(8), 语文 numeric(5,2), 数学 numeric(5,2), 英语 numeric(5,2) ) insert into 成绩 values(张三,88,85,92) insert

14、 into 成绩(姓名,语文,英语) values(李四,85,77) select * from 成绩,【例4.9】向xs表中插入记录。,USE xsgl (4-9) GO INSERT xs(学号,姓名,性别,出生时间,专业,总学分,照片,备注) VALUES(2006030101, 王林, 男 ,88/02/03,NULL,20,NULL,NULL) INSERT xs VALUES(2006030102,程明,男,88/05/15,NULL,20,NULL,NULL) INSERT xs(学号,姓名,性别,出生时间,专业,总学分) VALUES(2006030103,王燕,女,87/0

15、8/22,NULL,20) GO,433 使用UPDATE修改表中的数据,当我们需要更改表中的记录时,可以采用在图形界面方式中直接更改的方法,但是如果更改的数量比较多或更改某一条件的记录,那么手工改写的方法比较麻烦,又不能保证一致性。所以采用update方法既快速有保证一致性。,使用update语句对目标表中的一行、多行或所有行记录进行更新:,格式: update 目标表名 set 字段名=表达式 where ,例:将kc表中“课程号”为A002的“课程名”改为“高等数学”。,update kc (4-10) set 课程名= 高等数学 where 课程号= A002,例:将cj表中将学号为2

16、006030101的成绩减去10分。,select * from cj where 学号=2006030101 (4-11) update cj set 成绩 = 成绩 - 10 where 学号=2006030101 select * from cj where 学号=2006030101,例:将xs表中学号为2006030110的性别改为“男”并且将专业改为“网络工程” 。,update xs (4-12) set 性别=男,专业=网络工程 where 学号=2006030110,【例4.10】将xs表中所有学生的专业设为“信管”。,UPDATE xs (4-13) SET 专业=信管,【

17、例4.11】将xs表中所有男学生专业名称改写为“信息管理”。,说明:不使用where 表示对所有的记录进行修改。,UPDATE xs (4-14) SET 专业=信息管理 WHERE 性别=男,434 使用DELETE或TRANCATE TABLE删除表中的数据,随着实际情况的变化,表中的一些记录可能需要被删除,以提高数据查询的质量。删除表中数据用DELETE语句来完成。使用T-SQL中的DELETE语句可以删除数据表中的个或多个记录。其基本语法格式如下。 DELETE FROM表名 WHERE 注意:若在DELETE语句中没有给出WHERE子句,则删除表中所有记录。,例4.12】将xs表中学号为“2006030102”的同学记录删除。,USE xsgl (4-15) GO DELETE xs

温馨提示

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

评论

0/150

提交评论