MySQL 概述
MySQL 是一个开源的关系型数据库管理系统(RDBMS),使用结构化查询语言(SQL)进行数据管理。它广泛应用于Web应用程序和数据存储。
1. 安装 MySQL
- Windows: 下载 MySQL Installer,按照向导进行安装。
- Linux: 使用包管理器安装,例如在 Ubuntu 上使用:
sudo apt update sudo apt install mysql-server
2. 启动和停止 MySQL 服务
- 启动 MySQL:
sudo service mysql start
- 停止 MySQL:
sudo service mysql stop
3. 连接到 MySQL
使用命令行工具连接到 MySQL:
mysql -u username -p
输入密码后即可进入 MySQL 命令行界面。
4. 数据库操作
4.1 创建数据库
CREATE DATABASE database_name;
4.2 查看数据库
SHOW DATABASES;
4.3 选择数据库
USE database_name;
4.4 删除数据库
DROP DATABASE database_name;
5. 表操作
5.1 创建表
CREATE TABLE table_name (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
age INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
5.2 查看表
SHOW TABLES;
5.3 描述表结构
DESCRIBE table_name;
5.4 删除表
DROP TABLE table_name;
6. 数据操作
6.1 插入数据
INSERT INTO table_name (name, age) VALUES ('Alice', 30);
6.2 查询数据
SELECT * FROM table_name;
6.3 更新数据
UPDATE table_name SET age = 31 WHERE name = 'Alice';
6.4 删除数据
DELETE FROM table_name WHERE name = 'Alice';
7. 数据类型
- 整数类型:
TINYINT
,SMALLINT
,MEDIUMINT
,INT
,BIGINT
- 浮点数类型:
FLOAT
,DOUBLE
,DECIMAL
- 字符串类型:
CHAR
,VARCHAR
,TEXT
,BLOB
- 日期和时间类型:
DATE
,TIME
,DATETIME
,TIMESTAMP
,YEAR
8. 索引
索引可以加速查询操作,但会增加写入操作的开销。
8.1 创建索引
CREATE INDEX index_name ON table_name (column_name);
8.2 查看索引
SHOW INDEX FROM table_name;
8.3 删除索引
DROP INDEX index_name ON table_name;
9. 事务处理
事务是一组操作,要么全部成功,要么全部失败。
9.1 开始事务
START TRANSACTION;
9.2 提交事务
COMMIT;
9.3 回滚事务
ROLLBACK;
10. 用户管理
10.1 创建用户
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
10.2 授权
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
10.3 查看用户
SELECT User, Host FROM mysql.user;
10.4 删除用户
DROP USER 'username'@'localhost';
11. 备份与恢复
11.1 备份数据库
mysqldump -u username -p database_name > backup.sql
11.2 恢复数据库
mysql -u username -p database_name < backup.sql
12. 最佳实践
- 定期备份数据库。
- 使用事务处理确保数据一致性。
- 为常用查询创建索引。
- 定期优化数据库性能。