mySql

mySql
mysql
存储过程
mysql 存储过程中利用游标循环结果集
mysql 触发器 if then elseif else 的运用
JAVA微信开发-如何保存包含特殊字符的微信昵称

系统

程度从强到弱

  1. drop table tb

    drop将表格直接删除,没有办法找回

  2. truncate (table) tb

    删除表中的所有数据,不能与where一起使用

  3. delete from tb (where)

    删除表中的数据(可制定某一行)

  4. 区别:truncate和delete的区别
    1
    2
    3
    4
    5
    1、事务:truncate是不可以rollback的,但是delete是可以rollback的;
    原因:truncate删除整表数据(ddl语句,隐式提交),delete是一行一行的删除,可以rollback
    2、效果:truncate删除后将重新水平线和索引(id从零开始) ,delete不会删除索引
    3、 truncate 不能触发任何Delete触发器。
    4、delete 删除可以返回行数

从现有数据库创建表

1
CREATE TABLE temp_no_invoice_other AS SELECT * FROM `cargocn`.`temp_no_invoice`

1
2
3
select version();
show engines;
show variables like '%log_%';

ACID,原子性(Atomicity)、一致性(Correspondence)、隔离性(Isolation)、持久性(Durability)。
事物的4种隔离级别
隔离级别,
读未提交(RU)
读已提交(RC)
可重复读(RR)
串行

1、MySQL的复制原理以及流程
基本原理流程,3个线程以及之间的关联;
(1)主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中;
(2)从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中;
(3)从:sql执行线程——执行relay log中的语句;

一个6亿的表a,一个3亿的表b,通过外间tid关联,你如何最快的查询出满足条件的第50000到第50200中的这200条数据记录。

1、如果A表TID是自增长,并且是连续的,B表的ID为索引

select * from a,b where a.tid = b.id and a.tid>500000 limit 200;

2、如果A表的TID不是连续的,那么就需要使用覆盖索引.TID要么是主键,要么是辅助索引,B表ID也需要有索引。

select * from b , (select tid from a limit 50000,200) a where b.id = a .tid;

-------------本文结束感谢您的阅读-------------
undefined