MySQL数据库基础教程:从安装到数据操作
MySQL数据库基础教程:从安装到数据操作
一、数据库核心概念
1.1 数据库(DB)
数据库是有组织存储和管理数据的仓库,能解决传统文件存储的痛点:
- 文件存储数据修改困难(需全量读取)
- 大数据量场景下内存无法承载
- 数据关联性差
1.2 数据库管理系统(DBMS)
管理数据库的大型软件(如MySQL、Oracle),提供:
- 数据库创建/维护功能
- 数据增删改查(CRUD)接口
- 用户权限管理
1.3 SQL语言
结构化查询语言(Structured Query Language)的特点:
- 操作关系型数据库的统一标准
- 可跨不同DBMS使用(如MySQL→PostgreSQL)
- 支持数据定义、操作、查询和控制
二、MySQL安装与配置(Windows)
2.1 安装步骤
- 官网下载解压版(如mysql-5.7.24-winx64.zip)
- 解压到目标目录(如D:\software\)
- 配置环境变量:
MYSQL_HOME = D:\software\mysql-5.7.24-winx64 Path添加 %MYSQL_HOME%\bin
- 创建配置文件
my.ini
:[mysql] default-character-set=utf8 [mysqld] character-set-server=utf8 default-storage-engine=INNODB
2.2 初始化与启动
# 初始化数据目录
mysqld --initialize-insecure# 注册系统服务
mysqld -install# 启动MySQL服务
net start mysql# 设置root密码
mysqladmin -u root password 1234
2.3 登录与退出
# 登录
mysql -uroot -p1234# 退出
exit 或 quit
三、数据库与表操作(DDL)
3.1 数据库操作
-- 创建数据库
CREATE DATABASE IF NOT EXISTS db1;-- 删除数据库
DROP DATABASE IF EXISTS db1;-- 使用数据库
USE db1;
3.2 数据表操作
-- 创建学生表
CREATE TABLE student (id INT,name VARCHAR(10),gender CHAR(1),birthday DATE,score DOUBLE(5,2)
);-- 修改表结构
ALTER TABLE student RENAME TO stu; -- 重命名
ALTER TABLE stu ADD email VARCHAR(50); -- 添加列
ALTER TABLE stu MODIFY email VARCHAR(100); -- 修改类型
ALTER TABLE stu CHANGE email mail VARCHAR(50); -- 重命名字段
ALTER TABLE stu DROP mail; -- 删除列-- 删除表
DROP TABLE IF EXISTS stu;
四、数据操作(DML)
4.1 插入数据
-- 单条插入
INSERT INTO stu (id,name) VALUES (1,'张三');-- 批量插入
INSERT INTO stu VALUES (2,'李四','男','1999-11-11',88.88),(3,'王五','女','2000-05-20',92.50);
4.2 更新数据
-- 修改特定记录
UPDATE stu SET score = 95.00 WHERE name = '张三';-- 修改所有记录(慎用!)
UPDATE stu SET gender = '男';
4.3 删除数据
-- 删除特定记录
DELETE FROM stu WHERE id = 3;-- 清空表数据
DELETE FROM stu;
五、数据查询(DQL)
5.1 基础查询
SELECT * FROM stu; -- 查询所有列
SELECT name, score FROM stu; -- 查询指定列
SELECT DISTINCT address FROM stu; -- 去重查询
SELECT name AS 姓名, score AS 成绩 FROM stu; -- 别名查询
5.2 条件查询
-- 比较运算符
SELECT * FROM stu WHERE score > 90;-- 范围查询
SELECT * FROM stu WHERE birthday BETWEEN '1999-01-01' AND '1999-12-31';-- 模糊查询
SELECT * FROM stu WHERE name LIKE '张%'; -- 张姓同学
SELECT * FROM stu WHERE name LIKE '_三%'; -- 名字第二个字是"三"
5.3 排序与分页
-- 按成绩降序排列
SELECT * FROM stu ORDER BY score DESC;-- 分页查询(每页3条,第2页)
SELECT * FROM stu LIMIT 3, 3; -- 起始索引=(页码-1)*条数
5.4 聚合与分组
-- 聚合函数
SELECT AVG(score) FROM stu; -- 平均分
SELECT MAX(score) FROM stu; -- 最高分
SELECT COUNT(*) FROM stu; -- 总人数-- 分组统计
SELECT gender, AVG(score)
FROM stu
GROUP BY gender;
六、图形化工具Navicat
6.1 核心优势
- 可视化操作数据库/表
- 直观执行SQL语句
- 数据导入导出便捷
- 连接管理多台服务器
6.2 连接配置
- 新建MySQL连接
- 输入主机地址(默认localhost)
- 设置用户名/密码(root/1234)
- 测试连接并保存
七、MySQL数据模型
7.1 核心组件关系
客户端 → DBMS → 数据库 → 数据表 → 数据行
- 一个数据库 = 磁盘上一个文件夹
- 一张表 = 磁盘上的 .frm(结构) + .MYD(数据)文件
- 一行数据 = 表中的一条记录
7.2 关系型数据库优势
- 表结构统一,易于维护
- 使用SQL标准化操作
- 支持复杂关联查询
- 数据持久化存储
提示:本教程示例基于MySQL 5.7版本,部分语法可能因版本差异需要调整