• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

奋斗的软件工程师

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

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 数据库中进行高效的数据管理和操作。

posted on 2024-11-14 18:05  周政然  阅读(430)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3