- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6_第3章_关系数据库标准语言_1
3.3.3 基本表定义 数据类型 SQL中域的概念用数据类型来实现 定义表的属性时 需要指明其数据类型及长度 选用哪种数据类型 取值范围 要做哪些运算 3.3.3 基本表定义 数据类型 数据类型 含义 CHAR(n) 长度为n的定长字符串 VARCHAR(n) 最大长度为n的变长字符串 INT 长整数(也可以写作INTEGER) SMALLINT 短整数 NUMERIC(p,d) 定点数,由p位数字(不含小数点)组成,小数后面有d位数字 REAL 取决于机器精度的浮点数 Double Precision 取决于机器精度的双精度浮点数 FLOAT(n) 浮点数,精度至少为n位数字 DATE 日期,包含年、月、日,格式为YYYY-MM-DD TIME 时间,包含一日的时、分、秒,格式为HH:MM:SS 3.3.3 基本表定义 模式与表 每一个基本表都属于某一个模式 一个模式包含多个基本表 定义基本表所属模式 方法一:在表名中明显地给出模式名 Create table ST.Student(); /*模式名为 S-T*/ 方法二:在创建模式语句中同时创建表 方法三:设置所属的模式 3.3.3 基本表定义 模式与表SQL SERVER 2008 CREATE USER user_name [ { { FOR | FROM } { LOGIN login_name | CERTIFICATE cert_name | ASYMMETRIC KEY asym_key_name } | WITHOUT LOGIN ] [ WITH DEFAULT_SCHEMA = schema_name ] 3.3.3 基本表定义 修改基本表 ALTER TABLE 表名 [ ADD 新列名 数据类型 [ 完整性约束 ] ] [ DROP 完整性约束名 ] [ ALTER COLUMN列名 数据类型 ]; 表名:要修改的基本表 ADD子句:增加新列和新的完整性约束条件 DROP子句:删除指定的完整性约束条件 ALTER COLUMN子句:用于修改列名和数据类型 3.3.3 基本表定义 修改基本表 [例8]向Student表增加“入学时间”列,数据为日期型。 ALTER TABLE Student ADD S_entrance DATE; 不论基本表中原来是否已有数据,新增加的列一律为空值。? [例9]将年龄的数据类型由字符型改为整数。 ALTER TABLE Student ALTER COLUMN Sage INT; [例10]增加课程名称必须取唯一值的约束条件。 ALTER TABLE Course ADD UNIQUE(Cname); 3.3.3 基本表定义 删除基本表 DROP TABLE 表名 [例11] 删除Student表 DROP TABLE Student; 基本表定义被删除,数据被删除 表上建立的索引、视图、触发器等一般也将被删除 3.3.3 基本表定义 删除基本表 [例12]若表上建有视图,选择RESTRICT时表不能删除 CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept=IS; DROP TABLE Student; 3.3.4 索引定义 建立索引的目的:加快查询速度 建立索引 DBA或表的属主(即建立表的人) DBMS一般会自动建立以下列上的索引 PRIMARY KEY UNIQUE 维护索引 DBMS自动完成? 使用索引 DBMS自动选择是否使用索引以及使用哪些索引 3.3.4 索引定义 创建索引 语句格式 CREATE [UNIQUE] [CLUSTER] INDEX 索引名 ON 表名(列名[次序][,列名[次序] ]…); 用表名指定要建索引的基本表名字 索引可建立在表的一列或多列上,各列间用逗号分隔 用次序指定索引值的排列次序,升序:ASC,降序:DESC。缺省值:ASC UNIQUE表明此索引的每个索引值只对应唯一数据记录 CLUSTER表示要建立的索引是聚簇索引 3.3.4 索引定义 定义索引 [例13] CREATE CLUSTER INDEX Stusname ON Student(Sname);在Student表的Sname(姓名)列上建立一个聚簇索引 在最经常查询的列上建立聚簇索引以提高查询效率 一个基本表上最
文档评论(0)