数据库基础学习笔记1

数据库基础学习笔记1

数据库学习笔记1

——李雄飞

基本sql语句的CURD增删改查操作

(下图为我总结的脑图)

 

 1 到 NSERT 《 NTO 汞 名 { 列 名 1 , 列 名 乙 
....) VALUES(tÄ1, 值 2 , 
1 . 〔 reat 巳 引 巳 表 名 { 列 1 关 字 , 51-12*E*...m.)ENGINE=lnnoDB 
PRIMARY KEY { 列 名 1 , 列 名 乙 一 . J 帛 一 列 主 , 多 个 列 名 主 要 保 证 组 台 唯 一 
AUTO INCREMENT*** 
DEFAULT*E* 
ALTERTABLE*E DD 列 名 关 字 . 
ALTERTABLE*E DROPCOLUMN51JE; 
ALTER TABLE 表 名 CHANGE 旧 字 的 名 新 字 的 名 新 捱 型 
1 . MylSAM 
2 0 nno DB 
1 . 加 列 
2 . 删 除 列 
3 0 莪 字 的 厙 性 
2 . 主 
土 巨 序 列 
创 建 表 
4 . 指 定 认 匾 
5 . 引 擎 
还 改 表 陌 构 ( 列 性 〕 
sql 的 CURD 
入 数 奄 行 
删 除 数 奄 行 
吓 改 数 奄 行 
河 数 奄 
2 . 个 榧 入 可 其 一 个 insert int 。 , 廾 性 琵 
土 5 引 t 岿 河 可 以 充 兰 “ 卮 便 用 , 将 结 果 适 入 汞 中 
1 . DELETE*E WHERE*4* 
2 . 涂 表 中 所 有 内 容 则 不 加 w 卜 “ e 条 仁 , 但 仅 涂 表 容 而 不 表 本 身 
更 俣 的 除 , TRUNCATE TABLEEfi 。 删 除 表 中 所 有 容 , 但 度 更 
. 〔 TRUNC 众 TE 涂 原 耒 的 汞 卉 望 新 创 津 一 个 汞 } 
1 . UPDATE*E SET*figWHERE*4*' 
2 . 忽 略 措 误 行 修 改 UPD TE ℃ NORE 表 名 . 
DROP TABLE 表 名 
删 除 云 
1 . 分 § grou by 
土 朕 结 表 
继 台 co 凵 nt() 等 生 集 星 数 澄 行 分 组 
l.*Ainnerjoin*gon*f* 取 交 集 
ll. 表 众 leftjoin *B on 条 仁 左 表 每 行 都 要 澄 行 涯 , 若 右 表 无 匹 则 力 null 
肚 外 一 种 写 法 将 景 讎 写 入 here 中                                                                                                                                           

 

 

 

(注:查询操作的内容较多,后续补充)

参考资料:1.《mysql必知必会》

  2.菜鸟教程:https://www.runoob.com/mysql/mysql-tutorial.html


 

联结

在我的理解里,联结的本质是:以on或者where后的语句作条件对笛卡尔积进行筛选或更改,内联inner join就是取条件相等时的交集,不相等则对应的两行均不显示,而外联left join 是拿左表每一行去匹配右行,即便没有匹配(此时左行每条都有值,右行置为null),完全联结full join则是左匹配和右匹配相加。


 

变量

其中最需要注意的是作用域,全局变量作用于整个系统层级,会话变量只针对打开的会话

用户变量与局部变量差别如下:

 

注意局部变量作用域在begin end之间

 


 

存储过程

 

创建存储过程:

#首先修改分隔符;为其他字符

DELIMITER $

 

CREATE PROCEDURE 过程名(in 传入参数,out 传出参数,inout 可传入传出参数)

BEGIN

.........;

END $

 

#改回分隔符

DELIMITER ;

 

使用存储过程:

CALL 过程名(传入参数,@传出参数,@ inout参数);

 

删除存储过程:

DROP PROCEDURE 过程名;

 


 

 

 

5.sql执行顺序

(1)from

(3) join

(2) on

(4) where

(5)group by(开始使用select中的别名,后面的语句中都可以使用)

(6) avg,sum....

(7)having

(8) select

(9) distinct

(10) order by

 

 


 

6.聚集函数

Rank分组排名:(这个习题用到很多)

 

RANK并列跳跃排名,并列即相同的值,相同的值保留重复名次,遇到下一个不同值时,跳跃到总共的排名。

DENSE_RANK并列连续排序,并列即相同的值,相同的值保留重复名次,遇到下一个不同值时,依然按照连续数字排名。

ROW_NUMBER连续排名,即使相同的值,依旧按照连续数字进行排名。

 

 详情用法:

https://blog.csdn.net/u011726005/article/details/94592866

posted @ 2021-04-21 23:00  秋月桐  阅读(62)  评论(0编辑  收藏  举报