MySQL 备忘单
连接与退出
- mysql -u [用户名] -p - 连接MySQL服务器
- mysql -u [用户名] -p [数据库名] - 连接并指定数据库
- exit 或 quit - 退出MySQL
- status 或 \s - 查看服务器状态
数据库操作
- SHOW DATABASES; - 列出所有数据库
- CREATE DATABASE [数据库名]; - 创建数据库
- USE [数据库名]; - 选择数据库
- DROP DATABASE [数据库名]; - 删除数据库
- ALTER DATABASE [数据库名] CHARACTER SET utf8mb4; - 修改数据库字符集
表操作
- SHOW TABLES; - 列出当前数据库中的表
- DESCRIBE [表名]; 或 DESC [表名]; - 查看表结构
- DROP TABLE [表名]; - 删除表
-- 创建表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
age INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 修改表添加列
ALTER TABLE users ADD COLUMN address VARCHAR(255);
-- 修改表删除列
ALTER TABLE users DROP COLUMN address;
数据查询
-- 基本查询
SELECT column1, column2 FROM table_name;
SELECT * FROM table_name; -- 查询所有列
-- 带条件查询
SELECT * FROM users WHERE age > 18;
SELECT * FROM users WHERE name LIKE 'J%'; -- 模糊查询
-- 排序
SELECT * FROM users ORDER BY age ASC; -- 升序
SELECT * FROM users ORDER BY age DESC; -- 降序
-- 限制结果
SELECT * FROM users LIMIT 10; -- 前10条
SELECT * FROM users LIMIT 5 OFFSET 10; -- 从第10条开始取5条
-- 聚合函数
SELECT COUNT(*) FROM users;
SELECT AVG(age) FROM users;
SELECT MAX(age) FROM users;
SELECT MIN(age) FROM users;
SELECT SUM(score) FROM students;
数据操作
-- 插入数据
INSERT INTO users (name, email, age)
VALUES ('John Doe', 'john@example.com', 30);
-- 批量插入
INSERT INTO users (name, email, age)
VALUES
('Jane Smith', 'jane@example.com', 25),
('Bob Johnson', 'bob@example.com', 35);
-- 更新数据
UPDATE users
SET age = 31, email = 'john.new@example.com'
WHERE id = 1;
-- 删除数据
DELETE FROM users WHERE id = 1;
DELETE FROM users WHERE age < 18;