首页 > 数据库 >MySQL 数据库操作详解:DDL、DML、DQL 和 DCL

MySQL 数据库操作详解:DDL、DML、DQL 和 DCL

时间:2024-11-14 17:57:14浏览次数:1  
标签:DCL 数据 demo 数据库 DML MySQL TABLE tb id

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 DATABASEDROP DATABASECREATE TABLEALTER TABLEDROP TABLE
  • DML(数据操作语言):用于对数据库中表的数据进行增删改。

    • 常用命令:INSERT INTOUPDATEDELETE
  • DQL(数据查询语言):用于查询数据库中表的记录(数据)。

    • 常用命令:SELECTWHEREGROUP BYORDER BYLIMIT
  • DCL(数据控制语言):用于定义数据库的访问权限和安全级别,及创建用户。

    • 常用命令:CREATE USERGRANTREVOKEDROP USER

通过熟练掌握这些语言和命令,你可以在 MySQL 数据库中进行高效的数据管理和操作。

标签:DCL,数据,demo,数据库,DML,MySQL,TABLE,tb,id
From: https://www.cnblogs.com/itcq1024/p/18546531

相关文章

  • MySQL更新操作
    1.insert语法:insertinto表名(列名1,列名2,)values(值1,值2,);语法2:一次性插入多条记录insertinto表名(列名1,列名2,)values(值1,值2,),(值1,值2,);示例:insertintodept(deptno,dname,loc)values(50,'市场部','南京');insertintodept(deptno,dname)values(60,'开发部')......
  • 科普文:软件架构数据库系列之【MySQL状态参数:open table浅析和[ERROR] Error in accept
    概叙科普文:软件架构数据库系列之【MySQL状态参数:tablecache源码浅析】-CSDN博客MySQL经常会遇到Toomanyopenfiles,MySQL上的open_files_limit和OS层面上设置的openfilelimit有什么关系?源码中也会看到不同的数据结构,TABLE,TABLE_SHARE,跟表是什么关系?MySQLflushtable......
  • Springboot连接MySQL主从集群
    一、maven依赖com.alibabadruid-spring-boot-starter<!--Mysql驱动包--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency>二、nacos配置中心配置spr......
  • mysql 导入SQL文件报错, Specified key was too long; max key length is 767 bytes
    【方案1】一、my.ini文件加入配置,然后重启mysql服务innodb_large_prefix=1二、mysql登陆运行命令登录自己的mysql的方法:1.在D:\ProgramFiles\MySQL\MySQLServer5.7\bin路径下运行命令行,2.登录:mysql-h127.0.0.1-uroot-p然后输入密码3.切换到指定数据库  use数......
  • mysql batch insert 慢的问题排查过程
    1,发现线上的queue入库很慢因为我发现2024-11-1412:24:22.897[][Thread-47]INFO com.hp.nova.runner.Task3NewStructRedisQueueRunner.run[93]:eisrq.getType()======3...............2024-11-1412:25:57.653[][Thread-47]INFO com.hp.nova.runner.Task3NewSt......
  • [Mysql基础] 表的操作
    一、创建表1.1语法CREATETABLEtable_name(field1datatype,field2datatype,field3datatype)characterset字符集collate校验规则engine存储引擎;说明:field表示列名datatype表示列的类型characterset字符集,如果没有指定字符集,则以所在数据库的字......
  • 力扣-Mysql-3252-英超积分榜排名 II(中等)
    一、题目来源3252.英超积分榜排名II-力扣(LeetCode)二、数据表结构表:TeamStats+------------------+---------+|ColumnName|Type|+------------------+---------+|team_id|int||team_name|varchar||matches_played......
  • MySQL 数据库约束详解:确保数据完整性与一致性
    MySQL数据库约束详解:确保数据完整性与一致性在数据库设计中,约束(Constraints)是确保数据完整性和一致性的重要工具。MySQL提供了多种约束类型,包括非空约束、唯一约束、主键约束、检查约束、默认约束和外键约束。本文将详细介绍这些约束的作用、常用格式以及如何在创建数据表时熟......
  • MYSQL事务
    一、什么是事务事务(Transaction)是一组数据库操作的集合,这些操作要么全部执行成功,要么全部不执行。在MySQL中,事务确保了一组数据库操作的原子性,一致性,隔离性和持久性,简称ACID属性。原子性(Atomicity):原子性指事务中的所有操作要么全部执行成功,要么全部不执行。即事务不可......
  • MYSQL中JDBC的使用
    一、JDBC基础概念JDBC是Java中的一组API,用于执行SQL操作(例如CRUD操作:增、删、改、关系),同时可以和各种类型的数据库类型进行连接(MySQL、Oracle、SQLServer等)。JDBC是Java标准库的一部分,提供了与数据库进行交互的抽象接口。JDBC主要包含以下几个核心组件:Driver(驱动程......