从零到一:MySQL开发环境搭建与SQL核心操作全攻略
前言
你是否曾经在面对数据库时感到无从下手?是否被各种SQL语句搞得晕头转向?别担心,本文将带你从零开始,一步步掌握MySQL数据库的开发环境搭建和核心操作,助你快速入门关系型数据库的世界。
作为Java开发工程师,数据库是我们无法绕开的核心技能。无论你是刚入行的新人,还是希望巩固基础的开发者,这篇文章都将为你提供一份完整的实操指南。我们将从MySQL的安装开始,到DataGrip的可视化操作,再到DDL、DML语句的详细讲解,全程图文并茂,手把手教学。
一、数据库通识:为什么需要数据库?
1.1 什么是数据库?
简单来说,数据库就是一个存储和管理数据的系统。它和我们日常使用的Excel有什么不同呢?
| 对比维度 | Excel | 数据库(如MySQL) |
|---|---|---|
| 数据规模 | 最大100万行,超过易卡顿崩溃 | TB级数据(百万亿行级),轻松处理 |
| 多用户协作 | 仅限单人编辑,多人同时改会冲突 | 支持千人并发,数据实时同步 |
| 数据安全 | 无权限控制,文件易被误删/覆盖 | 精细权限管理(谁能看到/修改哪张表) |
| 数据一致性 | 重复数据难管理,容易出错 | 自动校验(如"手机号唯一"、"年龄>0") |
| 计算能力 | 仅支持本地计算,复杂公式易崩溃 | 服务器级计算,支持百万级并发查询 |
| 典型场景 | 个人报表、小团队简单分析 | 企业级应用(电商订单、银行交易、用户系统) |
1.2 数据库的核心特点
高效存储:决定数据用什么格式存、存在哪个位置最快
快速检索:需要数据时,只需告诉数据库"管理员"你的要求
维护安全:设置权限,谁可以看哪个"抽屉",谁可以修改文件
保证一致性:确保数据不会错乱,删除一个用户,自动处理掉相关订单
方便操作:支持增、删、改、查(CRUD)
1.3 数据库的分类
| 类型 | 核心特征 | 常见产品 | 典型场景 |
|---|---|---|---|
| 关系型数据库 | 表格化、结构化、遵循SQL规范 | MySQL、Oracle、SQL Server | 核心交易数据、用户信息 |
| 非关系型数据库 | 无固定结构、灵活性高、Key-Value存储 | Redis、MongoDB、HBase | 缓存、日志、社交数据 |
现代大型系统通常混合使用多种数据库,让它们各司其职:
MySQL → 存储核心用户、订单数据
Redis → 做缓存,加速热点数据读取
1.4 为什么学习MySQL?
✅ 全世界最流行的开源数据库
✅免费,中小企业首选,应用广泛
✅ 容易快速上手,概念相通,遵循SQL标准
二、开发环境搭建(图文详解)
2.1 MySQL数据库安装(使用PHPStudy)
⚠️重要提示:安装路径不要出现中文!
安装步骤:
双击资料中的
PHPStudy_x64_8.1.1.3.exe一键安装安装完成后,目录结构如下:
text
D:\SOFTWARE\PHPStudy ├── COM/ # 主程序目录 ├── Extensions/ # 扩展组件 └── WWW/ # 网站根目录
双击
COM目录中的PHPStudy_Pro.exe启动在界面中点击「数据库服务」→ 安装MySQL 8.0.12
安装完成后,点击「启动」按钮
启动成功的标志:
服务状态显示「正常」
记住你的用户名(默认
root)和密码(默认为空或你设置的密码)
2.2 DataGrip安装与汉化
DataGrip是JetBrains出品的数据库管理工具,提供可视化连接、SQL智能编写、表结构管理等功能。
🔗 下载地址:下载 DataGrip:适用于数据库和 SQL 的跨平台 IDE
安装注意事项:
安装目录不要有中文
安装完成后登录JetBrains账号,选择「非商业个人学习许可」即可永久免费使用
汉化步骤:
点击右上角Settings(设置图标)
搜索「Plugins」→ 搜索「Chinese (Simplified) Language Pack」
点击「Install」→ 重启DataGrip即可
三、数据库连接:让DataGrip与MySQL对话
3.1 网络通信三要素
在连接数据库之前,先理解网络通信的三要素:
| 要素 | 说明 | 示例 |
|---|---|---|
| IP地址 | 设备在网络中的唯一标识 | 127.0.0.1(本机)、192.168.xx.xx(内网) |
| 端口 | 应用程序的唯一标识 | 3306(MySQL默认端口)、80(HTTP) |
| 协议 | 数据传输的规则 | TCP/IP、HTTP、FTP |
3.2 DataGrip连接MySQL
详细步骤:
新建项目→ 选择项目存放路径
点击左侧「数据库资源管理器」→ 「+」→ 「数据源」→ 「MySQL」
填写连接信息:
| 配置项 | 填写内容 |
|---|---|
| 主机 | localhost或127.0.0.1 |
| 端口 | 3306 |
| 用户 | root |
| 密码 | 你设置的MySQL密码 |
| 数据库 | 留空或填写具体库名 |
点击「测试连接」→ 如果提示下载驱动,允许下载即可
看到「已成功」提示 → 点击「确定」
四、SQL语句核心知识
4.1 SQL分类一览
| 分类 | 全称 | 作用 | 关键字 |
|---|---|---|---|
| DDL | 数据定义语言 | 定义数据库对象:库、表、列 | CREATE、ALTER、DROP |
| DML | 数据操作语言 | 操作表中的记录 | INSERT、UPDATE、DELETE |
| DQL | 数据查询语言 | 查询表中的记录 | SELECT、FROM、WHERE |
| DCL | 数据控制语言 | 权限管理、用户创建 | GRANT、REVOKE |
4.2 SQL通用语法规范
分号结尾:SQL语句以英文分号
;结尾不区分大小写:关键字建议使用大写(可读性更好)
注释方式:
单行:
-- 注释内容或# 注释内容多行:
/* 注释内容 */
快捷键:
执行SQL:
Ctrl + Enter格式化SQL:
Ctrl + Alt + L快速注释/取消注释:
Ctrl + /
五、DDL:数据定义语言(库和表的操作)
5.1 数据类型速查表
| 分类 | 类型 | 说明 | 使用场景 |
|---|---|---|---|
| 整数 | int | 普通整数(4字节) | 用户ID、订单数 |
| 整数 | tinyint | 很小的整数(1字节) | 状态码、布尔值(0/1) |
| 小数 | decimal(m,d) | 精确保存小数 | 价格、金额 |
| 日期 | timestamp | 日期+时间 | 订单创建时间 |
| 字符串 | varchar(m) | 可变长度字符串 | 用户名、标题 |
| 字符串 | char(m) | 定长字符串 | 身份证、手机号 |
| 大文本 | text | 大文本数据 | 文章内容 |
💡重点掌握:
int、decimal(m,d)、timestamp、varchar(长度)
5.2 数据库操作
sql
-- 1. 创建数据库(如果不存在则创建) CREATE DATABASE IF NOT EXISTS day01_db; -- 2. 指定编码创建数据库 CREATE DATABASE IF NOT EXISTS day01_db_test2 CHARSET = 'utf8'; -- 3. 查看所有数据库 SHOW DATABASES; -- 4. 使用数据库 USE day01_db; -- 5. 查看当前使用的数据库 SELECT DATABASE(); -- 6. 删除数据库(⚠️ 工作中慎用!) DROP DATABASE day01_db;
5.3 表的操作
创建表(CREATE TABLE)
sql
-- 创建分类表 CREATE TABLE category ( id VARCHAR(10) PRIMARY KEY, cname VARCHAR(20) ); -- 创建商品表 CREATE TABLE product ( pid INT, pname VARCHAR(50), price DECIMAL(10,1), category_id VARCHAR(10) );
查看表结构
sql
-- 查看所有表 SHOW TABLES; -- 查看表结构 DESC product;
修改表(ALTER TABLE)
sql
-- 添加列 ALTER TABLE category ADD `desc` VARCHAR(20); -- 修改列(改列名+类型) ALTER TABLE category CHANGE `desc` description VARCHAR(30); -- 删除列 ALTER TABLE category DROP description; -- 修改表名 RENAME TABLE category TO category_test;
删除表
sql
DROP TABLE category;
六、DML:数据操作语言(增、改、删)
6.1 插入数据(INSERT)
sql
-- 方式1:不指定字段,按表字段顺序插入 INSERT INTO product VALUES(1, 'iPhone 15', 5999.0, 'c01'); -- 方式2:一次插入多条 INSERT INTO product VALUES (2, '华为Mate 70', 6999.0, 'c01'), (3, '小米14', 3999.0, 'c01'); -- 方式3:指定字段插入(推荐) INSERT INTO product (pid, pname, price) VALUES (4, 'OPPO Find X7', 4299.0); -- 方式4:指定字段一次插入多条 INSERT INTO product (pid, pname, price) VALUES (5, 'vivo X100', 3999.0), (6, '荣耀Magic6', 4399.0);
6.2 更新数据(UPDATE)
sql
-- 更新所有行(慎用!) UPDATE product SET price = 999.0; -- 更新符合条件的行(推荐) UPDATE product SET pname = '华为Mate 70 Pro', price = 7999.0 WHERE pid = 2; -- 多字段更新 UPDATE product SET pname = '小米14 Ultra', price = 5999.0 WHERE pid = 3;
6.3 删除数据(DELETE)
sql
-- 删除满足条件的行 DELETE FROM product WHERE pid = 6; -- 删除价格大于5000的商品 DELETE FROM product WHERE price > 5000; -- ⚠️ 删除所有数据(慎用!) DELETE FROM product; -- 🔥 清空表更高效的方式(重置自增ID) TRUNCATE TABLE product;
💡DELETE vs TRUNCATE:
DELETE:逐行删除,可以加WHERE条件,速度慢
TRUNCATE:清空表,重置自增ID,速度极快,不能加WHERE条件
七、知识点速记卡片
DDL操作速记
| 操作 | SQL模板 |
|---|---|
| 创建库 | CREATE DATABASE IF NOT EXISTS 库名; |
| 创建表 | CREATE TABLE 表名 (字段名 类型, ...); |
| 查看库 | SHOW DATABASES; |
| 查看表 | SHOW TABLES;/DESC 表名; |
| 添加列 | ALTER TABLE 表名 ADD 列名 类型; |
| 修改列 | ALTER TABLE 表名 CHANGE 旧列 新列 类型; |
| 删除列 | ALTER TABLE 表名 DROP 列名; |
| 修改表名 | RENAME TABLE 旧名 TO 新名; |
| 删除表 | DROP TABLE 表名; |
DML操作速记
| 操作 | SQL模板 |
|---|---|
| 插入数据 | INSERT INTO 表名 (字段) VALUES (值); |
| 更新数据 | UPDATE 表名 SET 字段=值 WHERE 条件; |
| 删除数据 | DELETE FROM 表名 WHERE 条件; |
| 清空数据 | TRUNCATE TABLE 表名; |
八、踩坑提醒
字段值必须对应:值的个数、类型必须与字段匹配
字符串加引号:除了数值类型,其他类型值必须用单引号
'包裹长度限制:值的大小不能超过字段定义的长度
WHERE条件:更新和删除时,一定先确认WHERE条件是否正确,否则会误操作全表
删库跑路:
DROP DATABASE和DROP TABLE在工作环境中慎用!
九、总结
本文从数据库的基本概念出发,系统讲解了:
✅ 数据库与Excel的本质区别
✅ MySQL + DataGrip 开发环境的完整搭建
✅ SQL分类(DDL / DML / DQL / DCL)
✅ 数据类型的选用原则
✅ 库和表的增删改查操作
✅ 表中数据的插入、更新、删除
掌握了这些内容,你已经具备了独立操作MySQL数据库的基本能力。下一步,我们将深入学习DQL(数据查询语言),包括单表查询、多表连接、子查询和聚合函数等进阶内容。
📌互动环节:你在安装MySQL或DataGrip时遇到了什么问题?欢迎在评论区留言交流!
如果这篇文章对你有帮助,请点赞 👍 收藏 ⭐ 支持一下,你的鼓励是我持续创作的动力!
