- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 创建数据类型和表 创建数据类型 创建表 生成列值 生成脚本 推荐操作 创建数据类型 系统提供的数据类型 创建和删除用户定义的数据类型 选择数据类型的指导原则 系统提供的数据类型 数字数据 整型数据:存储整数 小数数据:包含存储在最小有效数上的数据 系统提供的数据类型(续) 数字数据(续) 近似数字数据:表示浮点数据的近似数字 货币数据:表示正的或负的货币值 系统提供的数据类型(续) 日期和时间数据 字符数据和 Unicode 字符数据 系统提供的数据类型(续) 二进制数据 其他 创建和删除用户定义的数据类型 为什么要自定义数据类型 当多个表的列中要存储同样类型的数据,且想确保这些列具有完全相同的数据类型、长度和为空性时,可使用用户定义数据类型,以保证数据的一致性 创建用户定义的数据类型 企业管理器 系统存储过程 sp_addtype {类型名},[‘系统数据类型 ’] [,[‘NULL’|‘NOT NULL’]] [,’拥有者’] 删除用户定义的数据类型 sp_droptype {‘类型名’} 创建和删除用户定义的数据类型(续) 选择数据类型的指导原则 若列值的长度相差很大,那么使用变长数据类型 例如某列存储的是人名,地址等 谨慎使用 tinyint 数据类型 虽然节省空间,但扩展性很小 对于小数数据来说,一般使用 decimal 数据类型 可以精确地控制精度 如果行的存储量 超过8 000字节,使用 text 或者 image 若不大于8 000字节,可使用char、varchar或者binary数据类型 对于货币数据,使用 money 数据类型 不要使用类型为 float 或者 real 的列作为主键 因为它们不精确,所以不适合用于比较 第4章 创建数据类型和表 创建数据类型 创建表 生成列值 生成脚本 推荐操作 创建表 SQL Server 在行中组织数据的方式 SQL Server 组织 text、ntext 和 image 数据的方式 创建和删除表 添加和删除列 行中组织数据的方式 text、ntext 和 image 数据的方式 text、ntext 和 image 数据的方式(续) 创建和删除表 创建表 命名表和列:数据库名.拥有者.表名 数据库名默认为当前的工作数据库 拥有者默认为当前用户或者数据库的拥有者 指定 NULL 或者 NOT NULL 确定列值是否可为空 默认按照会话或者数据库的默认值设定 计算列 是一个虚的列,并不物理存放在表中 当取列值的时候,SQL Server 根据其他列的值和一 个公式计算出列值 创建和删除表(续) 分隔标识符 命名规则:保留字,如 table、create、select 等,不能作为对象标识符 不符合标识符格式规则的标识符必须使用分隔符 删除表 DROP TABLE 表名 [,…n] 添加和删除列 添加列 语法:ALTER TABLE 表名 ADD 列名 数据类型 [NULL | NOT NULL] 添加和删除列(续) 删除列 语法:ALTER TABLE 表名 DROP COLUMN 列名 [,…n] 不能删除以下列 正在复制的列 用在索引中的列 用在 CHECK、FOREIGN KEY、UNIQUE 或 PRIMARY KEY 约束中的列 与 DEFAULT 定义关联或绑定到某一默认对象的列 绑定到规则的列 课堂练习 添加列 添加一个数值列 添加列描述 设置精度和小数位数 设置列为标识列 添加一个 GUID 列 添加一个日期列 添加一个字符列 保存并关闭表设计器 第4章 创建数据类型和表 创建数据类型 创建表 生成列值 生成脚本 推荐操作 生成列值 使用 Identity 属性 使用 NEWID 函数和 uniqueidentifier 数据类型 使用 Identity 属性 使用 Identity 属性的要求 每个表只能有一个标识列 只用在 int、smallint、tinyint 和 decimal数据类型上。若用于 decimal,小数位数必须为0 标识列不能进行更新操作 标识列不允许空值 在查询中,可以用关键字 IDENTITYCOL 来代表一个表中的标识列 使得不必指明标识列的列名,增加了灵活性 使用 Identity 属性(续) 检索 Identity 属性的信息 使用全局变量 @@identity 获得当前会话的所有作用域中的任何表最后生成的标识值 例如:select @@identity from Employees 返回Employees表中的
文档评论(0)