- 1、本文档共55页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 SQL 语言基础zmx
数据库原理与应用教程(第3版) 国家“十一五”规划教材 第3章 SQL语言基础及数据定义功能 3.1 基本概念 3.2 SQL的数据类型 3.3 数据定义功能 3.4 数据完整性 3.1 基本概念 3.1.1 SQL语言的发展 3.1.2 SQL语言的特点 3.1.3 SQL语言功能概述 3.1.1 SQL语言的发展 1986年10月由美国ANSI 公布最早的SQL标准。 1989年4月,ISO提出了具备完整性特征的SQL,称为SQL-89 。 1992年11月,ISO又公布了新的SQL标准,称为 SQL-92(以上均为关系形式)。 1999年颁布SQL-99,是SQL92的扩展。 3.1.2 SQL语言的特点 1. 一体化 2. 高度非过程化 3. 简洁 4. 使用方式多样 3.1.3 SQL语言功能概述 3.2 SQL的数据类型 数值型 字符串型 日期时间型 3.2.1数值型 1.准确型 整数 Bigint: 8字节, Int:4字节 Smallint:2字节, Tinyint:1字节 Bit:1位,存储1或0 小数 Numeric(p,q)或Decimal(p,q), 其中:p为数字位长度,q:小数位长度。 2.近似型 Float:8字节 Real:4字节 3.2.2字符串型 普通编码字符串类型 统一字符编码字符串类型 二进制字符串类型 普通编码字符串类型 Char(n):定长存储,n=8000 Varchar(n):不定长存储(按实际长度存储),长度最大不超过n , n=8000 注:n 为字符个数 Text:存储大于8000字节的文本 小于231-1字节 统一字符编码字符串类型 nchar(n):定长存储,n=4000 nvarchar(n):不定长存储,长度最大不超过n , n=4000 ntext:存储大于8000字节的文本, 小于230-1字节 特点:每个字符占两个字节 二进制字符串类型 Binary(n):固定长度,n = 8000。 Varbinary(n):可变长度,n =8000 。 注:n为二进制数据的字节数 image:大容量、可变长二进制字符数据,可用于存储文件。 日期时间型 Datetime:8字节,年月日时分秒毫秒 (例:‘2001/08/03 10:30:00.000’ ) SmallDateTime:4字节,年月日时分 (例: ‘2001/08/03 10:30:00’ ) 日期、时间的输入格式 例如: 2010年10月25日 1.英文数字格式:oct 25 2010 2.数字加分隔符:2010-10-25 3.纯数字 12小时格式:2010-10-25 3:28:56 PM (或AM) 24小时格式:2010-10-25 15:28:56 3.3 数据定义功能 3.3.1 基本表的定义与删除 3.3.2 修改表结构 3.3.1 基本表的定义与删除 1.定义基本表 使用SQL语言中的CREATE TABLE语句实现,其一般格式为: CREATE TABLE 表名 ( 列名 数据类型 [列级完整性约束定义] {, 列名 数据类型 [列级完整性约束定义] … } [, 表级完整性约束定义 ] ) 在列级完整性约束定义处可以定义的约束 NOT NULL:限制列取值非空。 DEFAULT:给定列的默认值。 UNIQUE:限制列取值不重。 CHECK:限制列的取值范围。 PRIMARY KEY:指定本列为主码。 FOREIGN KEY:定义本列为引用其他表的外码。使用形式为: [FOREIGN KEY(外码列名)] REFERENCES 外表名(外表列名) 几点说明 NOT NULL和DEFAULT只能是列级完整性约束; 其他约束均可在表级完整性约束处定义。 注意以下几点: 第一,如果CHECK约束是定义多列之间的取值约束,则只能在表级完整性约束处定义; 第二,如果表的主码由多个列组成,则也只能在表级完整性约束处定义,并将主码列用括号括起来,即:PRIMARY KEY(列1{[,列2 ] …}); 第三,如果在表级完整性约束处定义外码,则“FOREIGN KEY (外码列名)”部分不能省。 约束定义 ① 列取值非空约束 列名 类型 NOT NULL 例:sname char(10) NOT NULL 约束定义(续) ② 表主码约束 在定义列时定义主码(仅用于单列主码) 列定义 PRIMARY KEY 例: SNO char(7) PRIMARY KEY 在定义完列时定义主码(用于单列或多
文档评论(0)