关系数据库标准语言SQL之数据定义

关系数据库标准语言SQL之数据定义

个人考研,数据库学习中,以下是部分学习总结,资料参考《数据库系统概论》(第五版)

3.1、sql的动词

数据查询:select
数据定义:create、drop(删除)、alter(修改)
数据操纵:insert、update、delete //删除表是drop,删除表中数据是delete
数据控制:grant(授权)、revoke(收回)

3.2学生-课程数据库

3.3数据定义

3.3.1、模式定义与删除

(1)定义模式
Create schema <模式名> authorization <用户名>;
例如
create schema “S-T”authorization WANG;
(2)删除模式
Drop schema <模式名> <cascade | restrict>;
(cascade级联,restrict限制)

3.3.2基本表的定义删除及修改

(1)定义基本表
Create table <表名>(
<列名><数据类型>[列级完整性约束条件],
<列名><数据类型>[列级完整性约束条件],
[表级完整性约束条件]
);
例如
create table student(
Sno char(9) primary key,
Sname char(20) unique,
Ssex char(2)
);
例如
create table SC(
Sno char(9),
Sname char(20),
Ssex char(2),
primary(Sno),
foreign key(Sno)references student(Sno)
//表级完整性约束条件,Sno是外码,被参照表是student
);

(2)修改基本表
alter table<表名>
[add[column] <新列名><数据类型>[完整性约束]] //add子句用于增加新列、新(列/表)级完整性约束条件
[add <表级完整性约束>]
[drop[column] <列名>[cascade | restrict]] //用于删除表中的列(如果指定cascade则自动删除使用该列的其他对象,指定restrict则拒绝删除被其他对象引用的列)
[drop constraint <完整性约束名>[restrict | cascade]] //用于删除指定的完整性约束条件
[alter column <列名><数据类型>]; //用于修改原有的列定义
例如
alert table Student
add S_entrance DATA;
例如
alter table Course
alter column Sage INT;

(3)删除基本表
drop table <表名>[restrict | cascade];
//如选择restrict则删除有限制条件,如选择cascade则删除表没有限制条件
例如
drop table Student cascade;

3.3.3索引的建立和删除

(1)建立索引
create[unique][cluster]index<索引名>
//unique表明此索引唯一,cluster表明要建立的索引是聚簇索引
on <表名>
//ASC升序,DESC降序
例如
create unique index Stusno
on Student(Sno);
例如
create unique index SCno
on Course(Sno ASC,Cno DESC);

(2)修改索引
alter index <旧索引名> rename to <新索引名>;
例如
alter index SCno rename to SCSno;

(3)删除索引
drop index <索引名>;
例如
drop index SC;

发布了11 篇原创文章 · 获赞 3 · 访问量 326

猜你喜欢

转载自blog.csdn.net/weixin_44367041/article/details/103690628