SQL 语句

一般常使用大写

INSERT 插入

INSERT INTO `post`(数据表名,使用反引号或者不使用反引号也可以)  (`title`, `content`)(表格内字段名) VALUES
('文章1','我是一个内容'),   (标题和内容,分隔用逗号)
('文章2','我是一个内容');  (结尾用分号)

SELECT 选择

SELECT * FROM `post` LIMIT 1 OFFSET 1; (选择所有数据,limit条数, offset 偏移量)
SELECT `id`, `title` FROM `post` LIMIT 1 OFFSET 1 WHERE `id` = 1;(选择字段, where 查找条件)
SELECT `id`, `title` FROM `post` LIMIT 1 OFFSET 1 ORDER BY `id` DESC;(排序)

UPDATE 更新

DELETE 删除

INDEX 索引

定义 有序性的目录

为什么使用?

加快表单的查询速度
加快 where=某个值 和范围查询

原理 B+树

索引类型

联合索引,按照两个字段建立索引

复合索引


先按 A 不相等的排,相等的话按照B排。不能做 A B 同时的 range query

MEMCACHED

主键和外键

主键: 用于表示数据的唯一标示,不能为null。 如:id
外键: 如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。 如:post 里的userId

哈希函数

key-hash function-> hash code

简单hash 不考虑冲突

Put

Get


hash 是不可逆的

MD5

string=>string(32位16进制字符串)
相同hash有可能由不同字符串生成
靠key,hash 对 可以猜到密码。盐(通过添加其他字符,生成不同的hash)

CSRF(Cross site request forgery)

    CSRF攻击攻击原理及过程如下:

   1. 用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;

   2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;

   3. 用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;

   4. 网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;

Http Status Code

http status code

消息队列

需要缓冲,等待的任务队列,等待 webserver 执行完返回

Cookie(客户端) & Cookie(浏览器)

I am a real pikachu!