创建和管理数据库表
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 注意:如果用户定义数据类型是在 model 数据 库中创建的,它将作用于所有用户定义的新数 据库中。如果数据类型在用户定义的数据库中 创建,则该数据类型只作用于此用户定义的数 据库。
创建和管理数据库表
▪ 创建用户定义的数据类型
• 企业管理器 • 系统存储过程
• 语法
• sp_addtype [ @typename = ] type, [ @phystype = ] system_data_type [ , [ @nulltype = ] 'null_type' ] [ , [ @owner = ] 'owner_name' ]
numeric [(p[,s])] 在SQL Server中,等价于decimal
创建和管理数据库表
Leabharlann Baidu
• 近似数字数据:表示浮点数据的近似数字
float [(n)] 从 -1.79E+308 到 1.79E+308 之间的浮点数字数据;n 为
用于存储科学记数法尾数的位数,同时指示其精度和存储大
小,1≤n≤53
可 变 长 度
Unicode
采用两 个字节 编码,可 以存储 日文、 韩文和
汉字
char [(n)] 存储字符个数为 0~8 000
varchar [(n)] 存储字符个数为 0~8 000
text
存储字符个数为 0~2GB
nchar [(n)] 存储字符个数为 0~4 000
nvarchar[(n)] 存储字符个数为 0~4 000
货币数据使用时,不需要用单引号’ ’括起来,但货币数 值之前一定要带有适当的货币符号。如:$78
创建和管理数据库表
▪ 日期和时间数据
datetime
占8个字节,表示从1753年1月1日到 9999年12月31日的日期
smalldatetime 占4个字节,表示从1900年1月1日至
▪ 字符数据和 Unico2d0e79字年6符月数6日据的日期
创建和管理数据库表
5.1 数 据 类 型
表的内容由列属性组成,数据类型是最重要的列属性, 它决定了数据的存储格式(长度、精度、小数位数等)
▪ 系统提供的数据类型 ▪ 创建和删除用户定义的数据类型 ▪ 选择数据类型的指导原则
创建和管理数据库表
系统提供的数据类型
▪ 数值型数据
• 整型数据:存储整数
bigint int smallint tinyint
占8个字节,值的范围为 -263~263-1 占4个字节,值的范围为 -231~231-1 占2个字节,值的范围为 -32768~32 767
占1个字节,值的范围为 0~255
• 小数数据:包含存储在最小有效数上的数据
decimal [(p[,s])] p为精度,最大38; s为小数位数,0≤s≤p
第5章 管理与使用表
▪ 5.1 数 据 类 型 ▪ 5.2 创 建 表 ▪ 5.3 修 改 表 ▪ 5.4 查看表属性 ▪ 5.5 删 除 表
创建和管理数据库表
概述: 1. 表是重要数据库对象,是数据库的基本组成部分,是 储存数据的逻辑载体 2. 关系型数据库的表是二维的,表的一列称为一个字段; 表的一行称为一个记录 3. SQL Server 2000中,一个表中最多允许1024列,表 的行数没有限制,与磁盘存储空间有关
ntext
存储字符个数为 0~1GB
创建和管理数据库表
▪ 二进制数据
binary[(n)] varbinary[(n)]
image
存储字节个数 0~8 000 存储字节个数 0~8 000 存储字节个数 0~2 G
▪ 其他
bit cursor rowversion (timestamp) sql_variant
创建和管理数据库表
永久表 :表一旦创建将一直存储在硬盘上,除非被用户删除 permernet
表
局部临时表:以#开头,仅可由创建者本人 在创建后立即使用,一旦断开连接,该表 被删除
临时表:用户退出 时自动被系统删除
temp
全局临时表 以##开头,创建后可以由多个 用户使用,当最后使用的用户断开连接, 该表被删除
table uniqueidentifier
存储位数据
存储对游标的引用 时间戳 可存储除 text、ntext、 image、rowversion 之外的 其他类型 存储函数返回结果 存储 GUID 以及 UUID
创建和管理数据库表
选择数据类型的指导原则
▪ 若列值的长度相差很大,那么使用变长数据类型
real
从 3.40E+38 到 3.40E+38 之间的浮点数字数据,存储大小 为 4 字节;SQL Server 中,real 的同义词为 float(24)
注意:存储的非精确值而只是近似值,在使用 where进行查询时,避免使用数据类型为float和 real的字段。另限制float和real的字段作>和<的 比较
创建和管理数据库表
▪ 货币数据:表示正的或负的货币值
money smallmoney
占8个字节,值的范围为 -922 337 203 685 477.580 8 ~+922 337 203 685 477.580 7
占4个字节,值的范围为 -214 748.3648 ~ 214 748.3647
注意:
• 删除用户定义的数据类型
sp_droptype {‘类型名’}
创建和管理数据库表
企业管理器创建用户定义函数
▪ 展开服务器组,然后展开服务器。
▪ 对于货币数据,使用 money 数据类型 ▪ 不要使用类型为 float 或者 real 的列作为主键
• 因为它们不精确,所以不适合用于比较
创建和管理数据库表
创建和删除用户定义的数据类型
▪ 用户定义的数据类型(扩展SQL Server的基本数据类型)
• 当多个表的列中要存储同样类型的数据,且想确保这些 列具有完全相同的数据类型、长度和为空性时,可使用 用户定义数据类型
• 例如某列存储的是人名,地址等
▪ 谨慎使用 tinyint 数据类型
• 虽然节省空间,但扩展性很小
▪ 对于小数数据来说,一般使用 decimal 数据类型
• 可以精确地控制精度
▪ 如果行的存储量 超过8 000字节,使用 text 或者 image
• 若不大于8 000字节,可使用char、varchar或者binary 数据类型
创建和管理数据库表
▪ 创建用户定义的数据类型
• 企业管理器 • 系统存储过程
• 语法
• sp_addtype [ @typename = ] type, [ @phystype = ] system_data_type [ , [ @nulltype = ] 'null_type' ] [ , [ @owner = ] 'owner_name' ]
numeric [(p[,s])] 在SQL Server中,等价于decimal
创建和管理数据库表
Leabharlann Baidu
• 近似数字数据:表示浮点数据的近似数字
float [(n)] 从 -1.79E+308 到 1.79E+308 之间的浮点数字数据;n 为
用于存储科学记数法尾数的位数,同时指示其精度和存储大
小,1≤n≤53
可 变 长 度
Unicode
采用两 个字节 编码,可 以存储 日文、 韩文和
汉字
char [(n)] 存储字符个数为 0~8 000
varchar [(n)] 存储字符个数为 0~8 000
text
存储字符个数为 0~2GB
nchar [(n)] 存储字符个数为 0~4 000
nvarchar[(n)] 存储字符个数为 0~4 000
货币数据使用时,不需要用单引号’ ’括起来,但货币数 值之前一定要带有适当的货币符号。如:$78
创建和管理数据库表
▪ 日期和时间数据
datetime
占8个字节,表示从1753年1月1日到 9999年12月31日的日期
smalldatetime 占4个字节,表示从1900年1月1日至
▪ 字符数据和 Unico2d0e79字年6符月数6日据的日期
创建和管理数据库表
5.1 数 据 类 型
表的内容由列属性组成,数据类型是最重要的列属性, 它决定了数据的存储格式(长度、精度、小数位数等)
▪ 系统提供的数据类型 ▪ 创建和删除用户定义的数据类型 ▪ 选择数据类型的指导原则
创建和管理数据库表
系统提供的数据类型
▪ 数值型数据
• 整型数据:存储整数
bigint int smallint tinyint
占8个字节,值的范围为 -263~263-1 占4个字节,值的范围为 -231~231-1 占2个字节,值的范围为 -32768~32 767
占1个字节,值的范围为 0~255
• 小数数据:包含存储在最小有效数上的数据
decimal [(p[,s])] p为精度,最大38; s为小数位数,0≤s≤p
第5章 管理与使用表
▪ 5.1 数 据 类 型 ▪ 5.2 创 建 表 ▪ 5.3 修 改 表 ▪ 5.4 查看表属性 ▪ 5.5 删 除 表
创建和管理数据库表
概述: 1. 表是重要数据库对象,是数据库的基本组成部分,是 储存数据的逻辑载体 2. 关系型数据库的表是二维的,表的一列称为一个字段; 表的一行称为一个记录 3. SQL Server 2000中,一个表中最多允许1024列,表 的行数没有限制,与磁盘存储空间有关
ntext
存储字符个数为 0~1GB
创建和管理数据库表
▪ 二进制数据
binary[(n)] varbinary[(n)]
image
存储字节个数 0~8 000 存储字节个数 0~8 000 存储字节个数 0~2 G
▪ 其他
bit cursor rowversion (timestamp) sql_variant
创建和管理数据库表
永久表 :表一旦创建将一直存储在硬盘上,除非被用户删除 permernet
表
局部临时表:以#开头,仅可由创建者本人 在创建后立即使用,一旦断开连接,该表 被删除
临时表:用户退出 时自动被系统删除
temp
全局临时表 以##开头,创建后可以由多个 用户使用,当最后使用的用户断开连接, 该表被删除
table uniqueidentifier
存储位数据
存储对游标的引用 时间戳 可存储除 text、ntext、 image、rowversion 之外的 其他类型 存储函数返回结果 存储 GUID 以及 UUID
创建和管理数据库表
选择数据类型的指导原则
▪ 若列值的长度相差很大,那么使用变长数据类型
real
从 3.40E+38 到 3.40E+38 之间的浮点数字数据,存储大小 为 4 字节;SQL Server 中,real 的同义词为 float(24)
注意:存储的非精确值而只是近似值,在使用 where进行查询时,避免使用数据类型为float和 real的字段。另限制float和real的字段作>和<的 比较
创建和管理数据库表
▪ 货币数据:表示正的或负的货币值
money smallmoney
占8个字节,值的范围为 -922 337 203 685 477.580 8 ~+922 337 203 685 477.580 7
占4个字节,值的范围为 -214 748.3648 ~ 214 748.3647
注意:
• 删除用户定义的数据类型
sp_droptype {‘类型名’}
创建和管理数据库表
企业管理器创建用户定义函数
▪ 展开服务器组,然后展开服务器。
▪ 对于货币数据,使用 money 数据类型 ▪ 不要使用类型为 float 或者 real 的列作为主键
• 因为它们不精确,所以不适合用于比较
创建和管理数据库表
创建和删除用户定义的数据类型
▪ 用户定义的数据类型(扩展SQL Server的基本数据类型)
• 当多个表的列中要存储同样类型的数据,且想确保这些 列具有完全相同的数据类型、长度和为空性时,可使用 用户定义数据类型
• 例如某列存储的是人名,地址等
▪ 谨慎使用 tinyint 数据类型
• 虽然节省空间,但扩展性很小
▪ 对于小数数据来说,一般使用 decimal 数据类型
• 可以精确地控制精度
▪ 如果行的存储量 超过8 000字节,使用 text 或者 image
• 若不大于8 000字节,可使用char、varchar或者binary 数据类型