MySQL日志
1:MySQL日志日志文件中记录着 MySQL 数据库运行期间发生的变化。也就是说用来记录 MySQL 数据库的客户端连接状况、SQL 语句的执行情况和错误信息等。当数据库遭到意外的损坏时,可以通过日志查看文件出错的原因,并且可以通过日志文件进行数据恢复。
MySQL日志文件分为以下几种:
重做日志(redo log)
回滚日志(undo log)
二进制日志(binlog)
错误日志(errorlog)
慢查询日志(slow query log)
一般查询日志(general log)
中继日志(relay log)
2:binlogbinlog 是 MySQL server 层维护的一种二进制日志,这个文件记录了 MySQL 所有的 DML 操作。通过 binlog 日志我们可以做数据恢复,增量备份,主主复制和主从复制等等。
复制:MySQL 在主库开启 binlog,主库把它的二进制日志传递给从库并回放来达到主从数据一致的目的。
数据恢复:指通过 mysqlbinlog 工具恢复数据。
增量备份:指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被 ...
MySQL练习
题目1 查询” 01 “课程比 “ 02 “课程成绩高的学生的信息及课程分数
123456789SELECT A.*, B.cid, B.scoreFROM ( SELECT sid, cid, score FROM sc WHERE cid = "01" ) A LEFT JOIN ( SELECT sid, cid, score FROM sc WHERE cid = "02" ) B ON A.sid = B.sidWHERE A.score > B.score
1.1 查询同时存在” 01 “课程和” 02 “课程的情况
123456789SELECT A.*, B.cid, B.scoreFROM ( SELECT sid, cid, score FROM sc WHERE cid = "01" ) A LEFT JOIN ( SELECT sid, cid, score FROM sc WHERE cid = "02" ) B ON A.sid = B.sidWHE ...
MySQL索引
概念索引是一种特殊的数据库结构,由数据表中的一列或多列组合而成,可以用来快速查询数据表中有某一特定值的记录。
打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。
通过索引,查询数据时不用读完记录的所有信息,而只是查询索引列。否则,数据库系统将读取每条记录的所有信息进行匹配。拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到需要的字。
因此,使用索引可以很大程度上提高数据库的查询速度,还有效的提高了数据库系统的性能。
索引分类
普通索引:index:加速查找
唯一索引
主键索引:primary key:加速查找+约束(不为空且唯一)
唯一索引:unique:加速查找+约束 (唯一)
联合索引
primary key(id,name):联合主键索引
unique(id,name):联合唯一索引
index(id,name):联合普通索引
全文索引fulltext :用于搜索很长一篇文章的时候,效果最好。
空间索引spatial :了解就好,几乎不用
哪些类适合建立索引 ...
MySQL引擎
转自MyISAM与InnoDB 的区别(9个不同点)
前言MySQL中,常用的引擎主要就是2个:
InnoDB
MyIASM
MyISAM是默认存储引擎(Mysql5.1前)。由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良 。 每个MyISAM在磁盘上存储成三个文件,每一个文件的名字均以表的名字开始,扩展名指出文件类型。
InnoDB,是MySQL的数据库引擎之一,为MySQL AB发布binary的标准之一。InnoDB由Innobase Oy公司所开发,2006年五月时由甲骨文公司并购。与传统的ISAM与MyISAM相比,InnoDB的最大特色就是支持了ACID兼容的事务(Transaction)功能,类似于PostgreSQL。目前InnoDB采用双轨制授权,一是GPL授权,另一是专有软件授权。
InnoDB和MyIASM区别
MyIASM
InnoDB
事务支持
不支持
支持
外键约束
不支持
支持
索引结构
非聚集索引
聚集索引
保存行数
保存
不保存
全文索引
支持
不支持 ...
MySQL
关系型数据库概念关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解。关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织
创建表创建MySQL数据表需要以下信息:
表名
表字段名
定义每个表字段
示例:
123456789101112// 如果表不存在则创建表CREATE TABLE IF NOT EXISTS `runoob_tbl`( // 字段名(runoob_id) 数据类型(INT) 无符号(UNSIGNED) 自增(AUTO_INCREMENT) `runoob_id` INT UNSIGNED AUTO_INCREMENT, // 非空(NOT NULL) `runoob_title` VARCHAR(100) NOT NULL, `runoob_author` VARCHAR(40) NOT NULL, `submi ...