MySQL新手入门指南(二):从“小白懵”到“会操作”

我将把零散的 MySQL 核心知识点梳理成逻辑清晰、表述精炼的教程内容,补充关键语法细节、优化案例表述,同时拟定概括性标题,让内容更易理解和查阅。

<canvas_command>

<action>create</action>

<identifier>mysql-core-operation-guide-delete-constraint-table-relation</identifier>

<title>MySQL核心操作指南:数据删除、字段约束与表关系全解析</title>

<genre>技术教程</genre>

<type>type/ddxml</type>

<content>

<title id=”0″>MySQL核心操作指南:数据删除、字段约束与表关系全解析</title>

<h2 id=”1″>一、数据删除:delete与truncate核心用法</h2>

<p id=”2″>MySQL中删除表数据主要有delete和truncate两种方式,适用场景与语法如下:</p>

<ul id=”3″>

<li id=”4″><strong>delete(精准删除/全量删除)</strong>:可带条件删除指定数据,也可删除全表数据

<ul id=”5″>

<li id=”6″>带条件:delete from 表名 where 字段名=字段值(例:delete from student where id=1;)</li>

<li id=”7″>全量删除:delete from student;(删除student表所有数据)</li>

</ul>

</li>

<li id=”8″><strong>truncate(全表清空)</strong>:快速删除表所有数据,语法:truncate table student;(注:原文本少table关键字,补充完整标准语法)</li>

</ul>

<h2 id=”9″>二、字段约束:保障数据有效性的核心规则</h2>

<p id=”10″>字段约束用于定义表的规则,减少脏数据、重复数据,核心约束类型及用法如下:</p>

<ul id=”11″>

<li id=”12″><strong>主键约束(primary key)</strong>:表中记录的唯一标识,一张表仅一个主键

<ul id=”13″>

<li id=”14″>特性:字段值不能为null、不能重复</li>

<li id=”15″>语法:primary key (字段名)(例:将id设为主键)</li>

<li id=”16″>自动增长:auto_increment(需与主键配套使用,实现主键数值自动递增,无需手动插入)</li>

</ul>

</li>

<li id=”17″><strong>非空约束(not null)</strong>:限制字段内容不能为空,语法:字段名 数据类型 not null(例:name varchar(20) not null)</li>

<li id=”18″><strong>唯一约束</strong>:限制字段数据唯一,允许为空(例:手机号字段,保证每个号码仅对应一条记录)</li>

<li id=”19″><strong>外键约束(foreign key)</strong>:建立两张表的关联关系,指向另一张表的主键

<ul id=”20″>

<li id=”21″>作用:维护表间数据完整性</li>

<li id=”22″>语法:foreign key (子表字段名) references 父表名(父表主键名)(例:foreign key (stu_class_id) references class(id))</li>

</ul>

</li>

</ul>

<h2 id=”23″>三、表关系:数据库表间的三种核心关联模式</h2>

<p id=”24″>MySQL中表与表之间主要存在三种关联关系,对应不同业务场景:</p>

<ul id=”25″>

<li id=”26″><strong>一对一</strong>:如球队与地址、人与身份证的关系(一个主体仅对应一个关联主体),实现方式:外键关联、主键关联</li>

<li id=”27″><strong>一对多/多对一</strong>:最普遍的关系(如球队与球员)

<ul id=”28″>

<li id=”29″>一对多:一个球队包含多个球员</li>

<li id=”30″>多对一:多个球员归属同一个球队</li>

</ul>

</li>

<li id=”31″><strong>多对多</strong>:如学生与选修课(一个学生选多门课,一门课被多个学生选),需通过中间表将其拆解为两个一对多关系实现</li>

</ul>

</content>

</canvas_command>