数据库第三章关系数据库标准语言SQL.ppt

数据库第三章关系数据库标准语言SQL.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库第三章关系数据库标准语言SQL

学习目标;3.1 SQL概述; 语言简洁,易学易用:完成核心功能只用9个动词:;3.2 数 据 定 义 ; [例1]建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、系别Sdept五个属性组成。其中学号不能为空,值是唯一的,并且姓名取值也唯一。 CREATE TABLE Student (Sno CHAR(5) NOT NULL UNIQUE, Sname CHAR(20) UNIQUE, Ssex CHAR(1) , Sage INT,Sdept CHAR(15)); ;;CREATE TABLE jobs ( job_id smallint, job_desc varchar(50) NOT NULL DEFAULT New Position - title not formalized yet, min_lvl int NOT NULL CHECK (min_lvl = 10), max_lvl tinyint NOT NULL CHECK (max_lvl = 250 ) ) ;;修改基本表 ALTER TABLE 表名 [ ADD 新列名 数据类型 [ 完整性约束 ] ] [ DROP 完整性约束名 ] [ DROP column 列名 ] [ MODIFY 列名 数据类型 ]; 其中:表名为要修改的基本表,ADD子句为增加新列和新的完整性约束条件,DROP子句为删除指定的完整性约束条件,MODIFY子句为用于修改列名和数据类型。 [例2]向Student表增加“入学时间”列,其数据类型为日期型。 ALTER TABLE Student ADD Scome DATE; 不论基本表中原来是否已有数据,新增加的列一律为空值。?;[例3]将年龄的数据类型改为半字长整数。 ALTER TABLE Student MODIFY Sage SMALLINT; 修改原有的列定义有可能会破坏已有数据。 [例4]删除学生姓名必须取唯一值的约束。 ALTER TABLE Student DROP UNIQUE(Sname); SQL没有提供删除属性列的语句,用户只能间接实现这一功能:先把表中要保留的列及其内容复制到一个新表中,然后删除原表,再将新表重命名为原表名。但有的DBMS提供直接删除属性列的语句,如:ALTER TABLE Student Drop Scome;;[例]示例 A. 更改表以添加新列 下例添加一个允许空值的列,而且没有通过 DEFAULT 定义提供值。各行的新列中的值将为 NULL。 CREATE TABLE doc_exa ( column_a INT) GO ALTER TABLE doc_exa ADD column_b VARCHAR(20) NULL GO EXEC sp_help doc_exa GO DROP TABLE doc_exa GO ;[例]B. 更改表以除去列 下例修改表以删除一列。 CREATE TABLE doc_exb ( column_a INT, column_b VARCHAR(20) NULL) GO ALTER TABLE doc_exb DROP COLUMN column_b GO EXEC sp_help doc_exb GO DROP TABLE doc_exb GO ;[例] C. 更改表以添加具有约束的列 下例向表中添加具有 UNIQUE 约束的新列。 CREATE TABLE doc_exc ( column_a INT) GO ALTER TABLE doc_exc ADD column_b VARCHAR(20) NULL CONSTRAINT exb_unique UNIQUE GO EXEC sp_help doc_exc GO DROP TABLE doc_exc GO ;[例] D. 更改表以添加未验证的约束 下例向表中的现有列上添加约束。该列中存在一个违反约束的值;因此,利用 WITH NOCHECK 来防止对现有行验证约束,从而允许该约束的添加。 CREATE TABLE doc_exd ( column_a INT) GO INSERT INTO doc_exd VALUES (-1) GO ALTER TABLE doc_exd WITH NOCHECK ADD CONSTRAINT exd_check CHECK (column_a 1) GO; ;建立索引 CREATE [UNIQUE] [CLUSTER] IN

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档