【MySQL】常用语句

MySQL 常用语句主要围绕数据库、表和数据操作展开,能满足基本的数据库管理需求。本文对其进行分类总结:

1. 数据库操作

  • 创建数据库

    CREATE DATABASE dbname;
    CREATE DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 指定字符集
    
  • 查看数据库

    SHOW DATABASES; -- 列出所有数据库
    SHOW CREATE DATABASE dbname; -- 查看创建语句
    
  • 使用数据库

    USE dbname; -- 切换当前数据库
    
  • 删除数据库

    DROP DATABASE dbname; -- 谨慎操作!
    

2. 表操作

  • 创建表

    CREATE TABLE users (
      id INT PRIMARY KEY AUTO_INCREMENT,
      name VARCHAR(50) NOT NULL,
      email VARCHAR(100) UNIQUE,
      age INT DEFAULT 18,
      created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );
    
  • 查看表结构

    DESC users; -- 查看表结构
    SHOW CREATE TABLE users; -- 查看建表语句
    
  • 修改表

    ALTER TABLE users ADD COLUMN gender VARCHAR(10); -- 添加列
    ALTER TABLE users MODIFY COLUMN name VARCHAR(100); -- 修改列类型
    ALTER TABLE users DROP COLUMN age; -- 删除列
    ALTER TABLE users RENAME TO members; -- 重命名表
    
  • 删除表

    DROP TABLE users; -- 删除表(谨慎!)
    

3. 数据操作(CRUD)

  • 插入数据

    INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
    INSERT INTO users (name, email) VALUES 
      ('Bob', 'bob@example.com'),
      ('Charlie', 'charlie@example.com'); -- 插入多行
    
  • 查询数据

    SELECT * FROM users; -- 查询所有数据
    SELECT name, email FROM users WHERE age > 20; -- 条件筛选
    SELECT DISTINCT name FROM users; -- 去重
    SELECT * FROM users ORDER BY created_at DESC; -- 排序
    SELECT * FROM users LIMIT 10 OFFSET 5; -- 分页(第2页,每页10条)
    
  • 更新数据

    UPDATE users SET age = 25 WHERE id = 1; -- 更新单条
    UPDATE users SET status = 'active' WHERE last_login > '2023-01-01'; -- 批量更新
    
  • 删除数据

    DELETE FROM users WHERE id = 1; -- 删除单条
    DELETE FROM users WHERE status = 'inactive'; -- 条件删除
    TRUNCATE TABLE users; -- 清空表(不可回滚,速度比DELETE快)
    

4. 高级查询

  • 连接查询(JOIN)

    -- 内连接
    SELECT users.name, orders.amount 
    FROM users 
    INNER JOIN orders ON users.id = orders.user_id;
    
    -- 左连接
    SELECT users.name, orders.amount 
    FROM users 
    LEFT JOIN orders ON users.id = orders.user_id;
    
  • 聚合函数

    SELECT COUNT(*) FROM users; -- 统计行数
    SELECT AVG(age) AS avg_age FROM users; -- 平均值
    SELECT MAX(created_at) AS latest FROM users; -- 最大值
    SELECT city, COUNT(*) FROM users GROUP BY city; -- 分组统计
    SELECT city, COUNT(*) FROM users GROUP BY city HAVING COUNT(*) > 100; -- 分组后筛选
    
  • 子查询

    SELECT name FROM users 
    WHERE id IN (SELECT user_id FROM orders WHERE amount > 100);
    

5. 索引管理

  • 创建索引

    CREATE INDEX idx_name ON users(name); -- 普通索引
    CREATE UNIQUE INDEX idx_email ON users(email); -- 唯一索引
    
  • 删除索引

    DROP INDEX idx_name ON users;
    

6. 用户与权限

  • 创建用户

    CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
    
  • 授予权限

    GRANT SELECT, INSERT ON dbname.* TO 'username'@'localhost';
    GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION; -- 谨慎使用
    
  • 撤销权限

    REVOKE INSERT ON dbname.* FROM 'username'@'localhost';
    
  • 删除用户

    DROP USER 'username'@'localhost';
    
  • 刷新权限

    FLUSH PRIVILEGES;
    

7. 数据导入导出

  • 导出数据

    SELECT * INTO OUTFILE '/tmp/users.csv' 
    FIELDS TERMINATED BY ',' 
    LINES TERMINATED BY '\n' 
    FROM users;
    
  • 导入数据

    LOAD DATA INFILE '/tmp/users.csv' 
    INTO TABLE users 
    FIELDS TERMINATED BY ',' 
    LINES TERMINATED BY '\n';
    

8. 事务控制

  • 开启事务

    START TRANSACTION;
    -- 执行操作(如INSERT/UPDATE/DELETE)
    COMMIT; -- 提交事务
    ROLLBACK; -- 回滚事务
    
  • 设置自动提交

    SET autocommit = 0; -- 关闭自动提交
    SET autocommit = 1; -- 开启自动提交(默认)
    

