数据库与前端
Mysql多表查询
多表查询的两种方法
-
连表操作
inner join 内连接 lefr join 左连接 right join 右连接 union 全连接 使用频率从上到下依次降低 -
子查询
将一条SQL语句括号括起来当成另一条SQL语句的查询条件
ps:连表查询是当你想要显示的数据在多个表
子查询是想要的显示的数据在一个表
一边我们会一起使用
小知识点
concat和concat_ws
group_concat() 用于分组之后
concat 与 concat_ws 用于分组之前
表相关的操作
alter table 表名 rname 新表名
alter table 表名 add 字段名 字段类型(数字) 约束条件
alter table 表名 add 字段名 字段类型(数字) 约束条件 first;
alter table 表名 change 旧字段 新字段 字段类型(数字) 约束条件
alter table 表名 add constraint 外键名称 foreigb key(外键的名称) references 要连接表的表名(要对应的字段名);
SQL注入问题
SQL注入:利用特殊符号的组合产生特殊的含义从而避开正常的业务逻辑
解决方法 就是 用 execute来拼接重要数据
事务
事务的四大特征
-
原子性
就是事务内部的所有操作不可分隔
-
一致性
数据库从一个一致状态变成另一个一致性状态
-
隔离性
多个事务之间彼此互补干扰
-
持久性
值一个事务完成后对数据的该表应该是持久性
隔离级别
-
read uncommitted(未提交读)
事务中的修改即使没有提交,对其他事务也都是可见的,事务可以读取未提交的数据,这一现象称之为'脏读'。
-
read committed(提交读)
大多数据库系统默认的隔离级别
一个事务从开直到提交之前所作的任何修改对其他事务不可见,这种级别也叫做'不可提交读'。
-
repeatable read(可重复读)
能过解决'脏读的问题',但是无法解决'幻读'
所谓的幻读就是当某个事务在读取某个范围内的记录时另一个事务又在该范围内插入了新的记录,当前的事务再次读取该范围的记录的时候会产生换行
InnoDB和XtraDB通过多版本并发控制(MVCC)及间隙锁策略解决该问题。
-
serializable(可串行读)
强制事务串行执行,很少使用该级别
存储过程
就是相当于 python的自定义函数
索引
- 索引就好比一本书的目录,他能让你更快的找到自己想要的内容
- 让获取的数据更有目的性,从而提高数据库检索数据的性能
索引在MySQL中也叫做'键',是存储引擎用于快速找到记录的一种数据结构
比如 primary key
unique key
index key
- 上述的三个key都可以加快数据查询
- primary key 和 unique key 除了可以加快本省h还自带限制条件 index key 很单一就用来加快数据查询
- 外键不属于索引键的范围 是用来建立关系 与加索引无关
-
聚集索引
主键、主键suoyin
-
辅助索引
除了主键外都是辅助索引
覆盖索引
条件的字段跟需要查询的字段一致
非覆盖索引
条件字段跟查询的字段不一致
前端
-
前端与后端的概念
前端 任何用户直接打交道的操作界面 都可以称之为 前端
不直接跟用户打交道的 主要负责内容的真正业务逻辑的执行 后端
-
前端三剑客
- HTML 网页的骨架
- CSS 网页的样式
- JavaScript 网页动态
HTTP协议
-
四大特性
-
基于请求响应
客户端发送请求、服务端回应响应
-
基于TCP、IP作用与应用层之上的协议
该协议属于应用层
-
无状态
服务端不会保存客户端的状态(记不住人)
-
无/短连接
客户端与服务端不会长久保存连接
-
-
数据格式
-
请求格式
请求首行
请求头
换行
请求体
-
相应格式
响应首行
响应头
换行
响应体
-
-
响应状态码
1XX:服务端接收到了你的请求正在处理
2XX:200 OK 请求成功 服务端发送了对应的响应
3XX: 重定向
4XX:403访问权限不够 404请求资源不存在
5XX:服务端内部错误
在公司里我们还会自定义更过的响应状态码
通常以1000起步
HTML概览
-
HTML注释语法
<!----> -
HTML文档
<html> <head> 主要放跟浏览器交互的配置 </head> <body> 主要放给用户查看的花里胡哨的内容 </body> </html>
常见的符号
1. 空格
2. ≷ 大于
3. < 小于
4. & &符号
5. ¥ ¥
6. © ©
7. ® ®
表格
格式
<table>
<thead></thead>
<tbody></tbody>
</table>
<table>
<thead>
<th>编号</th>
<th>姓名</th>
<th>年龄</th>
</thead>
<tbody>
<td>1</td>
<td>jason</td>
<td>18</td>
</tbody>
</table>
CSS层叠样式
主要来调节HEML的样式
标签的两大属性
-
id属性
精确查找
-
class属性
分门别类 主要用于批量查找
css注释语法
/**/跟mysql的一样
-
引入css的多种样式
-
head内style标签内可以编写
-
head内link标签可以引入外部的css样式
-
标签内部通过style直接编写
-
CSS选择器
- CSS基本选择器
- 标签选择器
- 类选择器
- id选择器
- 通用选择器
- 组合选择器
- 后代选择器
- 儿子选择器
- 毗邻选择器
- 属性选择器
- 伪类选择器
- 伪元素选择器
选择器的优先级
-
选择器相同 导入方式不同
就近原则
-
选择器不同 导入方式相同
内联样式>id选择器>类选择器>标签选择器

浙公网安备 33010602011771号