Appearance
MySQL 入门
本章将介绍MySQL数据库的基本概念、安装配置方法,以及如何开始使用MySQL。
数据库基础概念
什么是数据库
sql
-- 数据库(Database)是存储数据的仓库
-- 数据库管理系统(DBMS)是管理数据库的软件
-- MySQL是一种关系型数据库管理系统(RDBMS)
/*
* 关系型数据库的特点:
* 1. 数据以表格形式存储
* 2. 表与表之间可以建立关系
* 3. 使用SQL语言操作数据
* 4. 支持事务处理
* 5. 数据完整性强
*/关系型数据库结构
sql
/*
* 数据库结构层次:
*
* 数据库服务器(MySQL Server)
* └── 数据库(Database)
* └── 表(Table)
* └── 行/记录(Row/Record)
* └── 列/字段(Column/Field)
*
* 示例:
* 学生表(students)
* +----+--------+------+-------+
* | id | name | age | score |
* +----+--------+------+-------+
* | 1 | 张三 | 20 | 95.5 |
* | 2 | 李四 | 21 | 88.0 |
* +----+--------+------+-------+
*
* 每一行是一条学生记录
* 每一列是学生的一个属性(字段)
*/SQL语言分类
sql
/*
* SQL语言分为四大类:
*
* 1. DDL(数据定义语言)
* - CREATE:创建数据库对象
* - ALTER:修改数据库对象
* - DROP:删除数据库对象
* - TRUNCATE:清空表数据
*
* 2. DML(数据操作语言)
* - INSERT:插入数据
* - UPDATE:更新数据
* - DELETE:删除数据
*
* 3. DQL(数据查询语言)
* - SELECT:查询数据
*
* 4. DCL(数据控制语言)
* - GRANT:授予权限
* - REVOKE:撤销权限
*/MySQL安装
Windows安装
sql
/*
* Windows安装MySQL步骤:
*
* 1. 下载MySQL安装包
* 访问官网:https://dev.mysql.com/downloads/mysql/
* 选择Windows版本下载
*
* 2. 运行安装程序
* - 选择"Developer Default"或"Server only"
* - 配置MySQL服务器
* - 设置root密码
*
* 3. 配置环境变量
* 将MySQL的bin目录添加到PATH
* 例如:C:\Program Files\MySQL\MySQL Server 8.0\bin
*
* 4. 验证安装
* 打开命令行,输入:
* mysql --version
* 或
* mysql -u root -p
*/Linux安装
sql
/*
* Ubuntu/Debian安装:
*
* # 更新包列表
* sudo apt update
*
* # 安装MySQL服务器
* sudo apt install mysql-server
*
* # 启动MySQL服务
* sudo systemctl start mysql
*
* # 设置开机自启
* sudo systemctl enable mysql
*
* # 运行安全脚本
* sudo mysql_secure_installation
*
*
* CentOS/RHEL安装:
*
* # 添加MySQL仓库
* sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
*
* # 安装MySQL服务器
* sudo yum install mysql-server
*
* # 启动MySQL服务
* sudo systemctl start mysqld
*
* # 获取临时密码
* sudo grep 'temporary password' /var/log/mysqld.log
*
* # 登录并修改密码
* mysql -u root -p
*/macOS安装
sql
/*
* macOS安装MySQL:
*
* 方法一:使用Homebrew(推荐)
*
* # 安装MySQL
* brew install mysql
*
* # 启动MySQL服务
* brew services start mysql
*
* # 运行安全配置
* mysql_secure_installation
*
*
* 方法二:下载DMG安装包
*
* 1. 访问官网下载macOS版本
* 2. 双击DMG文件安装
* 3. 在系统偏好设置中配置MySQL
*/连接MySQL
命令行连接
sql
-- 基本连接命令
-- mysql -h 主机名 -P 端口号 -u 用户名 -p
-- 连接本地MySQL服务器
-- mysql -u root -p
-- 输入密码后回车
-- 连接远程MySQL服务器
-- mysql -h 192.168.1.100 -P 3306 -u root -p
-- 指定数据库连接
-- mysql -u root -p mydb
/*
* 连接参数说明:
* -h:指定主机名(默认localhost)
* -P:指定端口号(默认3306)
* -u:指定用户名
* -p:提示输入密码
* -D:指定默认数据库
*/
-- 连接成功后显示
-- mysql> 表示可以输入SQL语句了基本命令
sql
-- 查看MySQL版本
SELECT VERSION();
-- 查看当前日期时间
SELECT NOW();
-- 查看当前用户
SELECT USER();
-- 查看当前数据库
SELECT DATABASE();
-- 查看所有数据库
SHOW DATABASES;
-- 查看服务器状态
SHOW STATUS;
-- 查看系统变量
SHOW VARIABLES;
-- 查看支持的字符集
SHOW CHARACTER SET;
-- 查看支持的校对规则
SHOW COLLATION;
-- 退出MySQL
-- exit 或 quitMySQL配置
配置文件
sql
/*
* MySQL配置文件位置:
*
* Windows:my.ini(通常在MySQL安装目录下)
* Linux:/etc/mysql/my.cnf 或 /etc/my.cnf
* macOS:/usr/local/etc/my.cnf
*
* 常用配置项:
*/
/*
* [mysqld] 服务器配置
*
* # 端口号
* port = 3306
*
* # 数据目录
* datadir = /var/lib/mysql
*
* # 字符集
* character-set-server = utf8mb4
*
* # 排序规则
* collation-server = utf8mb4_unicode_ci
*
* # 最大连接数
* max_connections = 200
*
* # 存储引擎
* default-storage-engine = InnoDB
*
* # 慢查询日志
* slow_query_log = 1
* slow_query_log_file = /var/log/mysql/slow.log
* long_query_time = 2
*/
/*
* [client] 客户端配置
*
* # 默认字符集
* default-character-set = utf8mb4
*
* # 端口号
* port = 3306
*/字符集配置
sql
-- 查看当前字符集设置
SHOW VARIABLES LIKE 'character%';
/*
* 输出示例:
* character_set_client | utf8mb4
* character_set_connection | utf8mb4
* character_set_database | utf8mb4
* character_set_results | utf8mb4
* character_set_server | utf8mb4
*/
-- 查看校对规则
SHOW VARIABLES LIKE 'collation%';
/*
* 输出示例:
* collation_connection | utf8mb4_unicode_ci
* collation_database | utf8mb4_unicode_ci
* collation_server | utf8mb4_unicode_ci
*/
-- 设置字符集(临时)
SET NAMES utf8mb4;
-- 设置服务器字符集
SET character_set_server = utf8mb4;存储引擎
sql
-- 查看支持的存储引擎
SHOW ENGINES;
/*
* 主要存储引擎:
*
* 1. InnoDB(默认)
* - 支持事务(ACID)
* - 支持行级锁
* - 支持外键
* - 支持崩溃恢复
* - 适合高并发场景
*
* 2. MyISAM
* - 不支持事务
* - 只支持表级锁
* - 查询速度快
* - 适合读多写少场景
*
* 3. Memory
* - 数据存储在内存中
* - 速度快但数据易丢失
* - 适合临时表
*
* 4. Archive
* - 压缩存储
* - 只支持INSERT和SELECT
* - 适合日志归档
*/
-- 查看默认存储引擎
SHOW VARIABLES LIKE 'default_storage_engine';
-- 查看表的存储引擎
SHOW TABLE STATUS LIKE '表名';
-- 修改表的存储引擎
-- ALTER TABLE 表名 ENGINE = InnoDB;本章小结
本章学习了:
- 数据库概念:关系型数据库的结构和特点
- SQL语言分类:DDL、DML、DQL、DCL
- MySQL安装:Windows、Linux、macOS安装方法
- 连接MySQL:命令行连接和基本命令
- MySQL配置:配置文件和字符集设置
- 存储引擎:InnoDB、MyISAM等引擎特点
下一章,我们将学习数据库操作,了解如何创建和管理数据库。
