基本使用
连接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';