MySQL 基础核心知识点全梳理:从入门到实战

对于刚接触数据库的新手来说,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 的前提是成功连接数据库,命令行登录主要有两种方式,安全性是核心考量点:

  1. 直接携带密码登录(不推荐) 语法:mysql -u用户名 -p密码缺点:密码会明文显示在命令历史中,存在泄露风险。
  2. 安全登录方式(推荐) 语法: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 列名;

三、 数据完整性保障:约束的核心用法

约束是数据库层面的 "数据规则",能从源头避免无效、重复数据,常用约束类型及用法如下:

  1. 主键约束(Primary Key)

    • 作用:唯一标识表中每行数据,主键列非空且唯一,一个表只能有一个主键。
    • 操作:创建表时直接声明 st_id int primary key,或通过 alter table 表名 add primary key(列名); 添加。
  2. 自增长约束(Auto Increment)

    • 作用:配合主键使用,自动生成递增的唯一值,默认从 1 开始。
    • 操作:创建表时声明 st_id int primary key auto_increment,删除自增长需用 alter table 表名 modify 列名 数据类型;
  3. 外键约束(Foreign Key)

    • 作用:建立两张表的关联关系,保证数据参照完整性(如学生表关联班级表)。
    • 关键:子表外键列数据类型需与父表关联列一致,父表关联列需为主键或唯一键。
    • 进阶配置:支持 ON DELETE CASCADE(级联删除)、ON DELETE SET NULL(删除父表数据时子表外键置空)。
  4. 唯一性约束(Unique)

    • 作用:保证列数据不重复,允许一个 NULL 值,一个表可设置多个唯一约束(如手机号、邮箱)。
  5. 非空约束(Not Null)

    • 作用:强制列数据不能为 NULL,可搭配 default 使用(如 st_grade double(5,2) not null default 0.00)。

四、 核心操作:数据的增删改查

数据库的最终目的是管理数据,增(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;)。

五、 新手避坑与实战建议

  1. 语法细节:MySQL 指令以分号结尾,关键字大小写不敏感,建议统一小写;
  2. 操作谨慎:删除、修改操作前务必先查询确认目标数据,重要操作前做好备份;
  3. 约束使用:优先在创建表时定义约束,合理命名约束便于维护,高并发场景谨慎使用外键;
  4. 多练实战:结合学生、班级等业务场景,通过综合练习(如多条件查询、排序)巩固知识点。

总结

MySQL 基础操作的核心是库表管理、约束设置、数据增删改查四大模块,这些知识点是后续复杂操作(如多表联查、索引优化)的基石。新手学习时需注重 "理解 + 实操",通过反复练习夯实基础,才能在实际开发中灵活运用。


希望这篇文章对你有帮助,如果你有任何问题或建议,欢迎在评论区留言。谢谢阅读(求攒攒 收藏 关注)!

相关推荐
摇滚侠1 小时前
ElasticSearch 教程入门到精通,JavaAPI 环境搭建,索引创建,索引查询删除,笔记18、笔记19、笔记20
大数据·笔记·elasticsearch
崇山峻岭之间1 小时前
C++ Prime Plus 学习笔记028
c++·笔记·学习
爬山算法1 小时前
Redis(168) 如何使用Redis实现会话管理?
java·数据库·redis
我的xiaodoujiao1 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 31--开源电商商城系统项目实战--加入购物车、提交订单测试场景
python·学习·测试工具·pytest
小菜鸟派大星1 小时前
电路学习(九)MOS管
学习·硬件·mos管·电路·电路仿真
点云SLAM2 小时前
Discrepancy 英文单词学习
人工智能·学习·英文单词学习·雅思备考·discrepancy·不一致、不协调·矛盾
立志成为大牛的小牛2 小时前
数据结构——五十三、处理冲突的方法——拉链法(王道408)
数据结构·学习·考研·算法
千寻技术帮2 小时前
10407_基于springboot的就业信息分享系统
mysql·毕业设计·源码·springboot·安装·文档·就业信息
零日失眠者2 小时前
【Oracle入门到删库跑路-17】实战案例:云环境部署实践
数据库·mysql·oracle