首页 > 其他分享 >第十周总结

第十周总结

时间:2022-12-04 17:33:23浏览次数:41  
标签:总结 事务 第十 标签 .& 索引 num sql

目录

mysql多表查询及pymysql简单使用

多表查询的两种方法

方式一:连表操作

inner join  内连接
left join  左连接
right join  右连接
union  全连接

方式二:子查询

将一条sql语句用括号括起来当成另外一条sql语句的查询条件

小知识点补充

concat与concat_ws
	concat用于分组之前的字段拼接操作
	concat_ws拼接多个字典并且中间的连接符一致
exists 
    sql1 exists sql2  
	sql2有结果的情况下才会执行sql1 否则不执行sql1
表相关sql补充
	alter table 表名 rename/add/change/modify/drop 

python操作mysql

1.导入pymysql模块
2.连接mysql服务端
3.产生游标
4.编写sql语句
5.发送sq语句
6.获取sql语句执行之后的结果

pymysql补充说明

fetchall(获取所有的结果)
fetchone()获取结果集的第一个数据
fetchmany()获取指定数量的结果集
autocommit=True  针对增删该 自动确认
conn.commit()  针对增删改二次确认(代码确认)

sql注入问题

问题:利用特殊符号的组合产生特殊的含义 从而避开正常的业务逻辑
select * from userinfo where name='jason' -- kasdjksajd' and pwd=''
select * from userinfo where name='xyz' or 1=1 -- aksdjasldj' and pwd='' 
解决:
sql = " select * from userinfo where name=%s and pwd=%s "
cursor.execute(sql, (username, password))

视图、触发器、事务、存储过程

视图:通过查询得到一张虚拟表,然后保存下来直接使用
触发器:达到某个条件后自动触发执行,针对表继续增、删、改操作能自动触发,有6种情况:增前、增后、删前、删后、改前、改后
create trigger 触发器名字 before/after/ insert/update/delete on 表名 for each row
begin
	sql语句
end
事务的四大特性(ACID)
A:原子性:事务中的各项操作是不可分割的整体 要么同时成功要么同时失败
C:一致性:使数据库从一个一致性状态变到另一个一致性状态
I:隔离性:多个事务之间彼此不干扰
D:持久性:也称永久性,指一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的

存储过程:看成是python中的自定义函数

函数、流程控制

函数:可以看成是python中的内置函数
1.移除指定字符
Trim、LTrim、RTrim
2.大小写转换
Lower、Upper
3.获取左右起始指定个数字符
Left、Right
4.返回读音相似值(对英文效果)
Soundex
5.日期格式:date_format

# 分支结构
declare i int default 0;
IF i = 1 THEN
	SELECT 1;
ELSEIF i = 2 THEN
	SELECT 2;
ELSE
	SELECT 7;
END IF;

# 循环结构
DECLARE num INT ;
SET num = 0 ;
WHILE num < 10 DO
	SELECT num ;
	SET num = num + 1 ;
END WHILE ;

索引

索引在Mysql中也叫做"键",是存储引擎用于快速找到记录的一种数据结构
索引可以加快数据查询 但是会降低增删的速度
聚集索引(primary key)
辅助索引(unique,index)除主键以外的都是辅助索引

索引底层其实是树结构>>>:树是计算机底层的数据结构
树有很多种类型:二叉树、b树、b+树、B*树...

explain 
index 尽量避免
range
ref
eq_ref
const
system
null

事务

事务(transaction)  回退(rollback)提交(commit)保留点(savepoint)

隔离级别

1. read uncommitted(未提交读)
2.read committed(提交读)
3.repeatable read(可重复读)
4.serializable(可串行读)

读锁(共享锁):多个用户同一时刻可以同时读取同一个资源互不干扰
写锁(排他锁):一个写锁会阻塞其它的写锁和读锁
死锁 :1.多个事务试图以不同的顺序锁定资源时就可能会产生死锁;2.多个事务同时锁定同一个资源时也会产生死锁

事务日志

事务日志可以帮助提高事务的效率

转换表的引擎

1.alter table
2.导入导出 mysqldump
3.insert...select

HTML

前端:任何与用户直接打交道的操作界面 都可以称之为前端
后端:不直接与用户打交道 主要负责内部真正的业务逻辑的执行

HTTP协议的四大特性:
1.基于请求相应
2.基于TCP/IP作用于应用层之上的协议
3.无状态 4.无/短连接

数据格式:
1)请求格式:请求首行、请求头、换行、请求体
2)相应格式:相应首行、响应头、换行、响应体

相应状态码
1xx:服务端接收到客户端的请求在处理 客户端可以继续发送或者等待
2xx:200 ok 请求成功 服务端发送了对应的响应
3xx:302(临时)304(永久重定向)
4xx:403 访问权限不够 404请求资源不存在
5xx:服务端内部错误

HTML概览
1.html注释语法:<!--注释内容--->
2.HTML文档结构
<html> 固定格式html包裹
<head>主要放跟浏览器交互的配置</head>
<body>主要放给用户查看的花里胡哨的内容</body>
</html>
3.html标签分类
单标签(自闭和标签)<img/>
双标签<h1></h1>

head内常见标签
1.title网页小标题
2.meta定义网页源信息(很多配置)
3.style内部支持编写css代码
4.link引入外部css文件
5.script支持内部编写js代码也可以引入外部js文件

body内基本标签
1.标题系列标签 h1-h6
2.段落标签  p
3.其它标签 
u下划线 i斜体  s 删除线  b加粗
4.换行与分割线
br 换行  hr 分割线

行内标签 uisb 
块级标签 h系列、p

常见符号
1.&nbsp;  空格
2.&gt;    大于
3.&lt;    小于
4.&amp;   &符
5.&yen;		¥
6.&copy;	© 
7.&reg;		®

body内布局标签
div:块儿级标签
span:行内标签

body内常用标签
a标签  链接标签
href:填写网址,具备跳转功能
target:默认_self原网页跳转,_blank新建网页跳转

img标签  图片标签
src:填写图片地址;title:鼠标悬浮在图片上自动展示的文本 alt:图片加载失败提示的信息 width\height:图片的尺寸,两者调整一个即可

列表标签
无序列表(常用)
<ul>
<li></li>
</ul>
有序列表
<ol>
<li></li>
</ol>
标题列表
<dl>
<dt></dt>
   <dd></dd>
</dl>

表格标签
<table>
<thead>
  <tr>
    <th></th>
  </tr>
 </thead>
 <tbody>
  <tr>
     <td></td>
  </tr>
 </tbody>
</table>

表单标签
可以获取用户数据并发送给服务端
from 标签
	action  控制数据的提交地址
	method 控制数据的提交方法
input标签
	type属性
	 text		普通文本
	 password	密文展示
	 date		日期选项
	 email		邮箱格式
	 radio		单选
	 checkbox	多选
	 file		文件
	 submit		触发提交动作
	 reset		重置表单内容
	 button		暂无任何功能

select标签		下拉框
	option标签		一个个选项
textarea标签		获取大段文本
input标签应该有name属性(name属性相当于字典的键 input标签获取到的用户数据相当于字典的值,点击发送给服务端,这样才具有明确意义)
	 





标签:总结,事务,第十,标签,.&,索引,num,sql
From: https://www.cnblogs.com/winter-yu1989/p/16950248.html

相关文章