版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、3.1 SQL Server表的概念表的概念3.2 SQL Server中的数据类型中的数据类型3.3 创建创建数据表数据表3.4 管理数据管理数据表表 11.1.表的概念表的概念 在在SQL ServerSQL Server数据库中,数据库中,表定义为列的集合,与表定义为列的集合,与ExcelExcel电电子表格相似,数据在表中是按行和列的格式组织排列的。每子表格相似,数据在表中是按行和列的格式组织排列的。每行代表唯一的一条记录,而每列代表记录中的一个域。行代表唯一的一条记录,而每列代表记录中的一个域。 学号姓名性别出生日期系部入学时间000101张三男1980计算机2000000201李伟
2、男1981经 济 管理2000010101王丽女1982数学2001关系名(表名)属性(列或字段)关系模式 属性名记录或元组主键(码)22.表的设计表的设计 在在SQL Server创建表有如下限制:创建表有如下限制:每个数据库里最多有每个数据库里最多有20亿个表亿个表。每个表上最多可以创建每个表上最多可以创建一个聚集索引一个聚集索引和和249个非聚集索个非聚集索引引。每个表最多可以配置每个表最多可以配置1024个字段个字段。每条记录最多可以占每条记录最多可以占8060B,但不包括但不包括text字段和字段和image字段。字段。 33.1 SQL Server表的概念表的概念3.2 SQL
3、Server中的数据类型中的数据类型3.3 创建创建数据表数据表3.4 管理数据管理数据表表 41.二进制数据二进制数据 2.字符型数据类型字符型数据类型 3.Unicode字符数据字符数据 4.日期时间型数据日期时间型数据 5.整数型数据整数型数据 6.精确数值型数据精确数值型数据 7.近似数值类型近似数值类型 8.货币数据货币数据 9.位类型数据位类型数据 51.二进制数据二进制数据功能:常用于存储图像等数据,包括长二进制数据功能:常用于存储图像等数据,包括长二进制数据binary、变长二进制数据、变长二进制数据varbinary和和image三种。三种。类型类型存储空间大小存储空间大小(
4、字节字节)最大取值最大取值说明说明Binary(n)N+4存储空间固定存储空间固定N1,8000默认为默认为1输入不足输入不足n+4字节字节,补足后补足后存储存储;超过则截断后存储超过则截断后存储.Varbinary(n)变长存储数据变长存储数据 N1,8000默认为默认为1输入不足输入不足n+4字节字节,按实际按实际长度存储长度存储;超过则截断后超过则截断后存储存储.image231-162.字符型数据类型字符型数据类型功能功能: :用于存储汉字、英文字母、数字、标点和各种符号,用于存储汉字、英文字母、数字、标点和各种符号,必必须由英文单引号括起来须由英文单引号括起来。类型类型存储空间大小存
5、储空间大小(字节字节)最大取值最大取值说明说明char(n)固定长度存储字固定长度存储字符串符串N1,8000默认为默认为1输入不足输入不足n个字节个字节,补足后补足后存储存储;超过则截断后存储超过则截断后存储.varchar(n)按变长存储字符按变长存储字符串串N1,8000默认为默认为1输入不足输入不足n字节字节,按实际长按实际长度存储度存储;超过则截断后存储超过则截断后存储.text231-1个字节个字节73.Unicode字符数据字符数据 功能:存放功能:存放Unicode字符数据字符数据. .支持的字符范围更大,存储所需支持的字符范围更大,存储所需 要的空间也更大。要的空间也更大。类
6、型类型存储空间大小存储空间大小(字节字节)最大取值最大取值说明说明nchar(n)固定长度存储固定长度存储字符串字符串N1,4000默认为默认为1输入不足输入不足n个字节个字节,补足后补足后存储存储;超过则截断后存储超过则截断后存储.nvarchar(n)按变长存储字按变长存储字符串符串N1,4000默认为默认为1输入不足输入不足n字节字节,按实际长按实际长度存储度存储;超过则截断后存储超过则截断后存储.ntext230-1个字节个字节84.日期时间型数据日期时间型数据功能:用于存储日期和时间数据。功能:用于存储日期和时间数据。类型类型存储范围存储范围datetime存储从存储从1753年年1
7、月月1日到日到9999年年12月月31日的日期和时间日的日期和时间数据,精确度为数据,精确度为3%秒。秒。smalldatetime存储从存储从1900年年1月月1日到日到2079年年6月月6日的日期和时间数日的日期和时间数据,精确度为分据,精确度为分.95. .整数型数据整数型数据功能:用于存储整型数据。功能:用于存储整型数据。类型类型存储大小(字节)存储大小(字节)数据范围数据范围bigint8-263 263-1int4-231 231-1smallint2-215 215-1tinyint10255106.精确数值型数据精确数值型数据 功能:用于存储带有小数点且小数点后位数确定的实数。
8、功能:用于存储带有小数点且小数点后位数确定的实数。类型类型说明说明数据范围数据范围decimal(p,s)p指定存储数据的最大位指定存储数据的最大位数,不含小数点数,不含小数点,p1,38;s指定存储的小数的指定存储的小数的最大位数最大位数, s0,p.默认小数位是默认小数位是0。-1038+1 1038-1numeric(p,s)117.近似数值类型近似数值类型功能:用于存储浮点数。功能:用于存储浮点数。 类型类型说明说明数据范围数据范围float(n)n为精度,为精度,n1,53存放存放-1.79E+3081.79E+308数值数值范围内的浮点数范围内的浮点数real存储大小为存储大小为4
9、个字个字节节从从 -3.40E + 38 到到 3.40E + 38 之之间的浮点数字数据间的浮点数字数据128.货币数据货币数据类型类型存储大小存储大小数据范围数据范围money8 个字节个字节货币数据值介于货币数据值介于 -263与与 263 - 1之之间,精确到货币单位的千分之间,精确到货币单位的千分之十十smallmoney4个字节个字节货币数值介于货币数值介于-214,748.3648 +214.748,3647 之间,精确到货之间,精确到货币单位的千分之十币单位的千分之十139.位类型数据位类型数据功能:位类型数据用于存储整数,只能取功能:位类型数据用于存储整数,只能取 1、0 或
10、或NULL, 常用于逻辑数据的存取。常用于逻辑数据的存取。说明:说明: 在位类型的字段中输入在位类型的字段中输入0 0和和1 1之外的任何值,系统都会之外的任何值,系统都会 作为作为1 1来处理。来处理。 如果一个表中有如果一个表中有8 8个以下的位类型数据字段,则系统会用一个以下的位类型数据字段,则系统会用一 个字节存储这些字段;如果表中有个字节存储这些字段;如果表中有9 9个以上个以上1616个以下位类型数据个以下位类型数据 字段,则系统会用两个字节来存储这些字段。字段,则系统会用两个字节来存储这些字段。 143.1 SQL Server表的概念表的概念3.2 SQL Server中的数据
11、类型中的数据类型3.3 创建创建数据表数据表3.4 管理数据管理数据表表 151.使用使用SSMS创建表创建表 创建表的步骤创建表的步骤: 1)定义表结构定义表结构:给表的每一列取字段名,并确定每一列的数:给表的每一列取字段名,并确定每一列的数据类型、数据长度、列数据是否可以为空等。据类型、数据长度、列数据是否可以为空等。 2)设置约束设置约束:设置约束是为了限制该列输入值的取值范围,:设置约束是为了限制该列输入值的取值范围,以保证输入数据的正确性和一致性。以保证输入数据的正确性和一致性。 3)添加数据添加数据:表结构建立完成之后,就可以向表中输入数据。:表结构建立完成之后,就可以向表中输入数
12、据。 161.使用使用SSMS创建表创建表 例例1:请在请在student数据库中建立数据库中建立“学生基本信息学生基本信息”表的结构。表的结构。注注: : 主键的字段值不能为空主键的字段值不能为空, ,且字段值在表中必须唯一且字段值在表中必须唯一字段名字段名字段数据类型字段数据类型长度长度是否为空是否为空约束约束学号学号char8否否主键主键姓名姓名char10否否 性别性别char2是是 默 认 值默 认 值 男男出生年月出生年月datetime8是是 籍贯籍贯varchar20是是 家庭住址家庭住址varchar60是是电话电话char15是是 所属班级所属班级char8是是 172.使
13、用使用T-SQL语句创建表语句创建表 1)语法:语法:CREATE TABLE database_name.owner.|owner.table_name ( column_definition | PRIMARY KEY | UNIQUE ,N ) := column_name data_type DEFAULT constraint_expression | IDENTITY (seed,increment) ,n18语法注释:语法注释:database_name:指定创建的表所在的数据库,在:指定创建的表所在的数据库,在当前数据库创建表时该项可以省略。当前数据库创建表时该项可以省略。 o
14、wner:指定表的拥有者,如果表的拥有者为当前:指定表的拥有者,如果表的拥有者为当前用户,该项可以省略。用户,该项可以省略。 table_name:指定新建表的名称。:指定新建表的名称。 column_definttion:为表中字段的定义表达式。:为表中字段的定义表达式。 column_name:为表中的字段名。:为表中的字段名。 data_type:为字段的数据类型。:为字段的数据类型。 PRIMARY KEY:为主键约束关键字。:为主键约束关键字。 UNIQUE:为唯一约束关键字。:为唯一约束关键字。 DEFAULT:为默认约束关键字。:为默认约束关键字。 IDENTITY:为自动编号标
15、识。:为自动编号标识。 Seed:为自动标识的开始值,默认为:为自动标识的开始值,默认为1。 Increment:为自动编号的步长或增量,默认为:为自动编号的步长或增量,默认为1。19 例例2:创建带有参照约束的学生表创建带有参照约束的学生表stud_info,学生表的表结构定义如,学生表的表结构定义如 下表所示。下表所示。“学号学号”字段为学生表的主键。字段为学生表的主键。字段名字段名字段数据类型字段数据类型长度长度是否为空是否为空约束约束学号学号char8否否主键主键姓名姓名char10否否 性别性别char2是是 默 认 值默 认 值 男男出生年月出生年月datetime8是是 籍贯籍贯
16、varchar20是是 家庭住址家庭住址varchar60是是电话电话char15是是 所属班级所属班级char8是是 20创建创建“学生学生”表的代码如下:表的代码如下:USE StudentGO CREATE TABLE stud_info(学号学号 char(8) PRIMARY KEY,姓名姓名 char(10) NOT NULL,性别性别 char(2) DEFAULT 男男,出生年月出生年月 datetime,籍贯籍贯 varchar(20),家庭住址家庭住址 varchar(60),电话电话 char(15),所属班级所属班级 char(8))GO21例例3:在学生管理数据库中用
17、:在学生管理数据库中用T-SQL语句创建一个学生成绩表语句创建一个学生成绩表 stud_score ,表结构如下,其中包含标识列和计算列。,表结构如下,其中包含标识列和计算列。22实现的实现的T-SQL语句语句:CREATE TABLE CREATE TABLE stud_scorestud_score( ( ScoreidScoreid intint IDENTITY(1,1) PRIMARY KEY, IDENTITY(1,1) PRIMARY KEY, Stud_noStud_no char(8) NOT NULL, char(8) NOT NULL, Math Math intint
18、DEFAULT 0, DEFAULT 0, Chinese Chinese intint DEFAULT 0, DEFAULT 0, Computer Computer intint DEFAULT 0, DEFAULT 0, total_scoretotal_score AS Math+ Chinese+ computer AS Math+ Chinese+ computer) )GOGO23设置列的标识属性时,应注意设置列的标识属性时,应注意: 该列的数据类型必须是该列的数据类型必须是decimal, int, numeric, smallint, bigint, tinyint中的一种,
19、才可以设置标识属性。中的一种,才可以设置标识属性。 标识列不允许为空值,也不能包含默认属性。标识列不允许为空值,也不能包含默认属性。 每个表中只允许有一个标识列,并且不可以修改。每个表中只允许有一个标识列,并且不可以修改。设置计算列时,应注意设置计算列时,应注意: 在计算列中不能添加如在计算列中不能添加如primary key、 unique、 foreign key、 default等约束条件。等约束条件。 不能对计算列进行赋值。不能对计算列进行赋值。243.1 SQL Server表的概念表的概念3.2 SQL Server中的数据类型中的数据类型3.3 创建创建数据表数据表3.4 管理数
20、据管理数据表表 253.4.1 修改表结构修改表结构 3.4.2 删除数据表删除数据表 3.4.3 查看数据表查看数据表261 使用使用SSMS修改表结构修改表结构例例4:修改:修改“student” 库中库中“学生基本信息表学生基本信息表”表结构。表结构。272 使用使用T-SQL语言修改表语言修改表 1)语法:语法:ALTER TABLE table_name ALTER COLUMN column_name new_data_type ( precision , scale ) NULL | NOT NULL | ADD ,.n | DROP CONSTRAINT constraint_
21、name | COLUMN column ,.n DEFAULT constant_expression WITH VALUES | IDENTITY ( seed , increment ) 28 2)语法注释:语法注释: ALTER COLUMN:修改表列属性的子句修改表列属性的子句 ADD:增加列或约束的子句增加列或约束的子句 DROP COLUMN:删除表列的子句删除表列的子句 table_name:需要修改表的表格名称需要修改表的表格名称 column_name:希望增加的字段名希望增加的字段名 data_type:需要增加的字段的数据类型名需要增加的字段的数据类型名 collati
22、on_name:排序规则名排序规则名 29例例5:使用:使用T-SQL代码修改学生基本信息表代码修改学生基本信息表stud_info结构结构,增加字增加字段段“QQ号码号码”,数据类型为,数据类型为varchar,长度为,长度为15,可为空;增加入,可为空;增加入学时间字段,时间学时间字段,时间/日期类型,默认时间为日期类型,默认时间为2006-9-1。USE studentGOALTER TABLE stud_infoADD QQ号码号码 varchar(15) GOALTER TABLE stud_infoADD 入学时间入学时间 datetime DEFAULT 2006-9-1GO30例例6:使用:使用T-SQL代码修改学生基本信息表代码修改学生基本信息表stud_info结结构,修改字段构,修改字段“家庭住址家庭住址”的长度为的长度为100。实现的实现的T-SQL语句语句USE studentGOALTER TABLE stud_infoALTER COLUMN 家庭住址家庭住址 varchar(100)GO31例例7:使用:使用T-SQL语句删除学生基本信息表语句删除学生基本信息表stud_info的的QQ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度医疗耗材采购合同失效声明及替代方案3篇
- 2024年软件领域保密技术保护协议样本版B版
- 2025版变电站电气安装工程安全生产责任与风险控制合同6篇
- 2025版酒店管理咨询公司酒店加盟合同范本3篇
- 二零二五年度5G通信技术研发承包经营协议3篇
- 世界环境日节能减排保护环境绿色低碳环保主题95
- 二零二五年交通基础设施建设借款合同模板3篇
- 二零二五年度劳动人事争议仲裁院劳动争议调解与仲裁服务合同2篇
- 二零二五年度医疗机构医疗用房借用协议6篇
- 2024年版软件开发与授权许可合同
- 新媒体运营工作年终总结
- 【MOOC】电子技术-北京科技大学 中国大学慕课MOOC答案
- 米酒酿造工艺
- 点式高层住宅工程施工组织设计
- 0-3岁婴幼儿心理发展知到智慧树期末考试答案题库2024年秋杭州师范大学
- 2024年1月福建省普通高中学业水平合格性考试化学试题(解析版)
- 齐白石介绍课件
- 窥见中华文明之光- 高中语文统编版(2022)必修下册第一单元整体教学设计
- 2024年安徽省公务员录用考试《行测》真题及解析
- 项目年终总结及明年计划
- 2024年工程部年终总结
评论
0/150
提交评论