目录
DML(Data Manipulation Language)
TCL(Transaction Control Language)
SQL分类
DQL(Data Query Language)
DQL 命令用于从数据库中检索数据。主要的 DQL 命令是:
DQL用于从数据库中检索数据,常用的DQL命令是SELECT。它允许用户查询数据库中的数据,并返回所需的结果集。
-- 创建表格
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
-- 查询所有学生的姓名和年龄
SELECT name, age FROM students;
-- 查询年龄大于等于18岁的学生姓名
SELECT name FROM students WHERE age >= 18;
DML(Data Manipulation Language)
DML用于在数据库表中插入、更新和删除数据。常用的DML命令是INSERT、UPDATE和DELETE。
-- 插入新学生记录
INSERT INTO students (id, name, age) VALUES (1, 'John Doe', 20);
-- 更新学生记录
UPDATE students SET age = 21 WHERE id = 1;
-- 删除学生记录
DELETE FROM students WHERE id = 1;
DDL(Data Definition Language)
DDL用于定义数据库结构,包括创建、修改和删除数据库、表、索引等。常用的DDL命令是CREATE、ALTER和DROP。
-- 创建新表格:courses
CREATE TABLE courses (
course_id INT PRIMARY KEY,
course_name VARCHAR(100),
credits INT
);
-- 添加新列到表格:students
ALTER TABLE students ADD COLUMN email VARCHAR(100);
-- 删除表格:courses
DROP TABLE courses;
TCL(Transaction Control Language)
TCL用于处理数据库中的事务,主要包括事务的提交和回滚。常用的TCL命令是COMMIT和ROLLBACK。
-- 开始一个新的事务
START TRANSACTION;
-- 在事务中执行一些DML操作
INSERT INTO students (id, name, age) VALUES (2, 'Jane Smith', 22);
UPDATE students SET age = 23 WHERE id = 2;
-- 提交事务
COMMIT;
-- 如果在事务中有错误或需要回滚操作
START TRANSACTION;
DELETE FROM students WHERE id = 2;
-- 回滚事务,取消上述的删除操作
ROLLBACK;
DCL(Data Control Language)
DCL用于授予或撤销访问数据库的权限,例如GRANT和REVOKE命令。这些命令通常由数据库管理员执行。
-- 授予用户'admin'在表格'students'上的SELECT权限
GRANT SELECT ON students TO admin;
-- 撤销用户'admin'在表格'students'上的SELECT权限
REVOKE SELECT ON students FROM admin;