Skip to content

基本使用

连接or退出

bash
# 连接MySQL数据库
mysql -u root -p
# 退出MySQL数据库
exit;
# or
quit;

数据库操作

-查看数据库列表

bash
show databases;

-创建数据库

SQL
CREATE DATABASE 数据库名;
-- 指定字符集(推荐):
CREATE DATABASE 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-使用数据库

SQL
USE 数据库名;

-删除数据库

SQL
DROP DATABASE 数据库名;

表操作

-查看当前数据库中的所有表

bash
SHOW TABLES;

-查看表结构

SQL
DESC 表名;
-- 或
DESCRIBE 表名;
-- 更详细的信息:
SHOW CREATE TABLE 表名;

-创建表

SQL
CREATE TABLE 表名 (
    列名1 数据类型1,
    列名2 数据类型2,
    ...
);

CREATE TABLE 表名 (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-删除表

SQL
DROP TABLE 表名;

-修改表结构(添加列)

SQL
ALTER TABLE 表名 RENAME TO 新表名; # 重命名表
ALTER TABLE 表名 ADD COLUMN 新列名 类型 [约束]; # 添加列

-重命名表

SQL
ALTER TABLE 表名 RENAME TO 新表名;

数据操作

-插入数据

SQL
INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2);
-- 插入用户数据
INSERT INTO users (name, email, password) VALUES ('张三', 'zhangsan@example.com', '123456');

-查询数据

SQL
SELECT * FROM 表名;
SELECT 列1, 列2 FROM 表名 WHERE 条件;
-- 查询所有用户
SELECT * FROM users;
-- 查询用户id=1的记录
SELECT * FROM users WHERE id = 1;

-更新数据

SQL
UPDATE 表名 SET 列1 = 新值1, 列2 = 新值2 WHERE 条件;
-- 更新用户id=1的name为'新用户名'
UPDATE users SET name = '新用户名' WHERE id = 1;

-删除数据

SQL
DELETE FROM 表名 WHERE 条件;
-- 删除用户id=1的记录
DELETE FROM users WHERE id = 1; 

-- 清空整张表(保留结构):
TRUNCATE TABLE 表名;

用户与权限管理

-创建用户

SQL
CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';
-- 例如:
CREATE USER 'testuser'@'localhost' IDENTIFIED BY '123456';

-授权用户权限

SQL
GRANT 权限 ON 数据库. TO '用户名'@'主机';
-- 例如授予全部权限:
GRANT ALL PRIVILEGES ON mydb.* TO 'testuser'@'localhost';

-刷新权限

SQL
FLUSH PRIVILEGES;

-删除用户

SQL
DROP USER '用户名'@'主机';
-- 例如:
DROP USER 'testuser'@'localhost';

备份和恢复

-备份数据库

bash
mysqldump -u root -p 数据库名 > 备份文件名.sql
# 备份时直接压缩
mysqldump -u root -p mydb | gzip > 压缩包文件名.sql.gz

-恢复数据库

bash
mysql -u root -p 数据库名 < 备份文件名.sql
# 恢复压缩包数据库
gunzip < 压缩包文件名.sql.gz | mysql -u root -p 数据库名

其他

SQL
-- 查看 MySQL 版本
SELECT VERSION();
-- 查看当前用户
SELECT USER();
-- 查看当前数据库
SELECT DATABASE();
-- 显示警告/错误信息
SHOW WARNINGS;
SHOW ERRORS;
-- 查看 MySQL 状态变量
SHOW STATUS;
-- 查看 MySQL 配置变量
SHOW VARIABLES;
SHOW VARIABLES LIKE 'max_connections';

最后更新时间: