MySQL 基础操作笔记
json字段创建虚拟列
# orders.shipping_address 是json类型,包含 phone 字段
alter table orders add v_shipping_address_phone varchar(20) generated always as (JSON_UNQUOTE(shipping_address->'$.phone'));
# 查询 v_shipping_address_phone
select * FROM orders where v_shipping_address_phone = '13100000000';MYSQL批量替换某个字段中的部分数据
# UPDATE 表名test SET 字段data = replace(字段data, ‘aaa’, ‘bbb’) WHERE 条件语句;
UPDATE test SET `data` = REPLACE(`data`,'aaa', 'bbb') WHERE id IN (7, 8, 9);存储引擎
# 查看 存储引擎信息,Support = YSE 说明 支持该引擎,Support = DEFAULT 说明 该引擎为默认存储引擎
SHOW ENGINES;
# 设置InnoDB为默认引擎:在配置文件my.ini中的 [mysqld] 下面加入default-storage-engine=INNODB手动清理binlog
# 查看主库和从库正在使用的binlog是哪个文件
show master status;
show slave status;
# 删除指定日期以前的日志索引中binlog日志文件
purge master logs before '2016-09-01 17:20:00';
# 删除指定日志文件的日志索引前所有binlog日志文件【删除 日志索引 小于 000022 的所有日志文件】
purge master logs to 'mysql-bin.000022'
# 注意:
# 时间和文件名一定不可以写错,尤其是时间中的年和文件名中的序号,以防不小心将正在使用的binlog删除!!!
# 切勿删除正在使用的binlog!!!将表A查询出来的数据插入到表B中
INSERT into B (字段1,字段2,字段3.......)
SELECT 字段1,字段2,字段3....... FROM A数据库备份
sh
mysqldump -h 127.0.0.1 -u root -p 数据库名 > 文件名.sql
mysqldump -h 127.0.0.1 -u root -p mysql > mysql.sql