mysql数据库-笔记
基本概念篇
SQL语言的4种分类(DDL、DML、DCL、DQL)
对应的英文全程:data (definition、manipulation、control、query)language
参考资料:
https://www.cnblogs.com/kawashibara/p/8961646.html
总结:
DDL操作对象是库表
DML、DQL操作对象是记录
DCL操作对象是用户
DDL包括:create,drop,alter
create database/table/index/view
drop database/table/index/view
alter table
create database qa_test;
create database qa_test2;
create database qa_test3; create table qa_test.t1(id int);
create table qa_test.t2(id int primary key, id2 int);
create table qa_test.t3(id int, id2 int, id3 int); create index idx_a on qa_test.t1(id);
create unique index idx_a on qa_test.t3(id3);
create view see_t1 as select * from qa_test.t1; alter table qa_test.t1 drop index idx_a;
alter table qa_test.t1 add primary key(id);
alter table qa_test.t1 add id2 int;
alter table qa_test.t1 add id3 int;
alter table qa_test.t2 drop primary key(id); drop table qa_test.t2;
drop database qa_test2;
drop view see_t1;
DML包括:insert,delete,update
insert into ... values ...
insert into ... select * from ...
delete from .. where
delete from ...
update ... set ... where ...
update ... set ...
create database qa_ddl;
create table qa_ddl.t(id int);
insert into qa_ddl.t values(1),(2),(3);
update qa_ddl.t set id = 10 where id >2;
delete from qa_ddl.t where id = 1;
create table qa_ddl.t2(id int, id2 int, id3 int);
insert into qa_ddl.t2 values(1,2,3),(2,3,4);
insert into qa_ddl.t2 select * from qa_ddl.t2;
insert into qa_ddl.t2(id, id2) values (100,200);
DCL包括:grant,revoke,commit,rollback
DQL包括:select,from,where
select * from ... where ...
create database qa_ddl;
create table qa_ddl.t(id int);
insert into qa_ddl.t values(1),(2),(3);
update qa_ddl.t set id = 10 where id >2;
delete from qa_ddl.t where id = 1;
create table qa_ddl.t2(id int, id2 int, id3 int);
insert into qa_ddl.t2 values(1,2,3),(2,3,4);
insert into qa_ddl.t2 select * from qa_ddl.t2;
insert into qa_ddl.t2(id, id2) values (100,200); select * from qa_ddl.t2;
数据库的log
分类5个:err-log,general-log,bin-log,slow-log,relay-log
有时候还有DDL log
参考资料:
https://www.cnblogs.com/f-ck-need-u/p/9001061.html#blog5
https://dev.mysql.com/doc/refman/5.7/en/server-logs.html(mysql官方文档)
这5种log都是什么用途?(下图摘自mysql官方文档)

