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 数据库中进行高效的数据管理和操作。
标签:DCL,数据,demo,数据库,DML,MySQL,TABLE,tb,id From: https://www.cnblogs.com/itcq1024/p/18546531