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

相关推荐
夜光小兔纸13 分钟前
Oracle 普通用户连接hang住处理方法
运维·数据库·oracle
兩尛2 小时前
订单状态定时处理、来单提醒和客户催单(day10)
java·前端·数据库
web2u2 小时前
MySQL 中如何进行 SQL 调优?
java·数据库·后端·sql·mysql·缓存
Elastic 中国社区官方博客3 小时前
使用 Elasticsearch 导航检索增强生成图表
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
小金的学习笔记3 小时前
RedisTemplate和Redisson的使用和区别
数据库·redis·缓存
新知图书3 小时前
MySQL用户授权、收回权限与查看权限
数据库·mysql·安全
文城5213 小时前
Mysql存储过程(学习自用)
数据库·学习·mysql
沉默的煎蛋3 小时前
MyBatis 注解开发详解
java·数据库·mysql·算法·mybatis
呼啦啦啦啦啦啦啦啦3 小时前
【Redis】事务
数据库·redis·缓存
HaoHao_0103 小时前
AWS Serverless Application Repository
服务器·数据库·云计算·aws·云服务器