9. 其他实用语句

  • 条件判断

    SELECT name, 
      CASE 
        WHEN age < 18 THEN 'Minor'
        ELSE 'Adult' 
      END AS age_group 
    FROM users;
    
  • 日期函数

    SELECT NOW(); -- 当前时间
    SELECT DATE_FORMAT(created_at, '%Y-%m-%d') FROM users; -- 格式化日期
    
  • 字符串函数

    SELECT CONCAT(name, ' (', email, ')') AS info FROM users;
    SELECT SUBSTRING(email, 1, 5) FROM users; -- 截取字符串
    

注意事项

  • 数据安全:执行DELETEUPDATE时务必检查WHERE条件,避免误操作。
  • 备份:重要操作前使用mysqldump备份数据。
  • 性能优化:合理使用索引,避免全表扫描。

掌握这些语句后,可覆盖MySQL日常开发与管理的90%场景。进阶学习可探索存储过程、触发器、视图等高级功能。


如果这篇文章对你有所帮助,渴望获得你的一个点赞!

在这里插入图片描述

### 回答1: 以下是 MySQL 常用的 SQL 语句: 1. 创建数据库 ``` CREATE DATABASE database_name; ``` 2. 删除数据库 ``` DROP DATABASE database_name; ``` 3. 创建表 ``` CREATE TABLE table_name ( column1 datatype, column2 datatype, column3 datatype, .... ); ``` 4. 删除表 ``` DROP TABLE table_name; ``` 5. 插入数据 ``` INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...); ``` 6. 更新数据 ``` UPDATE table_name SET column_name1 = value1, column_name2 = value2, ... WHERE condition; ``` 7. 删除数据 ``` DELETE FROM table_name WHERE condition; ``` 8. 查询数据 ``` SELECT column1, column2, ... FROM table_name WHERE condition; ``` 9. 排序 ``` SELECT column1, column2, ... FROM table_name ORDER BY column_name ASC|DESC; ``` 10. 分组 ``` SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name; ``` 11. 连接 ``` SELECT column_name(s) FROM table_name1 JOIN table_name2 ON table_name1.column_name = table_name2.column_name; ``` 以上是 MySQL 常用的 SQL 语句,希望能对你有所帮助。 ### 回答2: MySQL 是一种流行的关系型数据库管理系统,被广泛应用于Web开发和其他数据存储需求。以下是一些常用MySQL 语句: 1. 创建数据库: ``` CREATE DATABASE database_name; ``` 2. 选择使用的数据库: ``` USE database_name; ``` 3. 创建表: ``` CREATE TABLE table_name ( column1 datatype constraint, column2 datatype constraint, ... ); ``` 4. 插入数据: ``` INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...); ``` 5. 更新数据: ``` UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; ``` 6. 删除数据: ``` DELETE FROM table_name WHERE condition; ``` 7. 查询数据: ``` SELECT column1, column2, ... FROM table_name WHERE condition; ``` 8. 排序数据: ``` SELECT column1, column2, ... FROM table_name ORDER BY column_name ASC|DESC; ``` 9. 过滤数据: ``` SELECT column1, column2, ... FROM table_name WHERE column_name operator value; ``` 10. 聚合数据: ``` SELECT aggregate_function(column_name) FROM table_name GROUP BY column_name; ``` 以上是一些基本的 MySQL 语句,用于创建数据库、表和执行常见的数据操作。MySQL还有更多高级的功能和语句,可以根据具体需求深入学习和掌握。 ### 回答3: MySQL是一种流行的关系型数据库管理系统,它使用结构化查询语言(SQL)进行数据库操作。以下是MySQL常用的一些SQL语句: 1. 创建数据库:CREATE DATABASE databasename; 该语句用于创建一个新的数据库。 2. 删除数据库:DROP DATABASE databasename; 该语句用于删除一个已存在的数据库。 3. 创建表:CREATE TABLE tablename( column1 datatype constraint, column2 datatype constraint, ... ); 该语句用于创建一个新的表格,并定义表格中的列名、数据类型以及约束条件。 4. 删除表:DROP TABLE tablename; 该语句用于删除一个已存在的表格。 5. 插入数据:INSERT INTO tablename (column1, column2, ...) VALUES (value1, value2, ...); 该语句用于向表格中插入新的行数据。 6. 更新数据:UPDATE tablename SET column1 = value1, column2 = value2, ... WHERE condition; 该语句用于更新表格中已有的行数据。 7. 删除数据:DELETE FROM tablename WHERE condition; 该语句用于根据条件删除表格中的行数据。 8. 查询数据:SELECT column1, column2, ... FROM tablename WHERE condition; 该语句用于从表格中查询指定的列数据,并根据条件过滤结果。 9. 排序数据:SELECT column1, column2, ... FROM tablename ORDER BY column1 ASC/DESC; 该语句用于按照指定列的升序(ASC)或降序(DESC)对查询结果进行排序。 10. 连接表查询:SELECT column1, column2, ... FROM table1 JOIN table2 ON table1.column = table2.column; 该语句用于联结两个或多个表格,并根据指定的条件进行联结查询。 以上是MySQL中一些常用的SQL语句,通过使用这些语句,可以对数据库进行创建、删除、插入、更新、删除以及查询等操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OpenC++

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值