适用于初学者和日常开发参考
最后更新:2025年12月30日
CREATE DATABASE database_name;
USE database_name;
SHOW DATABASES;
DROP DATABASE database_name;
CREATE TABLE table_name (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
age INT,
email VARCHAR(100) UNIQUE
);
DESCRIBE table_name;
-- 或
DESC table_name;
SHOW TABLES;
ALTER TABLE table_name ADD COLUMN column_name datatype;
ALTER TABLE table_name MODIFY COLUMN column_name new_datatype;
ALTER TABLE table_name CHANGE old_column_name new_column_name datatype;
ALTER TABLE table_name DROP COLUMN column_name;
DROP TABLE table_name;
INSERT INTO table_name (name, age, email) VALUES ('张三', 25, 'zhangsan@example.com');
-- 批量插入
INSERT INTO table_name (name, age, email) VALUES
('李四', 30, 'lisi@example.com'),
('王五', 28, 'wangwu@example.com');
-- 查询全部
SELECT * FROM table_name;
-- 条件查询
SELECT * FROM table_name WHERE age > 25;
-- 指定字段
SELECT name, email FROM table_name;
-- 排序
SELECT * FROM table_name ORDER BY age DESC;
-- 分页(跳过前5条,取10条)
SELECT * FROM table_name LIMIT 5, 10;
-- 去重
SELECT DISTINCT email FROM table_name;
UPDATE table_name SET age = 26 WHERE name = '张三';
注意:若不加 WHERE 条件,会更新整张表!
DELETE FROM table_name WHERE name = '张三';
注意:若不加 WHERE 条件,会清空整张表!
TRUNCATE TABLE table_name;
比 DELETE 更快,但不可回滚,且重置自增 ID。
mysql -u username -p database_name < file.sql
mysqldump -u username -p database_name > backup.sql
创建用户
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
授权
GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';
FLUSH PRIVILEGES;
查看用户权限
SHOW GRANTS FOR 'newuser'@'localhost';
删除用户
DROP USER 'newuser'@'localhost';
创建索引
CREATE INDEX idx_email ON table_name(email);
查看索引
SHOW INDEX FROM table_name;
删除索引
DROP INDEX idx_email ON table_name;
| 函数 | 说明 |
|---|---|
| NOW() | 当前日期时间 |
| CURDATE() | 当前日期 |
| CURTIME() | 当前时间 |
| COUNT(*) | 统计行数 |
| SUM(column) | 求和 |
| AVG(column) | 平均值 |
| MAX(column) / MIN(column) | 最大/最小值 |
| CONCAT(str1, str2) | 字符串拼接 |
| IFNULL(column, '默认值') | 处理 NULL |
提示:本手册基于 MySQL 5.7+ / 8.0 编写,部分语法可能因版本略有差异。