"SQL语句的分类-mysql总结文档"
在SQL中,主要分为三类语句:DDL(Data Definition Language)、DML(Data Manipulation Language)和DCL(Data Control Language)。这些语句分别用于数据库的定义、操作和控制。
**DDL (数据定义语言)**
DDL主要用于创建和修改数据库中的对象,如表格、视图、索引等。在MySQL中,常见的DDL语句包括:
1. **创建表** - `CREATE TABLE` 语句用于创建新的表,例如:
```sql
CREATE TABLE Student (
sno BIGINT PRIMARY KEY,
sname VARCHAR(8) NOT NULL,
address VARCHAR(255),
birth DATE NOT NULL CHECK (birth < CURRENT_DATE),
total_score DOUBLE,
class_id CHAR(10) REFERENCES Class(class_id)
);
```
2. **数据类型** - 包括 `BIGINT`(长整型)、`VARCHAR(int)`(可变长度字符)、`DOUBLE`(浮点型)、`DATE`、`TIME` 和 `TIMESTAMP`(日期和时间戳)等。
3. **范式** - 数据库设计遵循不同的范式,如第一范式(每个字段不可再分)、第二范式(非主键列完全依赖于主键)和第三范式(不存在传递依赖),以确保数据的一致性和减少冗余。
4. **表约束** - 主键(`PRIMARY KEY`)、外键(`FOREIGN KEY`)、唯一约束(`UNIQUE`)、非空约束(`NOT NULL`)和检查约束(`CHECK`)用于确保数据的完整性和一致性。
**DML (数据操纵语言)**
DML语句用于插入、更新、删除和查询数据。常见的DML语句包括:
1. **插入数据** - `INSERT INTO` 用于向表中添加新记录。
2. **更新数据** - `UPDATE` 用于修改现有记录。
3. **删除数据** - `DELETE FROM` 用于从表中删除记录。
4. **查询数据** - `SELECT` 是最常用的DML语句,用于检索数据。
**DCL (数据控制语言)**
DCL语句用于管理数据库的安全性和访问权限,如:
1. **授权** - `GRANT` 用于赋予用户特定的数据库权限。
2. **撤销权限** - `REVOKE` 用于取消用户的某些权限。
**MySQL操作**
在MySQL中,可以使用以下命令进行基本的数据库操作:
1. **登录数据库** - 使用 `mysql -u用户名 -p密码` 命令。
2. **执行SQL文件** - 使用 `source sql文件绝对路径` 执行存储在文件中的SQL语句。
3. **数据库操作** - `SHOW DATABASES;` 查看所有数据库,`CREATE DATABASE 名字;` 创建数据库,`DROP DATABASE 名字;` 删除数据库,`USE 名字;` 进入指定数据库。
4. **表操作** - `SHOW TABLES;` 查看当前数据库中的表,`DESCRIBE 表名;` 查看表结构,`CREATE TABLE`、`DROP TABLE`、`ALTER TABLE` 分别用于创建、删除和修改表。
在给出的例子中,创建了学生表、班级表和分数表,每个表都有相应的字段和约束,比如学生表的学号为主键,姓名和出生日期为非空,地址为可为空,总分为浮点型,班级编号为外键,参考班级表的主键。班级表的班级编号和名称为唯一约束。通过一系列的DDL语句,可以实现这些表的创建,并将建表语句保存到`.sql`文件中。此外,联合主键是用于标识表中多列组合成的唯一键。