MySql数据库知识全面(学习推荐版,通俗易懂)

2023-12-20 03:50:27

模型

image-20231213180524956

image-20231213174851495

有行有列的数据库就是关系数据库。

Sql简介及分类(DDL、DML、DQL、DCL)

image-20231213175309145
不区分大小写,语句必须以分号结束。

image-20231213175808365

0、数据类型

1.数值类型(有无符号数、整数、实数、精确的实数decimal)

默认是有符号signed修饰

image-20231213182045194

2.字符串类型(字符串、文本、二进制)

image-20231213182417059

3.日期时间类型

image-20231213182639364

1、DDL(数据类型、操作数据库和表)

数据库

image-20231213180417035

注意if exists和 if not exists的使用

数据库名字不能重复

image-20231213180229010

image-20231213181414896

image-20231213184230117

image-20231213185558890

image-20231213181302621

查看表结构image-20231213184301589

image-20231213184825727

2、DML

1、Insert

image-20231213201424366

now()表示当前日期image-20231213201321931

2、Update

image-20231213201634562

image-20231213201653668

3、Delete

删除一行记录image-20231213201826960

3、DQL(常用)

image-20231213202101970

image-20231213202213191

image-20231213210747359

if的使用

if(条件表达式,true值,false值)image-20231213210051173

case、when、then、else、end

image-20231213210706943

1、基本查询

image-20231213202333276

as可以省略 别名可以带引号也可以不带,但是带引号别名可以包含空格、特殊字符image-20231213202532355

2、条件查询

image-20231213202825847

判断是否为null 只能用is not null或者is null,不能使用=null

模糊查询中_表示单个字符,%表示多个字符

日期之间查询,这两种都可以image-20231213203109784

inimage-20231213203219608

likeimage-20231213203344245

image-20231213203405918

3、分组查询及聚合函数

聚合函数

image-20231213204503375

count不对null做计数image-20231213204309080

image-20231213204338290

avg可能会为小数image-20231213204416554

分组查询

image-20231213204843589

image-20231213204802717

image-20231213204709586

image-20231213210350702

4、排序查询

image-20231213205151781

image-20231213205029868

多条件排序image-20231213205112048

5、分页查询

image-20231213205600916

表中索引是从0开始的image-20231213205255185

4、多表查询

1、一对多(或多对一)及外键约束

一对多

image-20231213211326835

image-20231213211458896

image-20231213211814206

外键约束格式

image-20231213211841869

若外键表的有某个数据不在该表中,那么这某个数据所在行是可以删除的。

一对多推荐使用逻辑外键,就是在写代码时,让他们有关联就好了image-20231213212713472

2、一对一

image-20231213213141504

表一image-20231213213313738

表二image-20231213213602074

3、多对多

image-20231213214502114

两张多表image-20231213214701463

中间表 字段非空image-20231213214614966

笛卡尔积

image-20231213221712404

笛卡尔积产生image-20231213221544148

消除笛卡尔积image-20231213221633268

内连接、外连接、子连接

image-20231213221905046

内连接

image-20231213222323802

image-20231213222157531

image-20231213222244156

还可以为e.name用as取别名,用了别名,就不能用原名.字段名了

外连接

image-20231213222426158

image-20231213222707205

没有关联的数据也会查询出来

image-20231213222912626

子查询

image-20231213223359722


image-20231213223747234

image-20231213224323186


标量子查询image-20231213223621831

列子查询image-20231213223924813

行子查询image-20231213224248445

表子查询image-20231213224511977

5、事务

介绍

image-20231214124012810

image-20231214124407321

commit用于提交执行的Sql语句到目标数据表中,未提交前,只能在当前视图查询页查看表中删了哪些数据。rollback用于恢复起作用并且执行的sql语句。

四大特性

image-20231214124923917

image-20231214125032712

6、查询优化(建立索引)

介绍

image-20231214125824873

image-20231214130119051

结构

image-20231214130434823

B+Treeimage-20231214131114068

每个页/磁盘块默认16KB,每个键表示索引且都保存在叶子节点中,data表示建立索引时的数据

语法(创建、查看、删除索引)

image-20231214131901667

1、主键会自动创建索引并且性能最高

2、索引名建议格式为:idx_表名_字段名

3、字段名添加唯一约束时,默认添加的唯一索引名就是该字段名

文章来源:https://blog.csdn.net/qq_62614525/article/details/135027485
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。