MySQL技能树

MySQL作为一款广泛使用的关系型数据库管理系统,提供了丰富多样的SQL语句以支持数据的创建、查询、更新和删除等操作。以下是一份MySQL语句操作大全的概览,涵盖从数据库管理到复杂查询的常用命令:

一、数据库管理(DDL - 数据定义语言)

  1. **创建数据库:**
sql 复制代码
   ```sql
   CREATE DATABASE database_name;
   ```
  1. **删除数据库:**
sql 复制代码
   ```sql
   DROP DATABASE IF EXISTS database_name;
   ```
  1. **创建表:**
sql 复制代码
   ```sql
   CREATE TABLE table_name (
       column1 datatype constraints,
       column2 datatype constraints,
       ...
   );
   ```
  1. **修改表结构:**
sql 复制代码
   ```sql
   ALTER TABLE table_name 
       ADD COLUMN new_column datatype constraints,
       MODIFY COLUMN column_name datatype constraints,
       DROP COLUMN column_name;
   ```
  1. **删除表:**
sql 复制代码
   ```sql
   DROP TABLE table_name;
   ```

二、数据操作(DML - 数据操纵语言)

  1. **插入数据:**
sql 复制代码
   ```sql
   UPDATE table_name 
   SET column1 = new_value1, column2 = new_value2
   WHERE condition;
   ```
  1. **更新数据:**
sql 复制代码
   ```sql
   UPDATE table_name 
   SET column1 = new_value1, column2 = new_value2
   WHERE condition;
   ```
  1. **删除数据:**
sql 复制代码
   ```sql
   DELETE FROM table_name 
   WHERE condition;

```9. **批量操作:**

sql 复制代码
   ```sql
   -- 批量插入
   INSERT INTO table_name (...)
   VALUES (...),(...),(...);

   -- 复制或移动行
   INSERT INTO new_table SELECT * FROM old_table;
   ```

三、数据查询(DQL - 数据查询语言)

  1. **简单查询:**
sql 复制代码
    ```sql
    SELECT column1, column2,...
    FROM table_name;
    ```
  1. **条件查询:**
sql 复制代码
    ```sql
    SELECT * FROM table_name
    WHERE condition;
    ```
  1. **排序查询:**
sql 复制代码
   ```sql
    SELECT * FROM table_name
    ORDER BY column1 ASC|DESC, column2 ASC|DESC;
    ```
  1. **聚合函数查询:**
sql 复制代码
    ```sql
    SELECT COUNT(column), AVG(column), SUM(column), MAX(column), MIN(column)
    FROM table_name;
    ```
  1. **分组查询:**
sql 复制代码
    ```sql
    SELECT column1, COUNT(*)
    FROM table_name
    GROUP BY column1;
    ```
  1. **联接查询:**
sql 复制代码
    ```sql
    SELECT a.column, b.column
    FROM table_a a
    JOIN table_b b ON a.id = b.id;
    ```
  1. **子查询:**
sql 复制代码
    ```sql
    SELECT * FROM table1
    WHERE column IN (SELECT column FROM table2 WHERE condition);
    ```

四、事务处理

  1. **开启事务:**
sql 复制代码
    ```sql
    START TRANSACTION;
    ```
  1. **提交事务:**
sql 复制代码
    ```sql
    COMMIT;
    ```
  1. **回滚事务:**
sql 复制代码
    ```sql
    ROLLBACK;
    ```

五、其他操作

  1. **获取当前数据库:**
sql 复制代码
    ```sql
    SELECT DATABASE();
    ```
  1. **切换数据库:**
sql 复制代码
    ```sql
    USE database_name;
    ```
  1. **用户管理与权限设置:**
sql 复制代码
    ```sql
    GRANT privileges ON database.* TO 'username'@'host' IDENTIFIED BY 'password';
    REVOKE privilege ON database.* FROM 'username'@'host';
    ```

以上仅是MySQL语句的一部分摘要,实际使用中还有更多的高级特性及优化技巧,包括视图、存储过程、触发器、索引等。掌握这些基本操作后,您可以根据项目需求进一步深入学习和应用MySQL的高级功能。

相关推荐
牛油果子哥q8 分钟前
【C++ STL string 】C++ STL string 终极精讲:底层原理、内存机制、全套API、深浅拷贝、易错坑点与工程实战规范
数据库·c++
十五年专注C++开发10 分钟前
MySql中各种功能用sql语句实现总结
数据库·sql·mysql
数据库小学妹27 分钟前
AI时代数据库怎么选?多模融合、数据统一存储与选型实战指南
数据库·人工智能·经验分享·ai
Albert Edison36 分钟前
【Redis】Centos7.9 安装 Redis 5 教程
数据库·redis·缓存
云计算磊哥@1 小时前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发
小二·1 小时前
Redis 内存溢出(OOM)排查与恢复实战
数据库·redis·bootstrap
pqk6V6Vep1 小时前
Redis 分布式锁进阶第一篇讲解
数据库·redis·分布式
giaz14n9X1 小时前
Redis 分布式锁进阶第六十一篇
数据库·redis·分布式
是一个Bug2 小时前
MongoDB:像搭积木一样存数据
数据库·mongodb
ULIi096kr2 小时前
MySQL解决Too many connections报错:连接数爆满排查、优化与永久解决方案
数据库·mysql·adb