MySQL 备忘单

连接与退出

  • mysql -u [用户名] -p - 连接MySQL服务器
  • mysql -u [用户名] -p [数据库名] - 连接并指定数据库
  • exitquit - 退出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;