Mysql,你应该掌握的好习惯
自动更新时间
(1)更新某张表的某条记录时,应该同时更新它的update_time字段,这个操作可以无需在代码中完成
mysql>ALTER TABLE table_name MODIFY COLUMN update_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
(2)去掉同时更新update_time 字段的属性,比如说需要用到该字段排序的业务中
ALTER TABLE product_category MODIFY update_time datetime(0) DEFAULT NULL ;
添加索引
(1)添加INDEX(普通索引)
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
(2)添加UNIQUE(唯一索引)
mysql>ALTER TABLE `table_name` ADD UNIQUE ( `column` )
(3)添加PRIMARY KEY(主键索引)
mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
(4)添加FULLTEXT(全文索引)
mysql>ALTER TABLE `table_name` ADD FULLTEXT ( `column`)
(5)添加多列索引
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )
聚合分组
select category,group_concat(id) from takeaway_merchant_info group by category;
该业务场景为“美团外卖”根据分类id,查询分类下的商家主键id,返回结果如下:
开启bin-log
在/etc/my.cnf 配置文件添加以下两行:
[mysqld]
log-bin=/var/lib/mysql/mysql-bin
如果是5.7以上版本需要指定:server-id=1 (多机器不能重复)
重启mysql,查看是否开启成功:
show variables like '%log_bin%'
如上图所示,则表示开启成功。