Mysql笔记整理

This commit is contained in:
jimmy committed 2025-01-19 20:12:15 +08:00
1 parent 7bcbab4e96
commit 0b0841aa06
13 files changed
+877

No files matched your search

+45
View File
@@ -0,0 +1,45 @@
## 删表
```sql
Drop table if exists 表名;
```
—— 如果这个表存在的话,将这个表删除
## 删除数据
语法:
```sql
Delete from 表名 where 条件;
```
> [!TIP]
>
> 注意:没有条件全部删除
删除第一个:
![image-20250119184209531.png](..%2F..%2Fpublic%2Fnote%2FMySql%2F%E5%88%A0%2Fimage-20250119184209531.png)
没有where全部删除:
![image-20250119184229738.png](..%2F..%2Fpublic%2Fnote%2FMySql%2F%E5%88%A0%2Fimage-20250119184229738.png)
### 删除大表
```sql
Truncate table 表名;
```
`delete` 可以理解为橡皮,一行一行进行回滚删除,而 `truncate` 则是碎纸机,直接全部截断,全部消失【truncate 的效率比 delete 更高】
+12
View File
@@ -0,0 +1,12 @@
语法:
```sql
Update 表名 set 字段名1 = 值1 ,字段名2 = 值2 ,。。。Where 条件
```
注意:没有条件,表中数据全部更新
更改表中数据:
![img.png](..%2F..%2Fpublic%2Fnote%2FMySql%2F%E6%94%B9%2Fimg.png)
当没有指定where的条件时:
![img_1.png](..%2F..%2Fpublic%2Fnote%2FMySql%2F%E6%94%B9%2Fimg_1.png)
+266
View File
@@ -0,0 +1,266 @@
## 约束和常见约束
在创建表时可以添加约束,可以给表的字段增加约束,添加约束的目的是为了表中数据的完整性、合法性、唯一性
常见约束:
​ 非空约束;【not null】不能为NULL
​ 唯一约束;【unique】不能重复
​ 主键约束;【primary key】不能是null且不能重复(PK)
​ 外键约束;【foreign key】(FK)
​ 检查约束;【check】注意:Oracle数据库中有check约束,但是MySQL没有,目前MySQL不支持
### 非空约束
在创建表格时添加约束;
![img](data:image/png;base64,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 truncated
Not null只有列级约束,没有表级约束
### 唯一性约束
unique:唯一性约束修饰的字段具有唯一性,不能重复,但是可以是NUll
设置后可以是NULL但是不能重复:(单行设置不能重复)
![img](data:image/png;base64,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 truncated
两行或多行拼接联合不能重复:
当两行内容需要联合保证不重复时需要使用 unique(字段名1,字段名2,,,)
![img](data:image/png;base64,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 truncated
![img](data:image/png;base64,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 truncated
只有当两个数据进行拼接对比后相同才会被认定为相同,反之属于。
在表的每一列添加是列级约束;在字段声明后单独添加是表级约束。
> [!TIP]
>
> 如果一个字段同时被not null 和 unique 同时修饰,这个字段自动变成主键字段
### 主键约束
添加主键约束:
> [!TIP]
>
> 添加主键后,不能为NULL,不能重复,具有唯一性
![img](data:image/png;base64,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 truncated
主键约束 :primary key
主键字段:添加primary key的字段
主键值:添加primary key的值
主键的作用:
主键的值是每条记录的唯一标识(就像身份证号)
一个完整的表中应该有主键
主键的分类:
1. 根据主键字段划分:
1. 单一主键【推荐,常用】
2. 复合主键【多个字段联合来添加一个主键约束】(不建议使用,因为违背三范式)
2. 根据主键性质:
1. 自然主键【主键值最好就是和业务没有任何关系的自然数】**{推荐}**
2. 业务主键【主键值和系统的业务挂钩】(拿着银行卡号做主键)(不推荐)
因为以后的业务进行改变时,主键值可能也需要随着变化,但有时候没办法改变,因为变化会导致主键值的重复。
> 主键约束只能有一个!!!
#### 主键自增
使用表级约束方式定义主键:
![img](data:image/png;base64,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 truncated
提供主键值自增:
```sql
drop table if exists t1;【t1存在的话进行删除】
```
```sql
create table t1 (
id int primary key auto_increment ,【设置自动主键,MySQL提供,可以从1自增】
name varchar(255)
);
```
![img](data:image/png;base64,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 truncated
### 外键约束
外键约束:foreign key
外键字段:添加有外键约束的字段
外键值:添加有外键约束的值
案例:统计学校所有学生和班级
业务背景:
请设计数据库表,用来维护学生和班级的信息?
第一种方案:一张表存储所有数据
| no(pk) | name | classno | classname |
| ------ | ---- | ------- | --------------------------------------- |
| 1 | zs1 | 101 | 北京大兴区经济技术开发区亦庄二中高三1班 |
| 2 | zs2 | 101 | 北京大兴区经济技术开发区亦庄二中高三1班 |
| 3 | zs3 | 102 | 北京大兴区经济技术开发区亦庄二中高三2班 |
| 4 | zs4 | 102 | 北京大兴区经济技术开发区亦庄二中高三2班 |
| 5 | zs5 | 102 | 北京大兴区经济技术开发区亦庄二中高三2班 |
缺点:冗余。【不推荐】
第二种方案:两张表(班级表和学生表)
t_class 班级表
| cno(pk) | cname |
| ------- | --------------------------------------- |
| 101 | 北京大兴区经济技术开发区亦庄二中高三1班 |
| 102 | 北京大兴区经济技术开发区亦庄二中高三2班 |
t_student 学生表
| sno(pk) | sname | classno(该字段添加外键约束fk) |
| ------- | ----- | ----------------------------- |
| 1 | zs1 | 101 |
| 2 | zs2 | 101 |
| 3 | zs3 | 102 |
| 4 | zs4 | 102 |
| 5 | zs5 | 102 |
将所有信息都放一个表中,会有大量的重复数据(如班级等) ,所以需要多张表进行连接来创建。
但是当不同的表需要有一些数据进行连接,并且保证数据的准确性,这时候可以使用外键
如:在班级栏使用外键,这样学生选择的班级就只是在指定的一些数据中进行选择,而保证数据的稳定性
t_student中的classno字段引用t_class表中的cno字段,此时t_student表叫做子表。t_class表叫做父表。
顺序要求:
>删除数据的时候,先删除子表,再删除父表。
>
>添加数据的时候,先添加父表,在添加子表。
>
>创建表的时候,先创建父表,再创建子表。
>
>删除表的时候,先删除子表,在删除父表。
语法:
![img](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAj0AAADLCAIAAAAKp7V7AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAGdYAABnWARjRyu0AADALSURBVHhe7Z2/b9s4/8fp73ztPxG7AQIPfdJNHpotcIoCBdpmjIcC8hAH8Q0devHoPh0yxG6y2EUHd/RdgQBFrXrLYm/N3eAL0EqebnmGTr2laAv4S1KSLcmULcmSf0TvFwQkkimKpCi+JfLDDxNfvnz5+fPnjx8/vn///u3bt1evXp2cnBAAAABgKfk/4y8AAACwCkC3AAAArBLQLQAAAKsEdAsAAMAqAd0CAACwSkC3AAAArBLQLQAAAKsEdAsAAMAqAd0CAACwSkC3AAAArBLQLQAAAKsEdAsAAMAqAd0CAACwSkC3AAAArBLQLQAAAKsEdAsAAMAqAd0CACwvmlLIV/vGDgAc6BYAYFlRCrny+tPDNWMXAA50CwCwlGinmTIpdQ6Sxj4ABtdBtzStzzalXc1vZTKnmnEYXFv4HW/n817vdZxryMrmvZ1PHaVLZ1ljF4ARq69b2ulx7kmObuXHxfrHrnF0nH41U1CgadcApZDL/SeVelTvGQem4LWGXEdWNu9K/nFd/r0G1QIiVl+3kge1zkWHbX9WpIRxUMDaYYmUc5Cu1Sd71ul8bckT7rUdrzXkOrKieddOy/XNytNtYxcAO3Ea36LtXWO9nNuqxlm6tNNMvm38P38We/XFEue8+0Q5PupKD+9hXAu4EDO7jORBp/GwGWfpUj8tsrNosVdfLHHOuy/YxxaRSzDHAK7ETLcounSlYipdyvkb479FsNirL5Y4590X2vu3XbK5kTJ2ARjHVbeYDZLx77WDSpcaQ+nqK9WtnfrA2Js3i736Yolz3n2jXl0SdBKCiQh0S6tuJRI3UqkTldng3aT/JxJbVYX+0M7ru5mC2eIPA/DNtLJV8paDiQI91YqmFDKjs7by1VOlOozQBguZMBKQr7ZZEO00nMnz4UqXxoyMzRzdyDjts5kVssIMkQusAM1BjlE5jMrTAittM87MVl5xyTW/tFlKPKReUFa0Ux7g9k7xI9utPzICs815dww8Xt0Lfq/uJUdWbEkNw+5mgXn3xZRa5x8/Je/vKfYWktP/3CMkfQuyBSbx5cuX//3vf//880+/3//777+LxeJgMFArdwm5K8n7LZXuaRXpBpHuypK++0Gmu/IH+p+B+lIiN6SKZuzq8INyy35wMGjJd4kRD0flsZFf5JZxwERryfT43YoZg9ral6R9Gth5oRF6Ol8O454OTaR0t+LjBAE0YTT9kvzBiEb9wJOxb8mQVpH3ZbbRUv1FLzpaDsYp/HRnsmlmWZGO4pSJIGv8Nv0yCkbhxW67OzZ4PK6/mni7un+mX917jlj1oEnitcKsTmadcU2ohxqyuLz7wkOtczAl777qkuen2EdIk5ALClxLJujWqG45mgOjyTD2KPyRcFQ1+lyNVz72JIw3K+x0hxrpwukIaT5a4ekWZUbp4s+2M0l6myJIp/FM0oyMftVjsJaVME7BQfETzkvJrf3y0Ch4vXoApl7dR454JbwrOW83j8G1DkyrIYvMux+ESXKtdTqT8+6j5PnVPT3FPkKOCLWgwDVlgl1G7oFt0t+ET/e1w9Ieqb+z9nso52/kBx6nX6wdNp4b/xq0j4uXRH52aL9i8vCZTMKeg5I86JTSzVSw/qV+NXfUJXslu/80jfV0uNN7kbt61hmeQhMw+NqpjcqKGwE/bzh8siUPSjLpFk+cnUu9z6KEi496wd/Vo8B7jrof006rs+0HMj3+9n2g7C8+754IVOu8MFNdGn+K3fAeEgAxIdkTZu/L5E15NPLUPq/v2WWPk7yVJpfF47FOc9p2Wx9C5V2dDDzL3mxop5lyb1c9ywboUNdazS4h8n1HRpOHF4PBv7YcWemmSxaVGoMWnfglIbWxaW9EtmuDrwO79zZN66tXxv+B8H71KPCZI+m/T8fqGE/nxyvV2PXDYvPumWC1bgp+St7jU0zxHnJEckMy/gPAjbDs4Nl7brfZMiooFZ6x54qzXWvtSfXHqcSNTKZQVcQmi/zN8c48DGGpaOXe7jYuHB92XmEzcgbShs+TxSVjwjPvHqegRdaU0+Fwei73pNy7NH4IgP+rR8EsOWJNZTCWI+/TCVbrvOGt5D09xRzvIYessRu4NC8JYDkJS7dI9sHesH9mUidh9qwz+LNVyZHum+LObVah821tIZWUilZqBtEySd8K9oY7iW7xtml/NdpSuk2aFe00n7mZ2nl7tfGsoX5lr9udi8Yu/TiYCa9Xj4KQctT7HNAIcJF590P4tc5XyXt/iv0/7+zrNmhPL4gJoekW7yq8bL6n7YVLJ+GItewhrc1fB+ofFflOt/4oNf+pVLpoqbOKVkRIlb9owyHcRp5GWRaO6uS5OrioHW4nw8uIp6tHQXg5CtysLyzviyVIyXt/iv0978l7DyVyuSxft2ApCU+3hl2F2ueeS1eYpth7upPbh7ULWpup4BVzo9knvKsnym6ZsEQrtS6RROBXezE8892r6TLOjAjIZqURqjscz1ePglByxHv7ArHQvPsgglrnq+Q9PsUU7yFtJHd2JVI/hy9H4EqIukWyT59L3aNc7ijt0kmonj8+HrfKSrJOcNL9NNKpKPRgCBWtXEhfWvwBG43q2VHyEyZXToCPS7v071saAj49U2hFMAnBoLdStbYgHq8ejMlXD5YjJ8zbgtMU1iMLzLsfwq91/kre61PsJ6Qd3T75xbz7YMDqEKZuGU9U17WTMLWxWS8LnlX2jiytj+wwdMvjsSdTq76ok9mc5eiiNfOYlsnavd1N0v1N8HAqhTK5H+gq/KEVxqmd5s6JGSUfvha1siMbME++RdrnV9b2yuPVw8J6df85EoyCMJtAqfJroC69BebdF6HXOn8l7/Up9hPSSfasJTNDRGMXAAfCecd8ovFovqFg12UCI5uo6D5nkE9j/IXPnx/NOmQuD5hnDWPXxJhAOnKFUNmX5H16cNrMSrcpt2xipsW3QmgwjwDkrlzRzIg1lSZVnAx9TqX7vFcTvaCszgsMxxDGHodPPrUWkdp6KbOpuCw9bLJna3/cKwGPeeiFRGvJ++Nzrj1dPRBTru4nR6wS0vogjTyqGL4YJkwrnlpDFph3n/ipdToT8+6n5PUi8vIUew8pgj0sHoKBOCLQLa5Sv/CNVVnLLq30vPaPdp3QmjqpqtEqK79s8UfCjOQX9rCJH2CtojtGoptEo6VVn1VloZsA4WZPCU15+KKloz/k5nVNB05D9EbBkjBzm9gaslbYPU4dZxi93THukfgUdo9Yw8FOkdybTi9XD8SUq3vOEW33eelRARiFl61uioZ4rSEmi8q7T6bUOh3vefdel7w/xf6e9zFY4ic+IyCuJKhu/fz588ePH9+/f//27durV69OTk6MbzHf9KuZk1uds8gMr9r5xONe5c+gkysBAKuEphRy5fWGfUI0AKGMb5nTCZWTZnripFoAAPBMMnvWKH06DmUJCHCNmF236DfQf1J8nZF8ubf7NErnTLqN8/JbKgMAQoJKVw39K8DO7LqlG/h+rDffbYRmpzcOVcebidRvXTLoskWM4rbkI7jG8Lo95qRDsJnr2wEQc8Id3wIAAACiJdT5WwAAAEDEQLcAAACsEtAtAAAAqwR0CwAAwCoRH93qVzPBFuOPLe185iYz3Rz3gwcAAIsjPrq1dlgi5RykyzPKu3p3QMjHZkSO+QEAIBBx6ifMnnUa6+Uc5n55I3umqn+0Wn+F6VVLO83k4eQbADATMRvfSh50Gg+bkC5vJJPb2WyorgrUT13jPwAACEj87DJ06Zq4UjiICOX8jfEfAAAEJX66RaHSpUK6pqNpfaU64zq/Q2hUWzv12Zb9BACAmOoWZVHSpbWr+a2hx7lM3uFxrq8pbaV6ms8UmBGfNXDGdf11TSlkmOGfHmwrr8xoRsHd5WW2aJyp1O2d5mfjsA0/6dROM8z/3u2d4ke2y9xLGtlPJPjpAADgh7jqFkWXrjmOdVGBSaQeNckzdfDvgG7qH7u9o5Te9Ju8P39Xbh7Vu7y5z70jD16zkIO/Kuk3xZSglVfyW6mdXrr0Jw/2r1pK93b+k5jJ9mG7Nvg66Fx0On9WpIRxbAwf6aTlTCNkv/4hkwSR/9CTyrfolmoDAFxfhOv0rwau6whbt2nrpdJIJL4SedTw1AoXa3YcNFc3t683z093rFFrLP3uSLzwQkHga926L3vvPZ0mbLlqIn8w9gAAIBCr/L01epGfsE17o6eRlNJN+okQ7VdXv5o76pK9kt2mXF9QTESu5VjjNXkrTUjPNpWqfVy8JPIz59oxyYOSTLrFk7l0wXlJJwAAhEmM+wl1tNNMubernmUjXQlcazW7hMjOxaCThxdUXANOkFLe1clAfiBYqDP7YI+QxjnGjgAA15F46xYbm3m7G+FylyZs3tJA2gjzMtym/M5Gyti1kVqXSKJ+jhm+AIBrSIx1i4pWai6iZZK+Ffpy4+lbwsTzzjoAALiWxFW3dNFS5yda0dD7LByWcx83AwCAVSeWujV/0eIdd+FaK6Q2No3/XAi3WxIAAJaE+OmWPqY15y+t5M6uRLrNlvDrSMm7zimeQPLeQ4lcNt8LtFB7/7ZLNnfvhd4tOSPJDcn4b4hStc28Vvj8ZfjeBQBMIGa6NTdDDCdr93Y3Sfe3Y8HM4UKZ3A+SnuRBo7LJ7N2dmsfs46XK61XoAm2fX1lH6Nrn9Uv6p1t/lIcxJADAhTjpllLI5D6VFiBajOThRUu+U9/Zylf7ptD0tWohUyalms2WXb1ibbdw4Kp7ZTuaPHzdkt/spLaqpm8nTTnNZx7X5d8boS0+8kk1/nHiPZ0mXLzrL8zU9pX8u42n1rxvP23tScTVSQcAADBW2F+GP7SKtN+ag1+Miaitl7Line truncated
```sql
mysql> create table t_class(
-> cno int,
-> cname varchar(255),
-> primary key(cno)【主键】
-> );
Query OK, 0 rows affected (0.05 sec)
```
创建父表
![img](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAx4AAADfCAIAAAD3BJLlAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAGdYAABnWARjRyu0AADyjSURBVHhe7d2/b9PO/wfwy3d+wz/RBKSqw/tdNmegW5UipErw7tgMSM7QVMl7YODdjOXD0KEJ7ZKg9xDGQqVKiJhsXZKNvt9DqQR2Jpb3wMR7QYCU793ZTmLnnJwdOz/q50ORaILjH+fz+RX77uXEly9ffv78+ePHj+/fv3/79u3FixeHh4cEAAAAAPz7P+tfAIB4MLR8rtKx3gAAhA2hFQDEiZbP7t9+XFiy3gIAhA2hFQDEhnGU3iel1m7Seg8AEL7rEFoZRoe9tGYlt5ZOHxnWx3Bt8T3ezOVk9zVqSLSs4p3/u2zNXGpvpXScsd4CAERi8UMr4+gg+yhLX/u/F2vv29anwzqVdF7DSfUa0PLZ7G+p1MPapfXBGLI1BILpVA4eZVO/pTbqkjtkVrTc7zX1VRWBFQBEbPFDq+RutXXeYq+/y0rC+lBgqVAi+1lEV4svc9xqfW2oI/a1k2wNgWCWCtXzVveVSua7bI2j/dpq+fG69RYAIDJx6mtFT8n12/vZtUqcoyvjKJ1rWn9P32yXPlso+XD53CLtYK+tPLiHPlYAEL2YdWNP7rbqD07iHF3pH2d5R2y2S58tlHy4fG0Ru2RF1BJ6rwPANMQstKLM6CoV0+hKO3tp/TULs136bKHkw+Vri4y3p22yupyy3gIARMoztGJDfqw/rx0aXekxjK46WmVto9a13k3bbJc+W4tQ8kazIhpxaWhH8zfuz3d56lcXBHcDAWBaBKGVUVlLJG6kUoc6G1V3k/6dSKxVNNb45sy36bwdlPQm4C97WLuWG/gwkadfHWRo+XT/W2u5ypFW6c3QgU2ZsFYgV2mySYyQGvpwoyt2WmKFZr7S7lMUG/avsZH/eVaAdgeRfjn0y3MAK217num1nOax1XzRdinxKc2CGmQc8Ql+3Si+Z29rD62J2cu9dyySS5fhd+kyWzTIsaphDFOY4bb7Mf44kly6lmefpB4WnQP8zKM4tfGncNzf4NLTOfkdNFye/OioHOXovqPvBg+l4eMiYHl2PtFtWLmFyAoApuTLly///vvv58+fO53Ohw8fisVit9vVy3cJuauoOw2dvjPKyg2i3FUV8+07lb5V39G/LPpzhdxQyob11sQ/VBvOD7vdhnqXWPPhdD438ovasD6wGQ2Vfn63bM9Bb+woyg6d2L2gPnM9n/fmPR5dSeVu2ccXBOiK0fVX1HfWbPR3fDV2BjbIKKs7KnvRUv3FLDpaDtZX+Nfdq003lhVpf54qEWwa302/9CejeLE79o4Dn4/n/9rklu7f+KXLbxGrHnSVeK2wq5NdZzxXVKKGzG7bfZE+jkxjl+5RMsJD21y6+9i8K5xSojzZ0aGwlaebQ4/HHXu29HP+IX8zxFd5hlz4AACjjQit+s2064xlndWsdxRvl10tF40Yhtsy1lIPn/nY112Nshnbuaa0z7tDzbfFf2hFsdZ8guhKeO4xgy3BelpNPN2Q/v+acxgsK+E8BR+KTxi8lCY4IckuPYCxS/exRbwS3lXcu5vPwbMOjKshs9x2P9gqSR1HtvFLHzqoTeyL7nny6u2O4eSLTvSheWi7V4BPGTRYHBRq4QMAjDOiG3t205Fbb8T19KVCaZvU3gxekNfOXqqbkilklgr1p9afluZB8YKoTwrOJSYLT8LPnZPcbZVWTlLBbiR1Ktm9NtkuOZ9HZrDbD94un2WvnrR6X6Er0P3aqvbLio8Sf1p3PeMsuVtSSbt46L7rcflJtOLiT2X4W3oU5Leo/X7FPeZrfVOln5++DbT5s9/2iQwfR1HoVPZfEuV/j12JN5O3Vqy/+nyWZ7bhev4Mn+flpzA6AAAATFFIIwQz91Xycr/fC6p5Vtt2RmYcaysvigdDPTNoeDHY/mpvaqQrHZlNxjhK719u6ceZAB0xjMZJmxD1vvssUzjvdv9zbNGg9kppIJAaQotOHMemlledEcZ6tfu16zwbGUZHv7L+DkR+6VHwuUXDJ3hrPd9f6dZbP2a77X5IHkdR4HVe2doYLqUh81OeyWXF+gsAYArCSr7Arha0TxpWa0ljo6GAg1uvNraV2u+pxI10Ol/RxIMQ+VWfO9MYKU3jquzpVv3cdXlMFsus01WWfX5ZXDI2vvHe8xQEDYZ21Ov3nc0+2r+8sP4jAP9Lj8IkWyS6eiJnPrZdjtRxFAle562/R5uj8lwyL39Nr5QAIN7CCq1IZnO7dyNm1N3AzHGr+3ejnCXtl8WNX9m5Idc0ZtLm0bgqNUFcZVu5Ff51gnbx14GhT9YrZY6KGmQc5dI3UxunV8tP6vpXdqmsdV7fWrX+NyjZpUchpC0KfBdpltvuy0yPI/k6Pyflya6TBb1NDADgV2ihFb8neHHylp7SPO4G9i1lCvTE8LWrvy6rd9q1h6npp5gy4yp90rgqIkr5HxpVCF/9h8uyTdirkad697xaWE+GtyFSS49CeFsUON6d2bYHMQfH0ThzUp7Jew8UcjFP1x0B4DoLL7Tq3RM0Pl163PMyNGfvkOR6oXpOTww0Jitm+7mg+D2dKO8XhBVXpW4rJBFyN1u+8e2r8WdI1keYrJbroT67Q3rpUQhli/htqEBmuu2+SB5HkZCv83NVnsmNLYXUzuL6/EoAmK4QQyuSefxUae9ls3srHncD9bPfD4bHWSVZxxHS/tgPpaIIWXpoXJUN6XoVb6/7PcyctJw4D+o4vMutR7+QgXMqz4Io7CQ8iqA/r1YZPBlLLj2Y0UsPtkVuLO+2e3CrpBluuz+yx1Ff0KUPB6peAZMgpJ2r8jRHMT+bt6t6AHAthRlaWaFG2/NuYGp5tbYvaP5Ys6zc7ndbN4dnD4UsRuVZTbILrRczrpq4f5Vt6d7WKmn/KTjPafl9cj/QUvg5QDhP4yh7RuxZ8p65ohNXfzydVOb65tnVYDAjufSwDC7d/xYJes+wUWlK+Y9A95pmuO3+yB5Ho7iXLuyNxK8juo649cfl1eEYRTTlnJVn5rihsmGV1lsAgOgIU4byHKH9JI2Ctx55F1nqP+/UfHZiwJ2G3k8YyFI5CxID8ix/yvN+ou3yjqLuCBIY9pkJIb2yZbJUhwOZu0NjZqZWy4Y9Y0OnqypeDTN1oXfKSptZUINJya2049Y7jidUHCwivfFcZVk02fqwfJKNneF0i3zOvTzaRkPdGU6XKrX0QMYs3c8WsUpI64PSzwluZSQfkRF0bA2Z4bb7Ya6k3HFkGb90u/Dtj+k0tFY/ZzWWVm+1t1MouxitT9iUinhK2fI0W5ihAhmV6jNQebIZehURAEBYBKEVb+Z+4S92Pht4SxtE3qr237rR9m5Uy0VbVdry8vOlPZNfWDsrbhONsvlkGPpS6GxpG8paRmFuaOHLuSZ0zcOPq0xmBGAv136CTY950hpYMfs18oTNAgXveZrc05hnNWsfib/C9hE7B7OvKN5nI5mlBzJm6dJbRE+lvPTYeb03vTpwCu+TrSG2WW27PH/HkWX80nU6Qz6BOY15xNFDr0yX5SoE/lPHmlvv2BROOa48nUdH7+i2wkf7W8IVDlKerDKMPO4AACaWoKHVz58/f/z48f3792/fvr148eLw8NC6ouVbp5I+vNU6jmzoTzOX+P2y/HfkeREB4JoytHx2/3bdlfkdACA8ofS1sjMWaocnKyPzYQIAzFQyc1wvfTwY3w0RACCgyUOrZi7xWyqxlqs0c/uXW4+jfDqNOQppEYbHA8DcotFVFVe+ASAyk4dW5ijo97WTN8uhjbwbRgO4m4nUn23SbdceJhJzlxoRIChet4dSlgte6YDJGgAAYJrC7WsFAAAAEGuh5rUCAAAAiDeEVgAAAAChQWgFAAAAEBqEVgAAAAChiU9o1amk8xpGWPnQzKVvssGYw8+AAwAAAA/xCa2WCiWyn0V0JU17U2t3CXl/8gnJFQEAAGTF6YZg5rhVv72fRU4sOZljXX/daPwT5mOFjKN0rmn9DQAAcB3FrK9VcrdVf3CC6EpOMrmeyYSatFr/2Lb+AgAAuJ7i143djK5SiK5mQDt7af0FAABwTcUvtKJodKUjuhrPMDpapRlSIdFZrW3UutY7AACAayqWoRU1q+jKaFZya72nwqVzrqfCdQytqVWOcuk8G5Y3OHE677WqhpZPs6F85mRrOW3CXuf8kXbpNTrPVOrXjZNP1scOftbTOEqzZ+T9ulF8z96yR0Bam59I8K8DAABcI3ENrSgzuppivysaAyVSD0/IE737X5e+9Ndbl3spMzqxvT17s3+yV2vziCT7hmz+xabs/lNeeVlMCQIRLbeW2rhcKf3NJ/tPL61cbvyWmKir+Hq1+7XbOm+1/i4rCeuzIT7Wk5YznSH739cqSRD1tbmq/HWcsSYCAAC4Lr58+fLvv/9+/vy50+l8+PChWCx2F4X+XCE3CPll5GunYU3tgc5EuVvWrXcR4murlA3rramxQ1fS9aFevsvWXHnuWCn+ddW5MXzKoZUXLigIo6zccK/GAPn1tL1T6f5S31nvAAAArqNFvmrVvxwy4jXuugidSWnlJBV1vqtOJbvXJtslZyID49Ol9ZdbttHaTVp/c8lbK4RcOlJMNQ+KF0R9UnBMx7aopJJ28XAq99pk1hMAACBGYnxD0GQcpfcvt/TjjCtACZfROGkTot53xXnJwjmN/wImjtLe1EhX3Vy33g7IbG4TUj9DPyYAAICpi3doxfoJnW7Vz90XfkLH8jl1leUwF8MTGdxZTllvHVK3FZKonSE5JwAAwLTFOLSicVVqKnGVbeVWqOk3mZVbwpXnd+UAAABg+uIaWplxlT69uCoal5+EXcS8+3ABAABApGIZWk0/ruJ36MLt3J1aXrX+8hDu/UcAAACQEb/QyuxfNeXrVcLine truncated
```sql
mysql> create table t_student(
-> cno int,
-> cname varchar(255),
-> classno int,
-> foreign key(classno) references t_class (cno)【外键】
-> );
Query OK, 0 rows affected (0.07 sec)
```
创建子表
外键值可以是NULL?
> 外键可以是NULL。
外键字段引用其他表中某个字段时,被引用的字段必须是主键吗?
> 被引用的字段不一定是主键,但至少有unique约束
+66
View File
@@ -0,0 +1,66 @@
## 存储引擎和字符集
MySQL 默认存储引擎是 InnoDB 方式。
默认字符集是UTF-8
查看当前MySQL的存储引擎:
```sql
show engines \G;
```
### MyISAM存储引擎
- MyISAM 存储引擎是 MySQL 最常用的引擎。
- 它管理的表具有以下特征:
- 使用三个文件表示每个表:
- 格式文件— 存储表结构的定义(mytable.frm)
- 数据文件— 存储表行的内容(mytable.MYD)
- 索引文件— 存储表上索引(mytable.MYI)
- 灵活的 AUTO_INCREMENT 字段处理
- 可被转换为压缩、只读表来节省空间
### InnoDB 存储引擎
- InnoDB 存储引擎是MySQL的缺省引擎。
- 它管理的表具有下列主要特征:
- 每个InnoDB表在数据库目录中以 `.frm` 格式文件表示
- InnoDB表空间tablespace被用于存储表的内容
- 提供一组用来记录事务性活动的日志文件
- 用 COMMIT(提交)、SAVEPOINT 及 ROLLBACK (回滚) 支持事务处理
- 提供全 ACID 兼容
- 在 MySQL 服务器崩溃后提供自动恢复
- 多版本(MVCC)和行级锁定
- 支持外键及引用的完整性,包括级联删除和更新
- 无法压缩,无法只读
### MEMORY 存储引擎
- 使用 MEMORY 存储引擎的表,其数据存储在内存中,且行的长度固定,这两个特点使得 MEMORY 存储引擎非常快。
- MEMORY 存储引擎管理的表具有下列特征:
- 在数据库目录内,每个表均以 .frm 格式的文件表示。
- 表数据及索引被存储在内存中。
- 表级锁机制。
- 不能包含 TEXT 或 BLOB 字段。
- MEMORY 存储引擎以前被称为 HEAP 引擎。
### 选择合适的存储引擎
- MyISAM 表最适合于大量的数据读而少量数据更新的混合操作。MyISAM 表的另一种适用情形是使用压缩的只读表。
- 如果查询中包含较多的数据更新操作,应使用 InnoDB。其行级锁机制和多版本的支持为数据读取和更新的混合操作提供了良好的并发机制。
- 可使用 MEMORY 存储引擎来存储非永久需要的数据,或者是能够从基于磁盘的表中重新生成的数据。
+246
View File
@@ -0,0 +1,246 @@
## 事务概述
一个事务时一个完整的逻辑单元,不可再分。
​ 比如:银行账户转账,从A账户向B账户转钱
​ 需要两条update语句
​ 以上两条DML语句必须同时成功或者同时失败,不能出现一条成功,一条失败
要保证同时的成功和失败,需要使用事务机制
> 事务的存在就是为了保证数据的完整性
## 事务原理
案例:假设一个事务要进行运行insert,再执行update,然后delete,才算完成
​ 事务机制:【开始】
​ 执行:
​ 执行 insert 语句,insert,,,(这个执行成功后,把执行记录到数据库历史操作中,并不会向文件中保存数据,不会真正修改数据
​ 执行 update 语句,update,,,(执行后也是记录操作,不会真正修改)
​ 执行 delete 语句,delete,,,(这个执行也是记录操作,【记录到缓存】不会真正修改数据)
提交事务或回滚(结束)
​ **当全部执行结束后,全部同步到硬盘,清空历史缓存**
TCL:
​ 提交事务:commit
​ 回滚:rollback
## MySQL中的事务机制
MySQL是自动提交事务的
通过:
```sql
Start transaction 关闭自动提交
```
这样进行更改的时候,是不会将内容写入内存的,如果确认无误,可以使用 rolllback 进行回滚
## 事务特性
事务的四个特性:
- 原子性(Atomicity)【A】
- - 整个事务中的所有操作,必须作为一个单元全部完成(或全部取消)。
- **事务是最小的工作单元,不可再分**
- 一致性(Consistency)【C】
- - 在事务开始之前与结束之后,数据库都保持一致状态。
- 保证多条DML语句必须同时成功或同时失败
- 隔离性(Isolation)【I】
- - 一个事务不会影响其他事务的运行。
- 持久性(Durability)【D】
- - 在事务完成以后,该事务对数据库所作的更改将持久地保存在数据库之中,并不会被回滚
### 事务的隔离性
事务隔离性存在隔离级,理论上存在4个级别。
InnoDB 实现了四个隔离级别,用以控制事务所做的修改,并将修改通告至其它并发的事务:
- **读未提交**(READ UMCOMMITTED)
​ 允许一个事务可以看到其他事务未提交的修改。
读未提交存在脏读现象(Dirty Read),表示读到脏的数据【数据及其不稳定,数据不在硬盘中】
- **读已提交**(READ COMMITTED)
​ 允许一个事务只能看到其他事务已经提交的修改,未提交的修改是不可见的。
脏读现象解决了
读已提交存在的问题:不可重复读【不同时刻读到的数据不一样】
- 可重复读(REPEATABLE READ)
​ 确保如果在一个事务中执行两次相同的SELECT语句,都能得到相同的结果,不管其他事务是否提交这些修改。(银行总账)
该隔离级别为InnoDB的缺省设置。
这种隔离级别解决了不可重复读的问题,只要运行一个事务,从开始到结束,都是一样的数据。
- **串行化**(SERIALIZABLE)【序列化】
​ 将一个事务与其他事务完全地隔离。
例:
> A 可以开启事物,B 也可以开启事物
>
> A 在事物中执行DML 语句时,未提交
>
> B 不以执行 DML,DQL 语句
MySQL默认隔离级别:读已提交【三档】
Oracle默认隔离级别:可重复读
![img](data:image/png;base64,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 truncated
关闭自动提交:
```sql
start transaction;
```
## 设置隔离级别
演示两个事务,假如隔离级别
演示第1级别:读未提交
```sql
set global transaction isolation level read uncommitted;
```
演示第2级别:读已提交
```sql
set global transaction isolation level read committed;
```
演示第3级别:可重复读
```sql
set global transaction isolation level repeatable read;
```
**查看隔离级别**
服务器变量 tx_isolation(包括会话级和全局级两个变量)中保存着当前的会话隔离级别。
为了查看当前隔离级别,可访问 tx_isolation 变量:
查看会话级的当前隔离级别:
```sql
mysql> SELECT @@tx_isolation;
```
或:
```sql
mysql> SELECT @@session.tx_isolation;
```
查看全局级的当前隔离级别:
```sql
mysql> SELECT @@global.tx_isolation;
```
+79
View File
@@ -0,0 +1,79 @@
## 索引作用
相当于一本书的目录。
索引虽然可以提高效率,但是不能随意添加索引,因为索引也是数据库中的对象;
也需要进行维护,也需要不断进行维护,具有维护成本。
比如:表中的数据数据经常被修改,这样就不适合添加索引,索引需要重新排序,进行维护。
什么时候添加索引?
> 数据量庞大;
>
> 该字段很少进行DML操作;【因为索引也要进行维护】
>
> 该字段经常出现在where子句中;
> [!TIP]
>
> 主键和具有unique约束的字段自动会添加索引。
## 索引的创建
查看MySQL语句执行情况:explain + 要执行语句
创建索引
```sql
create index 索引名 on 表名 (字段名)
```
删除索引:
```sql
drop index 索引名称 on 表名
```
在没有创建索引前,检索素所有,并且扫描所有
![img](data:image/png;base64,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 truncated
创建后扫描方式变了
![img](data:image/png;base64,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 truncated
## 索引原理
索引结构:B+ tree
**索引原理**
> 先将数据中的指定字段进行排序,如:按字母的话会先按照字母进行排序,并进行分区,使用tree进行【二分法查找】查找。
>
> 因为索引创建后存储了指定字段的排序以及原字段的硬盘物理地址,并直接在硬盘进行定位。
![image-20250119192306966.png](..%2F..%2Fpublic%2Fnote%2FMySql%2F%E7%B4%A2%E5%BC%95%2Fimage-20250119192306966.png)
+37
View File
@@ -0,0 +1,37 @@
## 什么是视图
视图是一种根据查询(也就是SELECT表达式)定义的数据库对象,用于获取想要看到和使用的局部数据。
创建视图:
```sql
Create view 视图名 as DQL语句
```
删除视图:
```sql
Drop view 视图名
```
对视图进行增删改查,会影响到原表的数据,不是直接操作原表。
**视图作用**
> 对最原始部分数据进行保密;
> 隐藏实现细节
可以通过查询语句进行对表的查询,将查询的结果作为视图进行操作
+126
View File
@@ -0,0 +1,126 @@
## 什么是三范式
设计表的依据,按照这个三范式设计的表不会出现数据冗余。
## 三范式有哪些
第一范式:
​ 任何一张表都应该有主键,每个字段原子性不可再分
第二范式:
​ 建立在第一范式的基础上,所有非主键字段完全依赖主键,不能产生部分依赖
多对多?三张表,关系表两个外键。
t_student学生表
| sno(pk) | sname |
| ------- | ----- |
| 1 | 张三 |
| 2 | 李四 |
| 3 | 王五 |
t_teacher 讲师表
| tno(pk) | tname |
| ------- | ------ |
| 1 | 王老师 |
| 2 | 张老师 |
| 3 | 李老师 |
t_student_teacher_relation 学生讲师关系表
| id(pk) | sno(fk) | tno(fk) |
| ------ | ------- | ------- |
| 1 | 1 | 3 |
| 2 | 1 | 1 |
| 3 | 2 | 2 |
| 4 | 2 | 3 |
| 5 | 3 | 1 |
| 6 | 3 | 3 |
第三范式:**建立在第二范式的基础之上,所有非主键字段直接依赖主键,不能产生传递依赖。**
一对多?两张表,多的表加外键。
班级 t_class
| cno(pk) | cname |
| ------- | ----- |
| 1 | 班级1 |
| 2 | 班级2 |
学生 t_student
| sno(pk) | sname | classno(fk) |
| ------- | ----- | ----------- |
| 101 | 张1 | 1 |
| 102 | 张2 | 1 |
| 103 | 张3 | 2 |
| 104 | 张4 | 2 |
| 105 | 张5 | 2 |
> [!TIP]
>
> 在实际的开发中,以满足客户的需求为主,有的时候会拿冗余换执行速度。
## 一对一的表设计
一对一设计有两种方案:主键共享
t_user_login 用户登录表
| id(pk) | username | password |
| ------ | -------- | -------- |
| 1 | zs | 123 |
| 2 | ls | 456 |
t_user_detail 用户详细信息表
| id(pk+fk) | realname | tel | ... |
| --------- | -------- | ---------- | ---- |
| 1 | 张三 | 1111111111 | |
| 2 | 李四 | 1111415621 | |
一对一设计有两种方案:外键唯一。
t_user_login 用户登录表
| id(pk) | username | password |
| ------ | -------- | -------- |
| 1 | zs | 123 |
| 2 | ls | 345 |
t_user_detail 用户详细信息表
| id(pk) | realname | tel | userid(fk+unique).... |
| ------ | -------- | ---------- | --------------------- |
| 1 | 张三 | 1111111111 | 2 |
| 2 | 李四 | 1111415621 | 1 |