mysql命令语句大全

一、‌数据库操作

  1. 创建数据库

    sqlCopy Code
    CREATE DATABASE 数据库名 [CHARSET 字符集]; -- 如:CREATE DATABASE testdb CHARSET utf8mb4‌:ml-citation{ref="1,3" data="citationList"}
  2. 删除数据库

    sqlCopy Code
    DROP DATABASE 数据库名; -- 示例:DROP DATABASE testdb‌:ml-citation{ref="1,3" data="citationList"}
  3. 切换数据库

    sqlCopy Code
    USE 数据库名; -- 示例:USE testdb‌:ml-citation{ref="1,3" data="citationList"}
  4. 查看所有数据库

    sqlCopy Code
    SHOW DATABASES;‌:ml-citation{ref="3,4" data="citationList"}

二、‌表操作

  1. 创建表

    sqlCopy Code
    CREATE TABLE 表名 (
    列名1 数据类型 [约束],
    列名2 数据类型 [约束]
    ); -- 示例:CREATE TABLE users (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50))‌:ml-citation{ref="1,3" data="citationList"}
  2. 删除表

    sqlCopy Code
    DROP TABLE 表名; -- 示例:DROP TABLE users‌:ml-citation{ref="1,3" data="citationList"}
  3. 修改表结构

    sqlCopy Code
    -- 新增列
    ALTER TABLE 表名 ADD 列名 数据类型; -- 示例:ALTER TABLE users ADD email VARCHAR(100)‌:ml-citation{ref="1,4" data="citationList"}

    -- 删除列
    ALTER TABLE 表名 DROP 列名; -- 示例:ALTER TABLE users DROP email‌:ml-citation{ref="1,4" data="citationList"}

    -- 修改列类型
    ALTER TABLE 表名 MODIFY 列名 新数据类型; -- 示例:ALTER TABLE users MODIFY name CHAR(20)‌:ml-citation{ref="1,4" data="citationList"}

    -- 重命名表
    ALTER TABLE 旧表名 RENAME TO 新表名; -- 示例:ALTER TABLE users RENAME TO customers‌:ml-citation{ref="1,4" data="citationList"}

  4. 查看表结构

    sqlCopy Code
    DESC 表名; -- 或 SHOW COLUMNS FROM 表名;‌:ml-citation{ref="3,4" data="citationList"}

三、‌数据操作(CRUD)

  1. 插入数据

    sqlCopy Code
    INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2); -- 示例:INSERT INTO users (name) VALUES ('Alice')‌:ml-citation{ref="1,4" data="citationList"}
  2. 查询数据

    sqlCopy Code
    SELECT1, 列2 FROM 表名 [WHERE 条件];
    -- 示例:
    SELECT * FROM users;
    SELECT name FROM users WHERE id = 1;‌:ml-citation{ref="1,3" data="citationList"}
  3. 更新数据

    sqlCopy Code
    UPDATE 表名 SET1=1, 列2=2 [WHERE 条件]; -- 示例:UPDATE users SET name='Bob' WHERE id=1‌:ml-citation{ref="1,4" data="citationList"}
  4. 删除数据

    sqlCopy Code
    DELETE FROM 表名 [WHERE 条件]; -- 示例:DELETE FROM users WHERE id=1‌:ml-citation{ref="1,4" data="citationList"}

四、‌用户与权限管理

  1. 创建用户

    sqlCopy Code
    CREATE USER '用户名'@'主机' IDENTIFIED BY '密码'; -- 示例:CREATE USER 'user1'@'localhost' IDENTIFIED BY '123456'‌:ml-citation{ref="6,8" data="citationList"}
  2. 授权

    sqlCopy Code
    GRANT 权限 ON 数据库名.表名 TO '用户名'@'主机';
    -- 示例:
    GRANT SELECT, INSERT ON testdb.* TO 'user1'@'localhost';
    GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%';‌:ml-citation{ref="6,8" data="citationList"}
  3. 撤销权限

    sqlCopy Code
    REVOKE 权限 ON 数据库名.表名 FROM '用户名'@'主机'; -- 示例:REVOKE INSERT ON testdb.* FROM 'user1'@'localhost'‌:ml-citation{ref="6,8" data="citationList"}
  4. 删除用户

    sqlCopy Code
    DROP USER '用户名'@'主机'; -- 示例:DROP USER 'user1'@'localhost'‌:ml-citation{ref="6,8" data="citationList"}

五、‌备份与恢复

  1. 逻辑备份(导出数据)

    bashCopy Code
    mysqldump -u 用户名 -p 数据库名 > 备份文件.sql -- 示例:mysqldump -u root -p testdb > testdb.sql‌:ml-citation{ref="5,8" data="citationList"}
  2. 恢复数据

    bashCopy Code
    mysql -u 用户名 -p 数据库名 < 备份文件.sql -- 示例:mysql -u root -p testdb < testdb.sql‌:ml-citation{ref="5,8" data="citationList"}

六、‌其他常用命令

  1. 查看当前数据库版本

    sqlCopy Code
    SELECT VERSION();‌:ml-citation{ref="3,7" data="citationList"}
  2. 查看当前用户

    sqlCopy Code
    SELECT USER();‌:ml-citation{ref="3,7" data="citationList"}
  3. 事务控制

    sqlCopy Code
    START TRANSACTION; -- 开启事务
    COMMIT; -- 提交事务
    ROLLBACK; -- 回滚事务‌:ml-citation{ref="4,7" data="citationList"}
  4. 设置字符集

    sqlCopy Code
    ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集; -- 示例:ALTER DATABASE testdb CHARSET utf8mb4‌:ml-citation{ref="4,7" data="citationList"}

七、‌实用技巧

  • 模糊查询‌:

    sqlCopy Code
    SELECT * FROM 表名 WHERE 列名 LIKE '%关键词%'; -- 示例:SELECT * FROM users WHERE name LIKE '%John%'‌:ml-citation{ref="2,5" data="citationList"}
  • 排序与分页‌:

    sqlCopy Code
    SELECT * FROM 表名 ORDER BY 列名 DESC LIMIT 偏移量, 行数; -- 示例:SELECT * FROM users ORDER BY id DESC LIMIT 0, 10‌:ml-citation{ref="2,5" data="citationList"}
  • 聚合函数‌:

    sqlCopy Code
    SELECT COUNT(*), AVG(列名), MAX(列名) FROM 表名; -- 示例:SELECT COUNT(*) FROM users‌:ml-citation{ref="2,4" data="citationList"}

‌:以上命令需根据实际需求调整参数,部分操作(如删除数据、修改表结构)需谨慎执行‌

阅读剩余
THE END