本文最后更新于311 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com
一、MySQL 简介
MySQL 是一个开源的关系型数据库管理系统(RDBMS),它支持结构化查询语言(SQL)。MySQL因其性能、可靠性和易用性而广受欢迎,适用于各种规模的应用程序。
二、MySQL 安装
- 下载:访问MySQL官方网站或使用包管理器(如APT、YUM)下载适合您操作系统的MySQL版本。
- 安装:根据官方指南或包管理器提示完成安装过程。
- 初始化配置:安装后运行mysql_secure_installation脚本以设置root密码和其他安全选项。
- 启动服务:在Linux上可以通过systemctl start mysqld启动服务,在Windows上则可以在服务管理器中启动MySQL服务。
三、连接到MySQL
- 使用命令行工具:mysql -u 用户名 -p
- 输入之前设置的密码来登录。
四、SQL 基础命令
创建数据库
CREATE DATABASE 数据库名称;使用数据库
USE 数据库名称;创建表
CREATE TABLE 表名 (
    列1 数据类型,
    列2 数据类型,
    ...
);插入数据
INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);查询数据
SELECT * FROM 表名 WHERE 条件;更新数据
UPDATE 表名 SET 列名 = 新值 WHERE 条件;删除数据
DELETE FROM 表名 WHERE 条件;删除表
DROP TABLE 表名;五、高级特性
索引
索引是提高查询效率的重要手段,可以通过CREATE INDEX创建索引,通过DROP INDEX删除索引。
视图
视图是一个虚拟表,其内容由查询定义。可以像普通表一样对视图进行查询。
存储过程
存储过程是一组为了完成特定功能的SQL语句集合,使用CREATE PROCEDURE创建。
触发器
触发器是一种特殊的存储过程,当特定事件发生时自动执行。
事务
事务是一系列作为一个单元执行的SQL语句,要么全部执行成功,要么全部失败回滚。
六、性能优化
- 选择合适的数据类型:尽量使用更小的数据类型,如果INT足够表示数据范围,则不要使用BIGINT。
- 使用索引:为经常出现在WHERE子句中的字段建立索引。
- 优化查询:避免使用SELECT *,只选择需要的列;减少子查询的使用等。
- 缓存机制:合理利用MySQL自身的查询缓存机制。
- 分区表:对于非常大的表,可以考虑使用分区表来提升查询性能。
七、备份与恢复
- 备份:可以使用mysqldump工具进行逻辑备份。
- 恢复:将备份文件通过mysql命令导入即可。
八、安全实践
- 限制用户权限:仅授予用户所需的最小权限。
- 加密传输:启用SSL/TLS加密客户端和服务器之间的通信。
- 定期更新:保持MySQL版本最新,及时应用安全补丁。