MySQL 数据库操作详解:DDL、DML、DQL 和 DCL
MySQL 数据库操作详解:DDL、DML、DQL 和 DCL
在 MySQL 数据库中,数据定义语言(DDL)、数据操作语言(DML)、数据查询语言(DQL)和数据控制语言(DCL)是四种基本的数据库操作语言。本文将详细介绍这些语言的定义、常用命令以及如何使用它们来管理和操作数据库。
1. 数据定义语言(DDL)
定义:DDL(Data Definition Language)用于定义数据库对象,如数据库、表、列等。
常用命令:
-
创建数据库:
CREATE DATABASE db_demo; -
创建数据库(判断,如果不存在则创建):
CREATE DATABASE IF NOT EXISTS db_demo; -
删除数据库:
DROP DATABASE db_demo; -
删除数据库(判断,如果存在则删除):
DROP DATABASE IF EXISTS db_demo; -
查询当前使用的数据库:
SELECT DATABASE(); -
使用/切换数据库:
USE db_demo; -
查询当前数据库下所有表名称:
SHOW TABLES; -
查询表结构:
DESC tb_demo; -
创建表:
CREATE TABLE tb_demo ( id INT, `name` VARCHAR(10), gender CHAR(1), birthday DATE, score DOUBLE(5,2), email VARCHAR(64), tel VARCHAR(16), `status` TINYINT ); -
删除表:
DROP TABLE tb_demo; -
删除表(判断,如果存在则删除):
DROP TABLE IF EXISTS tb_demo; -
修改表:
-
修改表名:
ALTER TABLE tb_demo RENAME TO tb_new_demo; -
添加一列:
ALTER TABLE tb_demo ADD id INT; -
修改数据类型:
ALTER TABLE tb_demo MODIFY id VARCHAR(8); -
修改列名和数据类型:
ALTER TABLE tb_demo CHANGE id new_id INT; -
删除列:
ALTER TABLE tb_demo DROP id;
-
2. 数据操作语言(DML)
定义:DML(Data Manipulation Language)用于对数据库中表的数据进行增删改。
常用命令:
-
添加数据:
-
给指定列添加数据:
INSERT INTO tb_demo (id) VALUES (1001); -
给全部列添加数据:
INSERT INTO tb_demo VALUES (1001); -
批量添加数据:
INSERT INTO tb_demo VALUES (1001), (1002), (1003);
-
-
修改数据:
-
不带条件修改数据:
UPDATE tb_demo SET field_name = new_value; -
带条件修改数据:
UPDATE tb_demo SET field_name = new_value WHERE condition;
-
-
删除数据:
-
带条件删除数据:
DELETE FROM tb_demo WHERE id = 3; -
不带条件删除数据:
DELETE FROM tb_demo; -
清空表数据(DDL):
TRUNCATE TABLE tb_demo;
-
3. 数据查询语言(DQL)
定义:DQL(Data Query Language)用于查询数据库中表的记录(数据)。
常用命令:
-
基本查询语法:
SELECT ... FROM tb_demo WHERE ... GROUP BY ... HAVING ... ORDER BY ... LIMIT ...; -
查询所有数据:
SELECT * FROM tb_demo; -
查询指定列数据:
SELECT id, name FROM tb_demo; -
条件查询:
SELECT * FROM tb_demo WHERE id = 1001; -
排序查询:
SELECT * FROM tb_demo ORDER BY score DESC; -
分组查询:
SELECT gender, AVG(score) FROM tb_demo GROUP BY gender; -
分页查询:
SELECT * FROM tb_demo LIMIT 10 OFFSET 20;
4. 数据控制语言(DCL)
定义:DCL(Data Control Language)用于定义数据库的访问权限和安全级别,及创建用户。
常用命令:
-
创建用户:
CREATE USER 'username'@'host' IDENTIFIED BY 'password'; -
授权用户:
GRANT ALL PRIVILEGES ON db_demo.* TO 'username'@'host'; -
撤销权限:
REVOKE ALL PRIVILEGES ON db_demo.* FROM 'username'@'host'; -
删除用户:
DROP USER 'username'@'host';
总结
通过合理使用 DDL、DML、DQL 和 DCL,你可以有效地管理和操作 MySQL 数据库。以下是每种语言的简要总结:
-
DDL(数据定义语言):用于定义数据库对象,如数据库、表、列等。
- 常用命令:
CREATE DATABASE、DROP DATABASE、CREATE TABLE、ALTER TABLE、DROP TABLE。
- 常用命令:
-
DML(数据操作语言):用于对数据库中表的数据进行增删改。
- 常用命令:
INSERT INTO、UPDATE、DELETE。
- 常用命令:
-
DQL(数据查询语言):用于查询数据库中表的记录(数据)。
- 常用命令:
SELECT、WHERE、GROUP BY、ORDER BY、LIMIT。
- 常用命令:
-
DCL(数据控制语言):用于定义数据库的访问权限和安全级别,及创建用户。
- 常用命令:
CREATE USER、GRANT、REVOKE、DROP USER。
- 常用命令:
通过熟练掌握这些语言和命令,你可以在 MySQL 数据库中进行高效的数据管理和操作。
浙公网安备 33010602011771号