binlog在什么时候更新?
mysql>flush logs; 执行后,关闭旧的binlog,打开新的binlog。
my.cnf中的log参数配置
#=============== [error/general/slow log options] ==============================================
log-error-verbosity = 1
log-error = /usr/local/nestdb_master/log/mysql.err error-log的位置
general-log = ON 允许记录general-log
general-log-file = /usr/local/nestdb_master/log/mysql.log general-log的位置
slow-query-log = ON 允许记录error-log
slow-query-log-file = /usr/local/nestdb_master/log/slow.log error-log的位置
long-query-time = 1 查询时间,如果查询小于等于1s,记录到general-log,如果大于1s,记录到error-log
log-queries-not-using-indexes = 1
mysql> show global variables like 'log_warnings';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_warnings | 0 | 0:warning信息不记录到error-log中;1:warning信息记录到error-log中;大于1:各类告警信息写入到error-log中。
+---------------+-------+
1 row in set (0.01 sec)
bin-log配置
#------------------> (2) binlog <---------------------------------------------------------------
log-bin = mysql-bin bin-log的前缀,当每次flush logs;重启mysql,日志文件达到最大时,都会重新更新bin-log
log-bin-index = mysql-bin.index 记录了所有bin-log的文件名
sync-binlog = 1000
binlog-format = ROW
binlog-cache-size = 1M
max-binlog-size = 1G bin-log文件最大值,超过1G,变更bin-log
expire-logs-days = 7
查看bin-log
[root@vm10-0-0-8 bin]# ./mysqlbinlog ../var/mysql-bin.000005
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#191114 16:53:43 server id 9988123 end_log_pos 123 CRC32 0xb80d9c2f Start: binlog v 4, server v 5.7.27-debug-log created 191114 16:53:43
BINLOG '
FxbNXQ8baJgAdwAAAHsAAAAAAAQANS43LjI3LWRlYnVnLWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAXwAEGggAAAAICAgCAAAACgoKKioAEjQA
AS+cDbg=
'/*!*/;
# at 123
#191114 16:53:43 server id 9988123 end_log_pos 154 CRC32 0x0020c8cb Previous-GTIDs
# [empty]
# at 154
#191115 13:17:42 server id 9988123 end_log_pos 219 CRC32 0x80e8fd47 Anonymous_GTID last_committed=0 sequence_number=1 rbr_only=no
SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
# at 219
#191115 13:17:42 server id 9988123 end_log_pos 313 CRC32 0x4219fe85 Query thread_id=73 exec_time=0 error_code=0
SET TIMESTAMP=1573795062/*!*/;
SET @@session.pseudo_thread_id=73/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=1436549152/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C utf8 *//*!*/;
SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=33/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create database lr_1
/*!*/;
# at 313
#191115 13:17:53 server id 9988123 end_log_pos 378 CRC32 0xbfbb5fc0 Anonymous_GTID last_committed=1 sequence_number=2 rbr_only=no
SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
# at 378
#191115 13:17:53 server id 9988123 end_log_pos 478 CRC32 0x8217330c Query thread_id=73 exec_time=0 error_code=0
SET TIMESTAMP=1573795073/*!*/;
create table lr_1.test(id int)
/*!*/;
# at 478
#191115 13:18:08 server id 9988123 end_log_pos 543 CRC32 0xf0bb2b47 Anonymous_GTID last_committed=2 sequence_number=3 rbr_only=yes
/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;
SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
# at 543
#191115 13:18:08 server id 9988123 end_log_pos 611 CRC32 0xdf8eb376 Query thread_id=73 exec_time=0 error_code=0
SET TIMESTAMP=1573795088/*!*/;
BEGIN
/*!*/;
# at 611
#191115 13:18:08 server id 9988123 end_log_pos 658 CRC32 0xef41195b Table_map: `lr_1`.`test` mapped to number 109
# at 658
#191115 13:18:08 server id 9988123 end_log_pos 698 CRC32 0xde1f9e3c Write_rows: table id 109 flags: STMT_END_F BINLOG '
EDXOXRMbaJgALwAAAJICAAAAAG0AAAAAAAEABGxyXzEABHRlc3QAAQMAAVsZQe8=
EDXOXR4baJgAKAAAALoCAAAAAG0AAAAAAAEAAgAB//4BAAAAPJ4f3g==
'/*!*/;
# at 698
#191115 13:18:08 server id 9988123 end_log_pos 729 CRC32 0x0884f90f Xid = 63
COMMIT/*!*/;
# at 729
#191115 13:18:19 server id 9988123 end_log_pos 776 CRC32 0x7e8d61f6 Rotate to mysql-bin.000006 pos: 4
SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;
DELIMITER ;
# End of log file
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
mysql数据库-笔记的更多相关文章
- mysql数据库笔记0
mysql数据库笔记0 一次性添加多行数据 例如: INSERT INTO students (class_id, name, gender, score) VALUES (1, '大宝', 'M', ...
- Mysql数据库笔记
出错记录: 1.mysql服务启动不了,进程意外终止 1067 错误显示:can not connect to mysql server on local hosts(1061) 解决方法 ...
- MySQL数据库笔记总结
MySQL数据库总结 一.数据库简介 1. 数据 所谓数据(Data)是指对客观事物进行描述并可以鉴别的符号,这些符号是可识别的.抽象的.它不仅仅指狭义上的数字,而是有多种表现形式:字母.文字.文本. ...
- MySQL数据库笔记六:数据定义语言及数据库的备份和修复
1. MySQL中的函数 <1>加密函数 password(str) 该函数可以对字符串str进行加密,一般情况下,此函数给用户密码加密. select PASSWORD('tlxy666 ...
- MySQL数据库笔记二:数据类型及数据库操作
三.MySQL数据库数据类型 MySQL数据库中支持多种数据类型:数值型.字符型.日期型 常用的数据类型: 1.整型 int:整形,存储整数 int(M):M表示预期值.与存储大小和数值的范围无关. ...
- MySQL数据库笔记一:简介及简单操作
一.初识MySQL数据库 1.数据库的概述 <1>数据库:Database 长期存储在计算机内的,有组织的,可共享的数据集合. 存储数据的仓库.(文件) <2>数据库管理系统: ...
- MySQL数据库笔记四:MySQL的约束
<1>概念 是一种限制,它是对表的行和列的数据做出约束,确保表中的数据的完整性和唯一性. <2>使用场景 创建表的时候,添加约束 <3>分类 1. default: ...
- MySQL数据库笔记三:数据查询语言(DQL)与事务控制语言(TCL)
五.数据查询语言(DQL) (重中之重) 完整语法格式: select 表达式1|字段,.... [from 表名 where 条件] [group by 列名] [having 条件] [order ...
- (mysql)数据库笔记
一.数据库的特点: a.实现数据共享 b.采用特定的数据类型. c.具有较高的数据独立性 d.具有统一的数据控制功能. 二.mysql的优势: a.速度:运行速度快 b.价格:mysql对多数个人来 ...
随机推荐
- grep 基本用法
grep usage: grep [options]... pattern [file]... 如果file缺省,会从 stdin 读取 $ grep --help -i 忽略大小写 -n 显示行号 ...
- Linux CURL的安装和使用
--获得安装包,从网上直接下载或者其他途径,这里直接wget# wget http://curl.haxx.se/download/curl-7.17.1.tar.gz--解压到当前目录# tar - ...
- 42.MySQL数据库安装,及驱动程序选择
MySQL驱动程序安装: 我们使用Django来操作Mysql,实际上底层还是通过Python来操作的,因此我们想要使用Django来操作mysql,首先还是需要安装一个驱动程序,在Python3中, ...
- Linux查看系统硬件信息命令
Linux查看系统硬件信息命令 查看磁盘类型(是否SSD) cat /sys/block/sda/queue/rotational code:0 SSD盘 code:1 SATA盘 查看物理CPU个数 ...
- BZOJ#2121. 字符串游戏 [区间dp]
// powered by c++11 // by Isaunoya #include<bits/stdc++.h> #define rep(i , x , y) for(register ...
- 如何在Mac OS X上将PDF转换为Microsoft Word
Lighten PDF to Word Converter for Mac是一个简单但功能强大的应用程序,可将PDF文件准确,轻松地转换为Microsoft Word.它可以保留原始内容的布局,格式, ...
- CF1299D Around the World
题意 \(n\)阶无向图,\(m\)条带权边,保证\(1\)不会被"超过\(3\)阶的圈"所包含.求删除与\(1\)相邻的边集,使得不存在从\(1\)出发的权值为\(0\)的非平凡 ...
- PAT (Advanced Level) Practice 1006 Sign In and Sign Out (25 分) (排序)
At the beginning of every day, the first person who signs in the computer room will unlock the door, ...
- HDU - 5532 Almost Sorted Array (最长非严格单调子序列)
We are all familiar with sorting algorithms: quick sort, merge sort, heap sort, insertion sort, sele ...
- 6.Docker Compose 网络设置
概述 默认情况下,Compose 会为我们的应用创建一个网络,服务的每个容器都会加入该网络中.这样,容器就可被该网络中的其他容器访问,不仅如此,该容器还能以服务名称作为 Hostname 被其他容器访 ...