版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第4 4章章 结构化查询语言结构化查询语言SQLSQL create(定义表结构定义表结构) drop(删除表删除表) alter(修改表结构修改表结构) 本节的本节的难点难点: 定义表结构、修改表结构(定义表结构、修改表结构(命令功能强大,格式相似命令功能强大,格式相似) 回目录 4.24.2数据定义数据定义 SQL SQL的数据定义包括的数据定义包括数据库数据库的定义、的定义、数据数据 表表的定义、的定义、视图视图的定义、的定义、规则规则的定义的定义 4.24.2数据定义数据定义 定义表结构定义表结构 掌握用掌握用create tablecreate table命令定命令定 义表结构义表
2、结构 理解分析理解分析create tablecreate table命令命令 的各项功能,能根据其功能的各项功能,能根据其功能 来写出正确的操作命令来写出正确的操作命令 4.2.1 创建表 1.1.创建数据库命令创建数据库命令 【格式】【格式】CREATE DATABASE CREATE DATABASE 2.创建数据表命令创建数据表命令 【格式】【格式】 CREATE TABLE/DBF NAME FREE ; ( ( ,) NULL | NOT NULL; CHECK ERROR “出错信息出错信息” DEFAULT 默默 认值认值; PRIMARY KEY UNIQUE ; ,; ,
3、FOREIGN KEY TAG REFERENCES ) 1、用、用CREATE TABLE 命令可以完成表设计器具有命令可以完成表设计器具有 的所有操作,的所有操作, 2、TABLE 和和DBF等价,都等价,都 是建立表文件是建立表文件 3、NAME为新建表指定一个长表名,只为新建表指定一个长表名,只 有打开数据库,在数据库中创建表时,才能指定一有打开数据库,在数据库中创建表时,才能指定一 个长表名,长表名最多可以包含个长表名,长表名最多可以包含128个字符个字符 4、FREE建立的表是自由表,不加入到打开的数据建立的表是自由表,不加入到打开的数据 库中,当没有打开数据库时,建立的表都是自由
4、表库中,当没有打开数据库时,建立的表都是自由表 5、字符类型用字符来表示、字符类型用字符来表示 6、NULL:允许该字段值为空,:允许该字段值为空,NOT NULL字段值字段值 不能为空,缺省值为不能为空,缺省值为NOT NULL 7、CHECK指定字段的合法值及约束指定字段的合法值及约束 条件条件 8、ERROR为在浏览编辑窗口中该字段为在浏览编辑窗口中该字段 输入的值不符合输入的值不符合CHECK子句的合法值时显示的提子句的合法值时显示的提 示信息示信息 8、DEFAULT为字段指定一个缺省值为字段指定一个缺省值 9、PRIMARY KEY 为字段创建一个主索引,索引为字段创建一个主索引,
5、索引 标识名字段名相同,主索引字段值必须唯一标识名字段名相同,主索引字段值必须唯一 10、UNIQUE为字段创建一个候选索引,标识名与为字段创建一个候选索引,标识名与 字段名同字段名同 10、REFERENCESTAG表示与表示与建立永久性关系建立永久性关系 【例【例1】建立教室管理数据库。】建立教室管理数据库。 CREATE DATABASE 教室管理教室管理 【例【例2】在教室管理数据库中建立教室表,表中包含三个字段,】在教室管理数据库中建立教室表,表中包含三个字段, “教室编号教室编号”(字符型,宽度(字符型,宽度4,主索引),主索引),“所在楼名所在楼名” (字符型,宽度(字符型,宽度
6、12,候选索引),候选索引),“坐位数坐位数”(整型,设置(整型,设置 字段有效性:坐位数应大于零,否则提示错误信息字段有效性:坐位数应大于零,否则提示错误信息“坐位数坐位数 应为非负应为非负”,默认值为,默认值为100)。)。 CREATE TABLE 教室教室(教室编号教室编号 C(4) PRIMARY KEY, ; 所在楼名所在楼名 C(12) UNIQUE,坐位数坐位数 I CHECK 坐位数坐位数0 ; ERROR “坐位数应为非负坐位数应为非负” DEFAULT 100) CHECK ERROR DEFAULT 【例3】在教室管理数据库中建立教室使用表,表中包含三个字 段,“教室编
7、号”(字符型,宽度4),“使用者”(字符型, 宽度12),“使用时间”(日期型),根据“教室编号”建 立普通索引,并与“教室”表进行永久联系。 CREATE TABLE 教室使用教室使用(教室编号教室编号 C(4),; 使用者使用者 C(12),使用时间使用时间 D, ; FOREIGN KEY 教室编号 TAG 教室编号 REFERENCES 教室) 将两个表进行永久性联接将两个表进行永久性联接 FOREIGN KEY TAG REFERENCES 例4.建立自由表“教师信息”其结构如下 字段名类型宽度 小数位要求 职工号C6候选关键字 姓名C8 性别C2 出生日期 D 职称C6 creat
8、e table 教师信息教师信息 free (职工号职工号 C(6) unique,; 姓名姓名 C(8), 性别性别 C(2) ,出生日期出生日期 D,职称职称 C(6) ) 例5 建立学生成绩管理数据库,然后利用SQL命令在该 数据库中建立学生信息表、课程信息表和成绩信息表 字段名类型宽度 小数位 要求 学号C8主索引 姓名C8 性别C2 性别值只能为 “男”或“女” 默认为”男” 出生日期D 入学成绩N51 四级通过否L 计算机等级考试C4 允许null 默认值为null 简历M 学生信息表学生信息表 步骤步骤1:建立学生成绩管理数据库:建立学生成绩管理数据库 creat databas
9、e 学生成绩管理学生成绩管理 步骤步骤2:建立学生信息表:建立学生信息表 create table 学生信息学生信息(学号学号 C(8) primary key ,; 姓名姓名 C(8) ,; 性别性别 C(2) check 性别性别=男男“ or 性别性别=女女 ; error 只能输入只能输入“男男”或或“女女” default 男男 ,; 出生日期出生日期 D ,入学成绩入学成绩 N(5,1) ,四级通过否四级通过否 L ,; 计算机等级考试计算机等级考试 C(4) null default null,; 简历简历 M) 返回5.2 字段名字段名类型类型宽度宽度小数位小数位要求要求 课程
10、号课程号C2主关键字主关键字 课程名课程名C10 学时学时N300108 课程信息课程信息 成绩信息成绩信息 字段名字段名 类型类型 宽度宽度 小数位小数位 要求要求 学号学号C8 与学生信息连接与学生信息连接 的外部关键字的外部关键字 课程号课程号 C2 与课程信息连接与课程信息连接 的外部关键字的外部关键字 成绩成绩N51 两者的组两者的组 合为主关合为主关 键字键字 步骤步骤3 3:建立课程信息表:建立课程信息表 create table 课程信息课程信息(课程号课程号 C(2) primary key,; 课程名课程名 C(10),; 学时学时 N(3,0) check 学时学时0 a
11、nd 学时学时=108; error “学时学时”在在0108之间之间) 步骤步骤4 4:建立成绩信息表:建立成绩信息表 create table 成绩信息成绩信息(; 学号学号 C(8),课程号课程号 C(2),成绩成绩 N(5,1),; primary key 学号学号+课程号课程号 tag xhkch,; foreign key 学号学号 tag 学号学号 references 学生信息学生信息,; foreign key 课程号课程号 tag 课程号课程号 references 课程信息课程信息) 建立建立学号学号+课程号课程号 的主索引的主索引 建立学号的普通索引,并且建立学号的普通
12、索引,并且 和学生信息表建立永久关系和学生信息表建立永久关系 4在数据库在数据库BOOKGL.DBC中建立表中建立表 AUTHORS.DBF(作者编号(作者编号(C,4),作者姓名,作者姓名 (C,10),所在城市(,所在城市(C,20),联系电话(),联系电话(C,15),), 作者性别作者性别(C,2)),设置),设置“作者编号作者编号”字段为主索字段为主索 引,并对引,并对“作者性别作者性别”字段的输入值限制为只能字段的输入值限制为只能 是是“男男”或或“女女”,否则提示,否则提示“性别输入错误!性别输入错误!” (用(用SQL语句)语句) CREATE TABLE ARTHORS; (
13、作者编号作者编号 C(4) PRIMARY KEY,; 作者姓名作者姓名 C(10),所在城市所在城市 C(20),联系电话联系电话 C(15),;作;作 者性别者性别 C(2) CHECK 性别性别$”男女男女” ERROR “性别输性别输 入错误入错误”) 高考题 1、假设、假设“职工职工DBF”已建立了以已建立了以“职工号职工号”为主为主 索引的索引,索引的索引,“工资工资.DBF”也已建立了以也已建立了以“职工职工 号号”为主索引的索引,建立为主索引的索引,建立“职工教育情况职工教育情况”表表 (包括职工号(包括职工号(C,9)、学历()、学历(C,10)、学位)、学位 (C,10),
14、并分别与),并分别与“职工职工,DBF”表和表和“工工 资资,DBF”表建立关联。(用表建立关联。(用SQL语句,命令中的语句,命令中的 索引名可以自己指定索引名可以自己指定) CREATE TABLE 职工教育情况职工教育情况 (职工号(职工号 C(9),; 学历学历C(10),学位学位C(10),; foreign key 职工号职工号TAG 职工号职工号 REFERENCES 职工职工,; FOREIGN KEY 职工号职工号 TAG 职工号职工号 references 工资)工资) 关键词(关键词(CREATE TABLE)错,本题不得分,如果关键词正确,)错,本题不得分,如果关键词正
15、确, 则四部分,每部分则四部分,每部分1分分 二、修改表结构二、修改表结构 1.【格式【格式1】 ALTER TABLE ADD ( ,) ; CHECK ERROR 提示信息提示信息 DEFAULT 默认值默认值PRIMARY KEY /UNIQUE;NULL ADD PRIMARY KEY TAG ; ADD UNIQUE TAG ; 功能:向表中添加新的字段或新的索引功能:向表中添加新的字段或新的索引 【例【例1 1】向教室表中添加一个】向教室表中添加一个“面积面积”字段,要求面积字段,要求面积 大于零,如果输入错误,系统则提示大于零,如果输入错误,系统则提示 “ “面积应为非面积应为非
16、 负负”,其默认值为,其默认值为100100。 ALTER TABLE ALTER TABLE 教室教室; ; ADD ADD 面积面积 I CHECK I CHECK 面积面积0 ERROR 0 ERROR 面积应为非负面积应为非负 DEFAULT 100DEFAULT 100 例例2 2】将教室使用表中】将教室使用表中“教室编号教室编号” ” 定义为主索定义为主索 引,索引名为引,索引名为ABAB。 ALTER TABLE ALTER TABLE 教室使用教室使用 ADD PRIMARY KEY ADD PRIMARY KEY 教室编号教室编号 TAG ABTAG AB 【例【例3】将教室
17、使用表中】将教室使用表中“使用者使用者” 定义为候选索引,定义为候选索引, 索引名为索引名为ABC。 ALTER TABLE 教室使用教室使用 ADD UNIQUE 使用者使用者 TAG ABC 2.【格式【格式2】 ALTER TABLE ; ALTER ( ,); ALTER SET CHECK 域完整性约束条件域完整性约束条件 ERROR 出错信息出错信息; ALTER SET DEFAULT 默认值默认值; ALTER DROP CHECK; ALTER DROP DEFAULT; 功能:修改表中的字段功能:修改表中的字段,包含字段类型、宽度、小数位包含字段类型、宽度、小数位 数,但不
18、包括字段名称的修改。增加、修改、删除数,但不包括字段名称的修改。增加、修改、删除 有效性规则、默认值等有效性规则、默认值等 【例1】将教室表中的教室编号字段的宽度由4改为6 ALTER TABLE 教室教室 ALTER 教室编号教室编号 C(6) 【例2】修改教室表中的“面积”字段的有效性规则, 要求面积大于30平方米,错误提示为“面积应大于 30平方米”,其默认值为40。 ALTER TABLE 教室教室; ALTER 面积面积 SET CHECK 面积面积30; ERROR 面积应大于面积应大于30平方米平方米; ALTER 面积面积 SET DEFAULT 40 【例3】删除教室表中“面
19、积”字段的有效性规则。 ALTER TABLE 教室教室 ALTER 面积面积 DROP CHECK 3.【格式【格式3】 ALTER TABLE ; DROP COLUMN ; DROP PRIMARY KEY; DROP UNIQUE TAG; DROP FOREIGN KEY TAG ; 功能:删除表中的字段、索引功能:删除表中的字段、索引 【例1】删除教室使用表中“使用者”字段。 ALTER TABLE 教室使用教室使用 DROP COLUMN 使用者使用者 4.【格式【格式4】 ALTER TABLE ; RENAME COLUMN TO 功能:字段改名功能:字段改名 【例2】修改教
20、室使用表中“使用时间”字段的名称为 “使用日期”。 ALTER TABLE 教室使用教室使用 RENAME COLUMN 使用时使用时 间间 TO 使用日期使用日期 【例【例4】删除教室使用表中的主索引】删除教室使用表中的主索引AB。 ALTER TABLE 教室使用教室使用 DROP PRIMARY KEY 【例【例5】删除教室使用表中的候选索引】删除教室使用表中的候选索引ABC。 ALTER TABLE 教室使用教室使用 DROP UNIQUE TAG ABC 【注意】下列删除索引的方法是错误的:【注意】下列删除索引的方法是错误的: ALTER TABLE 教室使用教室使用 DROP PR
21、IMARY KEY 教室教室 编号编号 TAG AB ALTER TABLE 教室使用教室使用 DROP PRIMARY KEY TAG AB ALTER TABLE 教室使用教室使用 DROP UNIQUE ALTER TABLE 教室使用教室使用 DROP UNIQUE 使用者使用者 TAG ABC 练习练习1.向表向表 cj表表 中添加字段中添加字段 专业专业 字符型,字符型,8位,且允许字位,且允许字 段为段为null。 alter table cj add 专业专业 c(8) null 2. 为课程信息表添加一个字段:为课程信息表添加一个字段:学时学时(N,2),范围在,范围在06
22、之间,并将课程号(之间,并将课程号(c,5)的长度修改为)的长度修改为3位位; alter table 课程信息课程信息 add 学时学时 N(2) check 学时学时0; and 学时学时=6 error “学时学时”必须在必须在06之间之间 alter table 课程信息课程信息 alter 课程号课程号 C(3) 3.将学生信息表中的四级通过否将学生信息表中的四级通过否设置默认值设置默认值.F. alter table 学生信息;学生信息; alter 四级通过否四级通过否 set default .F . 举例举例 例例1:给给xj.dbf的性别字段补加有效规则的性别字段补加有效规则(性别只能是男或女):性别只能是男或女): alter table xj alter 性别性别 set check 性别性别 $ 男女男女 例例2:给给xj.dbf的职工号字段补加主索引:的职工号字段补加主索引: alter table xj add primary key 职工号职工号 tag 职工号职工号 例例3:删除删除xj.dbf的性别字段的性别字段 的有效规则:的有效规则: alter table xj alter 性别性别 drop check 例例4:删除:删除xj.dbf 性别字段性别字段 ALTER TAB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新版人教版四年级语文下册期末综合考试题
- 罗湖事业编招聘2019年考试真题及答案解析【下载版】-
- 大体积混凝土温控施工技术重点
- 2021-2022年人教版六年级语文上册期末考试卷及答案下载
- (完整版)一年级上册数学应用题60道及答案【名师系列】
- 2025 小学三年级科学下册月季嫁接初步尝试观察课件
- 2026届北京市西城区高三上学期期末考试历史试题(含答案)
- 汽车机修考试试题及答案
- 工业机器人操作与运维 知识测评试题及答案汇 项目1-8
- 2026年深圳中考语文核心素养检测试卷(附答案可下载)
- 黑山峡工程施工方案
- 工业电路布线技术标准与示例
- 国家税务总局公告2025年第12号附件1.纳税缴费信用评价指标和评价方式
- 2024-2025学年河南省南阳市油田七年级上学期期末教学质量检测数学试卷(含答案)
- 道路应急处理培训
- DB4403-T 364-2023 智能网联汽车V2x车载信息交互系统技术要求
- 2024年卫生高级职称面审答辩(呼吸内科)(副高面审)经典试题及答案
- 幼儿园流感培训知识课件
- 蕲春县国土空间总体规划(2021-2035)
- 一年级上册语文 快乐读书吧《和大人一起读》必考考点知识梳理
- 车位转让车位协议书
评论
0/150
提交评论