目录

MySQL使用技巧

生成只读权限用户

1
2
3
4
5
6
7
8
9
# 创建用户
# create user [用户名]@[ip] identified by [密码];
create user 'readonly'@'%' identified by 'readonlyqi4728';
# 给用户赋予权限
# grant [权限] on [库.表] to [用户名]@[ip];
grant select on myblog.* to 'readonly'@'%';
# grant all on sasd.* to 'lzs'@'%';
# 刷新权限
flush privileges;

自动忽略重复插入

数据不存在则插入,数据已存在则忽略,可以使用MySQL ignore来实现。当primary key或者unique key重复时会自动忽略本次插入操作。

1
insert ignore into 'table'('label') values('value');

自动判断更新或插入(多线程容易产生死锁,可以捕获异常,但不推荐,insert就insert,update就update

数据不存在则插入,数据已存在则更新,可以使用MySQL on duplicate key update来实现。当primary key或者unique key重复时会自动执行update。

1
insert into 'table'('key') values('value') on duplicate key update 'value'='value'+1;

自动替换重复数据

数据不存在则插入,数据已存在则替换,可以使用MySQL replace into来实现。当primary key或者unique key重复时会自动替换已存在的数据。实际上是先删除原有数据,然后插入新数据。

1
replace into 'table'('key') values('value');