题目:
1. sql语句分为几类?
2. 表的约束有哪些,分别是什么,设置的语法分别是什么?
3. 做出班级表,学生表的E-R图,数据库模型图,以及核心的sql语句.
1. MySQL致力于支持全套ANSI/ISO SQL标准。在MySQL数据库中,SQL语句主要可以划分为以下几类:
> DDL(Data Definition Language):数据定义语言,定义对数据库对象(库、表、列、索引)的操作。
> CREATE、DROP、ALTER、RENAME、 TRUNCATE等
> DML(Data Manipulation Language): 数据操作语言,定义对数据库记录的操作。
> INSERT、DELETE、UPDATE、SELECT等
> DCL(Data Control Language): 数据控制语言,定义对数据库、表、字段、用户的访问权限和安全级别。
> GRANT、REVOKE等
> Transaction Control:事务控制
> COMMIT、ROLLBACK、SAVEPOINT等
2. 表的约束:
NOT NULL 非空
UNIQUE key 唯一键
PRIMARY KEY 主键 非空+唯一
FOREIGN KEY 外键 引用性
CHECK 检查
默认值约束
约束作为数据库对象,存放在系统表中,也有自己的名字
创建约束的时机
在建表的同时创建
建表后创建(修改表)
可定义列级或表级约束
有单列约束和多列约束
定义约束的语法
列级约束:在定义列的同时定义约束
语法:列定义 约束类型,
表级约束:在定义了所有列之后定义的约束
语法:
列定义
[CONSTRAINT 约束名] 约束类型(列名)
约束名的取名规则
推荐采用:表名_列名_约束类型简介
约束可以在创建表时就定义,也可以在创建完后再添加
语法:
alter table 表名 add constraint 约束名 约束类型(要约束的列名)
4. E-R图、数据库模型图
核心sql语句:
CREATE TABLE 'Banji' (
'BanjiId' int NOT NULL AUTO_INCRMENT COMMENT
'班级编号',
'BanjiMingCheng' varchar(10) CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci NOT NULL COMMENT '班级名称',
'BanJiDiZhi' varchar(255) CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '班级地址',
PRIMARY KEY (BanjiId)
) ENGING =InnoDB DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci;