数据库管理不再难:MySQL 超详细使用指南
MySQL 是世界上最流行的开源关系型数据库管理系统之一,它以其高性能、可靠性和易用性而闻名。
本文将全面介绍 MySQL 的常用操作以及优化技巧,帮助读者快速掌握 MySQL 的核心使用方法。
一. MySQL 基础操作
1. 连接 MySQL
mysql -u 用户名 -p
输入密码后即可进入 MySQL 命令行界面。
2. 数据库操作
创建数据库:
CREATE DATABASE 数据库名;
查看数据库列表:
SHOW DATABASES;
选择数据库:
USE 数据库名;
删除数据库:
DROP DATABASE 数据库名;
3. 表操作
创建表:
CREATE TABLE 表名 (
列名1 数据类型 [约束条件],
列名2 数据类型 [约束条件],
...
[表级约束条件]
);
示例:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE,
age INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
查看表结构:
DESCRIBE 表名;
修改表:
ALTER TABLE 表名 ADD 列名 数据类型;
ALTER TABLE 表名 DROP COLUMN 列名;
ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型;
删除表:
DROP TABLE 表名;
二、数据操作
1. 插入数据
INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);
示例:
INSERT INTO users (username, email, age)
VALUES ('张三', 'zhangsan@example.com', 25);
2. 查询数据
基本查询:
SELECT 列名1, 列名2 FROM 表名 WHERE 条件;
条件查询:
SELECT * FROM users WHERE age > 20;
排序:
SELECT * FROM users ORDER BY age DESC;
分页:
SELECT * FROM users LIMIT 10 OFFSET 20;
3. 更新数据
UPDATE 表名 SET 列1=值1, 列2=值2 WHERE 条件;
示例:
UPDATE users SET age=26 WHERE username='张三';
4. 删除数据
DELETE FROM 表名 WHERE 条件;
示例:
DELETE FROM users WHERE id=5;
三、高级查询技巧
1. 连接查询
内连接:
SELECT a.*, b.*
FROM 表A a INNER JOIN 表B b
ON a.关联字段 = b.关联字段;
左连接:
SELECT a.*, b.*
FROM 表A a LEFT JOIN 表B b
ON a.关联字段 = b.关联字段;
2. 子查询
SELECT * FROM users
WHERE age > (SELECT AVG(age) FROM users);
3. 聚合函数
SELECT COUNT(*) FROM users;
SELECT AVG(age) FROM users;
SELECT MAX(age) FROM users;
SELECT MIN(age) FROM users;
SELECT SUM(age) FROM users;
4. 分组查询
SELECT age, COUNT(*)
FROM users
GROUP BY age
HAVING COUNT(*) > 5;
四、索引操作
创建索引:
CREATE INDEX 索引名 ON 表名(列名);
查看索引:
SHOW INDEX FROM 表名;
删除索引:
DROP INDEX 索引名 ON 表名;
五、用户权限管理
1. 用户管理
创建用户:
CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';
删除用户:
DROP USER '用户名'@'主机';
2. 权限管理
授予权限:
GRANT 权限 ON 数据库.表 TO '用户名'@'主机';
撤销权限:
REVOKE 权限 ON 数据库.表 FROM '用户名'@'主机';
刷新权限:
FLUSH PRIVILEGES;
六、备份与恢复
备份数据库:
mysqldump -u 用户名 -p 数据库名 > 备份文件.sql
恢复数据库:
mysql -u 用户名 -p 数据库名 < 备份文件.sql