




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章 数据表 电子科技大学中山学院 2013年3月 讲解提纲 v4.1 SQL Server中的数据类型 v4.2 创 建 表 v4.3 修改表的结构 v4.4 管理表中的记录 v4.5 删 除 表 4.1 SQL Server中的数据类型 4.1.1 数据类型 4.1.2 空值的含义 1整数型 整数型数据可用于存储精确的整数,包括 bigint,int,smallint和tinyint 4种类型。它们 的区别在于存储的范围不同。如表所示。 数 据 类类 型数 据 范 围围占用存储储空间间 bigint26326318个字节节 int23123114个字节节 smallint21521512个字节节 tinyint02551个字节节 2精确数值型 精确数值型数据由整数部分和小数部分构成 ,decimal和numeric包括两种类型。存储范 围为1038+110381。两者的区别在于 decimal不能用于带有identity关键字的列。 声明精确数值型数据的格式是numeric(p,s) 或者decimal(p,s),其中p为精度,s为小数 位数,s的默认值为0。 3货币型 在SQL Server中用十进制数来表示货币 值。使用货币型数据时必须在数据前加上货 币表示符($),数据中间不能有逗号(,) ;当货币值为负数时,在数据前加上符号( )。 货币型包括money和smallmoney两种类 型。两者的区别如表4-3所示。 数 据 类类 型数 据 范 围围占用存储储空间间 smallmoney23123114个字节节 Money26326318个字节节 4字符型 字符型数据指由字母、数字和其他特殊 符号(如$,#,)构成的字符串。在引用 字符串时要用单引号括起来。字符型数据最 多包含的字符数目是8000。 字符型包括char和varchar两种类型。声明的 格式是char(n)或者varchar(n)。n表示字符串 所包含的最大字符数目。 前者是当输入的字符长度不足n时则用空格补 足,而后者是输入的字符的长度就是实际的 长度。所以前者又称为固定长度字符型,后 者称为可变长度字符型。 5.文本型 当存储的字符数目大于8000时使用文本型。 文本型包括text和ntext,前者存储ASCII字符,后者 存储Unicode字符。text类型可以表示最大长度为 2311个字符,其存储长度为实际字符数个字节。而 ntext类型可以表示最大长度为2301个Unicode字符 ,其存储长度为实际字符个数的两倍,因为 Unicode字符用双字节表示的。 6日期时间型 在SQL Server中日期时间型的数据以字 符串的形式表示,即要用单引号括起来。日 期时间型有smalldatetime和datetime两种类 型。 smalldatetime可表示从1900年1月1日到 2079年6月6日的日期和时间,其存储长度为 4个字节,前2个字节用来存储日期部分距 1900年1月1日之后的天数,后2个字节用来 存储时间部分距中午12点的分钟数。 datetime可表示从1753年1月1日到9999 年12月31 日的日期和时间,其存储长度为8 个字节,前4个字节用来存储距1900年1月1 日的天数,后4个字节用来存储距中午12点的 毫秒数。 4.1.2 空值的含义 创建表时需要确定该列的取值能否为空值 (NULL)。空值意味着没有值,并不是“空格” 或数值0。允许空值表示该列取值是不确定的。 比如student_Info中的class_NO列可以取空 值,可能这个学生是新生还没有固定的班级, 在这种情况下该学生的class_NO这一列取值反 而没有实际意义了。 4.2 创 建 表 4.2.1 使用企业管理器创建表 4.2.2 使用CREATE TABLE语句创建表 4.2.1 使用企业管理器创建表 以创建学生表为例来说明如何借助企业管理器 来操作,具体步骤如下。 (1)打开“企业管理器”,在“企业管理器”中展 开服务器,继续展开“数据库”,并展开要建立 表的数据库,本例是“Student”。在“表”项上 右击鼠标,执行“新建表”命令, 图1-1 学生信息表 何为主键? 表中的每行记录都必须是惟一的,而不允许 出现完全相同的记录。 通过定义主键(PRIMARY KEY)来保证记 录(实体)的惟一性。 一个表的主键由一个或多个字段组成,其值 具有惟一性,而且不允许取空值(NULL), 主键的作用是惟一地标识表中的每一条记录。 何为主键? 为了惟一地标识表中的每一条记录,每个数 据库表都应当有一个主键,而且只能有一个 主键。 例如,学生信息表中的学号字段 有时表中可能没有一个字段具有惟一性,没 有任何字段可以作为表的主键。在这种情况 下,可以考虑使用两个或两个以上字段的组 合作为主键。 何为主键? 4.2.2 使用CREATE TABLE语句创建表 1语法 CREATE TABLE table_name ( column_name data_type NULL|NOT NULLPRIMARY KEY|UNIQUE ,n ) 2参数说明 CREATE TABLE:语法的关键词用大写字母来表 示。本语法中表明是要创建表。 table_name:用户自定义的表名。 column_name:字段名。 data_type:字段的数据类型。 NULL|NOT NULL:允许字段为空或者不为空。 PRIMARY KEY|UNIQUE:字段设置为主键或者字 段值惟一。 ,n:表明可以重复前面的内容。在本语法中表 明可以定义多个字段。 【例1】用SQL语句完成创建student_Info表。 CREATE TABLE student_Info ( student_ID INT not null PRIMARY KEY, student_Name CHAR(10) NULL, student_Gender CHAR(2) NOT NULL, born_Date DATETIME, class_NO INT, tele_Number CHAR(10), ru_Date DATETIME, address VARCHAR(50), comment VARCHAR(200) ) 4.3 修改表的结构 4.3.1 使用企业管理器修改表结构 4.3.2 使用ALTER TABLE语句修改表结构 4.3.1 使用企业管理器修改表结构 (1)打开“企业管理器”并展开服务器,继续展 开“数据库”,并展开要修改表的数据库,本 例 是“Student”。在“表”项上单击鼠标,右边 会出 现表对象,右击要修改的表名,并选择 “设计”命令。 (2)这时会出现创建表结构时的窗口,然后 对表结构做修改就可以了。最后保存退出。 4.3.2 使用ALTER TABLE语句修改表结构 1语法 ALTER TABLE table_name ALTER COLUMN column_name data_type NULL|NOT NULL ADD column_name data_type NULL|NOT NULL DROP COLUMN column_name ,n 2参数说明 ALTER TABLE:本语法中表明是要修改表 。 table_name:用户要作修改的表名。 ALTER COLUMN column_name data_type :表明更改字段。 ADD column_name data_type NULL|NOT NULL:表明添加新的字段。 DROP COLUMN column_name:表明删除 一列。 【例2】为表student_Info添加籍贯字段。 ALTER TABLE student_Info ADD jiguan char(8) 说明: 语法中是表明所括起来的内容是必须要写 的。它本身是不能出现在具体的语句 中的。 如果表中已存在有数据,那么做表结构的修 改就应注意了,可能会出现数据类型不一致 的情形等。所以建议在表结构定义好并输入 数据后,一般不做表结构的修改。 例3 在表s中增加新的列zipcode 。 脚本:ALTER TABLE s ADD zipcode char(6) NULL 例4 删除表s中的列zipcode 。 脚本:ALTER TABLE s DROP COLUMN zipcode 4.4 管理表中的记录 添加记录 修改记录 删除记录 4.4.1 使用企业管理器添加记录 使用企业管理器添加记录的步骤如下。 (1)打开“企业管理器”并展开服务器,继续展开“数 据库”,并展开要添加记录的数据库,本例是 “Student”。在“表”项上单击鼠标,右边会出现表对 象,右击要添加记录的表名,并选择编辑前200行 命令。 (2)如果是第一次执行该命令,出现的窗口的二维 表中是没有任何内容的。 (3)在标有“*”的一行输入相应数据就可以了。 DML数据操纵语言 INSERT语句 DELETE语句 UPDATE语句 1. INSERT语句 1语法 INSERT INTO table_name ( column_name1,column_name2) VALUES (column_value1 , column_value2) 2参数说明 table_name:要插入记录的表名。 (column_name1 ,column_name2) :要插入字段值的字段名。该部分可以省 略不写,那么表明是所有的列都要插入数 据。 column_value1 , column_value2: 所要插入的字段值。字段值要和上面所列 字段一一对应。 例1 在表中插入一条学生记录。 insert into stud_info values(1001,信息501,黄鹏,男,1981-10-12, 江苏省常州市) 例2 在表中插入另一条学生记录。 insert into stud_info(sno,class,sname,sex,birthday,email) values(2001,计应501,张宇蛟,男,1984-11-6, ) 1. INSERT语句 INSERT语句一次只能插入一条纪录。如果要 插入n条记录,那么INSERT语句要书写n次。 第一个INSERT语句由于是每个字段都要插入 数据,所以就没有指明字段名,当然也可以像 第二个INSERT语句指明每个字段。 1. INSERT语句 *38 / 39 使用使用INSERTINSERT语句插入数据语句插入数据 2. DELETE语句 DELETE FROM WHERE 2参数说明 table_name:要删除记录的表名。 省略了WHERE子句的话表明是要删除 表中所有的记录,这时候就成了空表。 例3 删除表s_bak中所有男生。 DELETE FROM stud_info WHERE gender=男 2. DELETE语句 3. UPDATE语句 格式: UPDATE SET =, WHERE 例4 修改表s 中的学号为“2001”的学生记录。 update stud_info set address=北京,telephonewhere sno=2001 *44 / 39 使用使用UPDATEUPDATE语句更新数据语句更新数据 4.5 删 除 表 4.5.1 使用企业管理器删除表 4.5.2 使用DROP TABLE语句删除表 4.5.1 使用企业管理器删除表 如果是单个的表,则可以直接删除。其操作步骤如下: (1)在“数据库”文件夹下,展开相应的数据库,然后
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 跨界合作:出版与新兴行业的协同创新
- 非遗文化传承中的青年力量
- 学术之路介绍
- 探索理科世界
- 2025至2030年中国平型中空玻璃行业投资前景及策略咨询报告
- 合同法考试试题及答案
- 冠心病住院病人的护理
- 2025合同模板广东省农村信用社个人信用借款合同范本
- 家长学校二年级授课课件
- 2025至2030年中国冻煮扇贝柱行业投资前景及策略咨询报告
- ITSM基础知识及流程介绍
- 小学数学《年龄问题》ppt
- 部编版初中语文课后习题答案
- 数据链系统与技术(第2版) 课件 第5、6章 无人机数据链、数据链的消息格式
- SPSS大数据案例分析报告-
- 医疗机构安全检查表
- 眼科白内障课件
- 小学必背古诗词60首
- 高中英语-The Return of the Champions教学设计学情分析教材分析课后反思
- 教育研究的程序与方法课件
- 2023年江苏苏州市中考道法试卷试题及答案详解(精校打印版)
评论
0/150
提交评论