对于刚接触数据库的新手来说,MySQL 作为一款轻量、高效的关系型数据库,其基础操作是入门的关键。本文结合之前写的 6 篇 MySQL 实战博客内容,将登录连接、库表管理、约束设置、数据操作、查询技巧五大核心模块进行整合梳理,帮助大家快速搭建 MySQL 知识框架。
目录
[一、 第一步:MySQL 登录与环境准备](#一、 第一步:MySQL 登录与环境准备)
[二、 库与表的基础管理:数据库操作的基石](#二、 库与表的基础管理:数据库操作的基石)
[1. 数据库操作](#1. 数据库操作)
[2. 数据表操作](#2. 数据表操作)
[三、 数据完整性保障:约束的核心用法](#三、 数据完整性保障:约束的核心用法)
[四、 核心操作:数据的增删改查](#四、 核心操作:数据的增删改查)
[1. 新增数据(INSERT)](#1. 新增数据(INSERT))
[2. 修改数据(UPDATE)](#2. 修改数据(UPDATE))
[3. 删除数据(DELETE/TRUNCATE)](#3. 删除数据(DELETE/TRUNCATE))
[4. 查询数据(SELECT)](#4. 查询数据(SELECT))
[五、 新手避坑与实战建议](#五、 新手避坑与实战建议)
一、 第一步:MySQL 登录与环境准备
操作 MySQL 的前提是成功连接数据库,命令行登录主要有两种方式,安全性是核心考量点:
- 直接携带密码登录(不推荐) 语法:
mysql -u用户名 -p密码缺点:密码会明文显示在命令历史中,存在泄露风险。 - 安全登录方式(推荐) 语法:
mysql -u用户名 -p执行后终端会提示输入密码,输入过程中密码隐藏,安全性更高。
二、 库与表的基础管理:数据库操作的基石
数据库是数据表的容器,数据表是存储数据的核心载体,二者的基础操作需熟练掌握。
1. 数据库操作
| 操作类型 | 语法 | 注意事项 |
|---|---|---|
| 创建数据库 | create database 数据库名; |
数据库名建议小写、语义化,避免特殊字符 |
| 删除数据库 | drop database 数据库名; |
谨慎操作!会清空库内所有表和数据,且无法恢复 |
| 查看所有数据库 | show databases; |
可查看系统库(如 mysql)和自定义数据库 |
2. 数据表操作
数据表的操作涵盖创建、删除、结构修改三大类,是日常开发的高频需求:
-
创建数据表 语法:
create table 表名(列名1 数据类型, 列名2 数据类型,...);示例:create table student(st_id int, st_name varchar(20), st_grade double(4,2));技巧:列名和表名需语义化,数据类型要匹配业务场景(如姓名用varchar)。 -
删除数据表 语法:
drop table 表名;注意:删除后表数据全部清空,生产环境需加权限管控。 -
修改表结构实际开发中表结构需按需调整,常见操作如下:
需求 语法 修改表名 alter table 旧表名 rename 新表名;修改列名 alter table 表名 change column 旧列名 新列名 数据类型;修改列数据类型 alter table 表名 modify 列名 新数据类型;添加新列 alter table 表名 add column 新列名 数据类型;删除指定列 alter table 表名 drop column 列名;
三、 数据完整性保障:约束的核心用法
约束是数据库层面的 "数据规则",能从源头避免无效、重复数据,常用约束类型及用法如下:
-
主键约束(Primary Key)
- 作用:唯一标识表中每行数据,主键列非空且唯一,一个表只能有一个主键。
- 操作:创建表时直接声明
st_id int primary key,或通过alter table 表名 add primary key(列名);添加。
-
自增长约束(Auto Increment)
- 作用:配合主键使用,自动生成递增的唯一值,默认从 1 开始。
- 操作:创建表时声明
st_id int primary key auto_increment,删除自增长需用alter table 表名 modify 列名 数据类型;。
-
外键约束(Foreign Key)
- 作用:建立两张表的关联关系,保证数据参照完整性(如学生表关联班级表)。
- 关键:子表外键列数据类型需与父表关联列一致,父表关联列需为主键或唯一键。
- 进阶配置:支持
ON DELETE CASCADE(级联删除)、ON DELETE SET NULL(删除父表数据时子表外键置空)。
-
唯一性约束(Unique)
- 作用:保证列数据不重复,允许一个 NULL 值,一个表可设置多个唯一约束(如手机号、邮箱)。
-
非空约束(Not Null)
- 作用:强制列数据不能为 NULL,可搭配
default使用(如st_grade double(5,2) not null default 0.00)。
- 作用:强制列数据不能为 NULL,可搭配
四、 核心操作:数据的增删改查
数据库的最终目的是管理数据,增(INSERT)、删(DELETE)、改(UPDATE)、查(SELECT) 是必备技能。
1. 新增数据(INSERT)
分两种插入方式,支持默认值处理:
- 指定列插入:
insert into 表名(列名1,列名2) values(值1,值2); - 全列插入:
insert into 表名 values(值1,值2,...);(自增主键用default/null占位) - 默认值处理:建表时用
default指定默认值,插入时未赋值则自动填充。
2. 修改数据(UPDATE)
- 语法:
update 表名 set 列名1=值1,列名2=值2 where 条件; - 核心:必须加
where条件,否则会修改表中所有数据,操作前务必校验条件。
3. 删除数据(DELETE/TRUNCATE)
- 按条件删除:
delete from 表名 where 条件; - 清空全表:
delete from 表名;:逐行删除,速度慢,自增主键不重置。truncate table 表名;:一次性清空,速度快,自增主键重置,数据不可恢复。
4. 查询数据(SELECT)
查询是使用频率最高的操作,核心技巧需循序渐进掌握:
- 基础查询 :选择所有列
select * from 表名;,选择指定列select 列名1,列名2 from 表名;。 - 条件筛选 :通过
where子句实现行选择,支持比较运算符(>/</=)、范围筛选(between and)、多值匹配(in)、模糊查询(like搭配%/_)、空值判断(is null/is not null)。 - 高级技巧 :
- 算数运算:直接对数值列计算(如
math_score + chinese_score)。 - 别名使用:用
as为列或表起别名,提升可读性(如select st_name as 学生姓名 from student;)。 - 结果排序:用
order by排序,默认升序(asc),降序需加desc,支持多列排序(如order by class_id asc, math_score desc;)。
- 算数运算:直接对数值列计算(如
五、 新手避坑与实战建议
- 语法细节:MySQL 指令以分号结尾,关键字大小写不敏感,建议统一小写;
- 操作谨慎:删除、修改操作前务必先查询确认目标数据,重要操作前做好备份;
- 约束使用:优先在创建表时定义约束,合理命名约束便于维护,高并发场景谨慎使用外键;
- 多练实战:结合学生、班级等业务场景,通过综合练习(如多条件查询、排序)巩固知识点。
总结
MySQL 基础操作的核心是库表管理、约束设置、数据增删改查四大模块,这些知识点是后续复杂操作(如多表联查、索引优化)的基石。新手学习时需注重 "理解 + 实操",通过反复练习夯实基础,才能在实际开发中灵活运用。
希望这篇文章对你有帮助,如果你有任何问题或建议,欢迎在评论区留言。谢谢阅读(求攒攒 收藏 关注)!
