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的高级功能。

相关推荐
考虑考虑7 小时前
数据库中的EXISTS
运维·数据库·后端
Wang's Blog7 小时前
Java框架快速入门: Spring Security+OAuth2之数据库和实体类的RBAC改造
java·数据库·spring
梦想平凡8 小时前
百游棋牌源代码开发搭建教程(十):隔离部署、备份恢复与双端验收
java·前端·javascript·数据库·源代码管理
xcLeigh9 小时前
让大模型长出手脚,自己写SQL查数据库(Function Calling初探)
数据库·人工智能·sql·时序数据库·timechoai
yume_sibai9 小时前
06-Rust Web 开发实战(Axum 框架 + 数据库 + JWT 认证 + 中间件 + 部署)
前端·数据库·rust
AugustRed10 小时前
Neo4j 图数据库原理 + 应用场景简单介绍
数据库·neo4j
Gl�ria11 小时前
Redis 高可用架构对比
数据库·redis
IpdataCloud11 小时前
高可用的IP数据接口平台有哪些?从可用性、P99延迟到离线部署的评估框架(含代码)
数据库·tcp/ip·ip
呆萌很11 小时前
MySQL 数据库和表的管理操作(命令行)
数据库·mysql
毕业设计70312 小时前
(免费领源码)基于Python的博物馆研学活动管理系统的设计与实现22724- java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
python·mysql·随机森林·pycharm·django·flask·推荐算法