查看“SQL语言”的源代码
←
SQL语言
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看和复制此页面的源代码。
https://www.bilibili.com/video/BV1hg411V7Bm/?p=94 === 1)创建表 === {| class="wikitable" |CREATE TABLE <表名1> ( <列名><数据类型>[列级完整性约束条件] [,<列名><数据类型>[列级完整性约束条件]]…… [,<表级完整性约束条件>]); |} 数据类型: * 字符型:char(N) * 整型:int * 浮点型:float * 日期型:date YYYY-MM-DD 列级完整性约束: * NULL(可以取空值)、NOT NULL(不能取空值) * UNIQUE(取值唯一) * PRIMARY KEY(列名)主键 * FOREIGN KEY(列名1) REFERENCES 表名2(列名2)外键 例题1:设有学生、课程和学生选课关系模式分别用基本表S、C和SC表示, 其中:S(Sno,Sname,SD,Sage,Sex),属性表示学号、姓名、系、年龄和性别; C(Cno,Cname,teacher),属性表示课程号、课程名和授课教师; SC(Sno,Cno,Grade),属性表示学号、课程号和成绩。 除年龄与成绩的数据类型为整型int外,其余属性均为字符型char。 <syntaxhighlight lang="sql"> CREATE TABLE S ( Sno char(5) PRIMARY KEY, Sname char(16) NOT NULL, SD char(10), Sage int, Sex char(2) ); CREATE TABLE C( Cno char(2) PRIMARY KEY, Cname char(16) UNIQUE, teacher char(8) ); CREATE TABLE SC ( Sno char(5), Grade int, PRIMARY KEY(Sno, Cno), FOREIGN KEY(Sno) REFERENCES S(Sno), FOREIGN KEY(Cno) REFERENCES C(Cno) ); </syntaxhighlight> === 考点1:创建表 === 某高校教学管理系统中的院系关系 Department 和学生关系 Students 的模式分别为: Department(院系号,院系名,负责人,办公电话),学生关系 Students(学号,姓名,身份证号,院系号,联系电话,家庭住址)。 Department 中的“院系号”唯一标识一个院系,Students 中的“学号”能唯一标识一名学生,“家庭住址”可进一步分为邮编、省、市、街道。 根据以上描述可知,关系 Students 的候选键为(), A、学号 B、身份证号和院系号 C、学号和身份证号 √ D、学号和院系号 “家庭住址”为()。 A、简单属性 B、复合属性 √ C、多值属性 D、派生属性 某高校教学管理系统中的院系关系 Department 和 学生关系 Students。 Department 中的“院系号”唯一标识一个院系,Students 中的“学号”能唯一标识一名学生。 创建 Students 的SQL语句如下,请填补其中的空缺。 CREATE TABLE Students ( 学号 CHAR(8) PRIMARY KEY, 姓名 CHAR(16), 身份证号 CHAR(18), 院系号 CHAR(4), 联系电话 CHAR(13), 家庭住址 CHAR(30), FOREIGN KEY(); A、(联系电话) REFERENCES Department(办公电话) B、(院系号) REFERENCES Department(院系号) √ C、(院系号) REFERENCES Students(学号) D、(负责人号) REFERENCES Students(学号) === 2)修改和删除 === ALTER TABLE <表名> [ADD <新列名><数据类型><列级完整性约束条件>] 添加属性列 [DROP <列名/完整性约束条件>] 删除属性列 [MODIFY/CHANGE<列名><数据类型>] 修改属性列的数据类型 [CHANGE <列名><新列名><数据类型>] 修改属性列名 DROP TABLE <表名> 例如用“DROP TABLE Student”删除表 Student === 3)数据更新 === {| class="wikitable" !操作类别 !语法 !示例 |- |插入数据 |INSERT INTO <表名> [(<属性列1> [,<属性列2>……)] VALUES (<常量1>[,<常量2>]……); 注:VALUES子句可用子查询替代 |INSERT INTO student VALUES ('95020', '李四', '男', 'CS', '18'); INSERT INTO SC(Sno, Cno) VALUES('95020', '1'); |- |修改数据 |UPDATE <表名> SET <列名>=<表达式>[,<列名>=<表达式>]…… [WHERE <条件>]; |将学生95001的年龄改为23岁 UPDATE student SET Sage=23 WHERE Sno='95001'; |- |删除数据 |DELETE FROM <表名> [WHERE <条件>]; |删除学号为95019的学生记录 DELETE FROM student WHERE Sno='95019'; |} === 考点2:数据修改 === 某数据库系统中,假设有部门关系 Dept(部门号,部门名,负责人,电话),其中, “部门号”是该关系的主键;员工关系 Emp(员工号,姓名,部门,家庭住址),属性“家庭住址”包含省、市、街道以及门牌号, 该属性是一个(1)属性。 (1) A、简单 B、复合 √ C、多值 D、派生 创建 Emp 关系的SQL语句如下: CREATE TABLE Emp( 员工号 CHAR(4) (2), 姓名 CHAR(10), 部门 CHAR(4), 家庭住址 CHAR(30), (3); ) (2) A、PRIMARY KEY √ B、NULL C、FOREIGN KEY D、NOT NULL (3) A、PRIMARY KEY NOT NULL B、PRIMARY KEY UNIQUE C、FOREIGN KEY REFERENCES Dept(部门名) D、FOREIGN KEY REFERENCES Dept(部门号) √ 某数据库系统中,假设有部门关系 Dept(部门号,部门名,负责人,电话),其中, “部门号”是该关系的主键;员工关系 Emp(员工号,姓名,部门,家庭住址), 为在员工关系 Emp 中增加一个“工资”字段,其数据类型为数字型并保留2位小数,可采用的SQL语句为()。 A、ALTER TABLE Emp ADD 工资 CHAR(6,2) B、UPDATE TABLE Emp ADD 工资 NUMERIC(6,2) C、ALTER TABLE Emp ADD 工资 NUMERIC(6,2) √ D、ALTER TABLE Emp MODIFY 工资 NUMERIC(6,2) === 4)创建索引 === https://www.bilibili.com/video/BV1hg411V7Bm/?p=95 索引是某个表中的一列或者若干列值的集合,以及相应的指向表中物理标识这些值的数据页的逻辑指针清单。 聚集索引确定表中数据的物理顺序。 由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。 但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。 非聚集索引的逻辑顺序与磁盘上行的物理存储顺序不同。 CREATE——创建索引 ALTER——修改索引 DROP——删除索引 UNIQUE——建立唯一索引 CLUSTERED——建立聚集索引 NONCLUSTERED——建立非聚集索引 ASC——索引升序排序 DESC——索引降序排序 CREATE UNIQUE INDEX S_SNO ON S(Sno); CREATE UNIQUE INDEX SPJ_NO ON SPJ(Sno ASC, Pno DESC, JNO ASC);
返回至
SQL语言
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
Spring Boot 2 零基础入门
Spring Cloud
Spring Boot
设计模式之禅
VUE
Vuex
Maven
算法
技能树
Wireshark
IntelliJ IDEA
ElasticSearch
VirtualBox
软考
正则表达式
程序员精讲
软件设计师精讲
初级程序员 历年真题
C
SQL
Java
FFmpeg
Redis
Kafka
MySQL
Spring
Docker
JMeter
Apache
Linux
Windows
Git
ZooKeeper
设计模式
Python
MyBatis
软件
数学
PHP
IntelliJ IDEA
CS基础知识
网络
项目
未分类
MediaWiki
镜像
问题
健身
国债
英语
烹饪
常见术语
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息