MySql数据库知识全面(学习推荐版,通俗易懂)
2023-12-20 03:50:27
模型
有行有列的数据库就是关系数据库。
Sql简介及分类(DDL、DML、DQL、DCL)
不区分大小写,语句必须以分号结束。
0、数据类型
1.数值类型(有无符号数、整数、实数、精确的实数decimal)
默认是有符号signed修饰
2.字符串类型(字符串、文本、二进制)
3.日期时间类型
1、DDL(数据类型、操作数据库和表)
数据库
注意if exists和 if not exists的使用
数据库名字不能重复
表
查看表结构
2、DML
1、Insert
now()表示当前日期
2、Update
3、Delete
删除一行记录
3、DQL(常用)
if的使用
if(条件表达式,true值,false值)
case、when、then、else、end
1、基本查询
as可以省略 别名可以带引号也可以不带,但是带引号别名可以包含空格、特殊字符
2、条件查询
判断是否为null 只能用is not null或者is null,不能使用=null
模糊查询中_表示单个字符,%表示多个字符
日期之间查询,这两种都可以
in
like
3、分组查询及聚合函数
聚合函数
count不对null做计数
avg可能会为小数
分组查询
4、排序查询
多条件排序
5、分页查询
表中索引是从0开始的
4、多表查询
1、一对多(或多对一)及外键约束
一对多
外键约束格式
若外键表的有某个数据不在该表中,那么这某个数据所在行是可以删除的。
一对多推荐使用逻辑外键,就是在写代码时,让他们有关联就好了
2、一对一
表一
表二
3、多对多
两张多表
中间表 字段非空
笛卡尔积
笛卡尔积产生
消除笛卡尔积
内连接、外连接、子连接
内连接
还可以为e.name用as取别名,用了别名,就不能用原名.字段名了
外连接
没有关联的数据也会查询出来
子查询
标量子查询
列子查询
行子查询
表子查询
5、事务
介绍
commit用于提交执行的Sql语句到目标数据表中,未提交前,只能在当前视图查询页查看表中删了哪些数据。rollback用于恢复起作用并且执行的sql语句。
四大特性
6、查询优化(建立索引)
介绍
结构
B+Tree
每个页/磁盘块默认16KB,每个键表示索引且都保存在叶子节点中,data表示建立索引时的数据
语法(创建、查看、删除索引)
1、主键会自动创建索引并且性能最高
2、索引名建议格式为:idx_表名_字段名
3、字段名添加唯一约束时,默认添加的唯一索引名就是该字段名
文章来源:https://blog.csdn.net/qq_62614525/article/details/135027485
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!