创建数据库和表
案例表含义介绍
-
学生Student
Student(Sno char(8), Sname char(10), Ssex char(2), Sage integer, Dno char(2), Sclass char(6)) # 学生(学号, 姓名, 性别, 年龄, 所属系别, 班级)
-
院系Dept
Dept(Dno char(2), Dname char(10), Dean char(10)) # 院系(系别, 系名, 系主任)
-
课程Course
Course(Cno char(3), Cname char(12), Chours integer, Credit float(1), Tno char(3)) # 课程(课程号, 课名, 学时, 学分, 教师编号)
-
教师Teacher
Teacher(Tno char(3), Tname char(10), Dno char(2), Salary float(2)) # 教师(教师编号, 教师名, 所属院系, 工资)
-
选课SC
SC(Sno char(8), Cno char(3), Score float(1)) # 选课(学号, 课程号, 成绩)
语法介绍
符号 | 含义 |
---|---|
[] | 括号内的内容可以省略, 可选 |
| | 二者选其一, 或 |
% | 匹配0个或多个字符, 通配符 |
_ | 匹配1个字符 |
\ | 转义字符 |
[not] like | 字符串模糊匹配 |
Primary key | 主键, 一张表中只能有一个主键 |
Unique | 候选键, 可以不唯一 |
Not null | 非空约束 |
char(n) | 固定长度为n的字符串 |
varchar(n) | 可变长字符串 |
int | 整数 |
numeric(p, q) | 固定精度数字, 小数点前p位, 小数点后p-q位 |
real/float(n) | 浮点精度数字 |
date | 日期(2022-1-21) |
time | 时间(20:27:56) |
创建数据库和表
create database sct;
#创建数据库sct
#drop database sct;#删除数据库sct
create table Student
(#创建Student表
Sno varchar(8) primary key not null,
Sname varchar(10),
Ssex varchar(2),
Sage integer,
Dno varchar(2),
Sclass varchar(6)
);
create table Dept
(#创建Dept表
Dno varchar(2),
Dname varchar(10),
Dean varchar(10)
);
create table Course
(#创建课程表
Cno varchar(3),
Cname varchar(12),
Chours integer,
Credit float(1),
Tno varchar(3)
);
create table Teacher
(#创建按教师表
Tno varchar(3),
Tname varchar(10),
Dno varchar(2),
Salary float(2)
);
create table SC
(#创建选课表
Sno varchar(8),
Cno varchar(3),
Score float(1)
);
修正数据库的定义
语法: alter table <表名>
#增加新列
#在学生表的基础上新增两列
alter table student
ADD Saddr varchar(40),
ADD PID varchar(18);
#将学生表中Sname列的数据类型增加两个字符
alter table student
modify Sname varchar(10);
#删除学生姓名必须取唯一值的约束(MySQL中报错)
alter table student
drop unique(Sname);
#撤销基本表(不仅删除表中数据, 还把表d)
drop table st;
语法小结
类别 | 用途 | 语法 |
---|---|---|
创建 | 创建数据库 | create database <数据库名>; |
创建表 | create table <表名>; | |
插入 | 单个元组插入 | insert into <表名> values <值>; |
批元组插入 | insert into <表名> <子查询>; | |
修改定义 | 增加新列 | add {<列名>, <类型>} |
删除完整性约束 | drop{<完整性约束名>} | |
修改列定义 | modify{<列名>, <类型>} |