Mysql常用sql语句汇总
1、mysql 导出文件:
select `pe2e_user_to_company`.company_name, `pe2e_user_to_company`.company_code, `users`.name, `users`.uid, `users`.mail, `pe2e_email_notification_email`.`email_cc` from `users` , `pe2e_user_to_company` left join `pe2e_email_notification_email` on `pe2e_user_to_company`.`uid` = `pe2e_email_notification_email`.`uid` where `users`.`uid` = `pe2e_user_to_company`.`uid` into outfile '/tmp/users.csv' fields terminated by ',' enclosed by '"' lines terminated by '\r\n';
2、关联查询
sql中多个left join,为了保证返回数量和主表一样,要加个group by 主表id
3、if,ifnull,concat_ws等常见方法
1)concat_ws('',country, province, city) region 三字段按照''之间的内容合拼;
concat_ws('',case p.gametype1 when 1 then '朗诵讲故事' when 2 then '朗诵情景演讲' end,case p.gametype2 when 3 then '主题写作' end) as gametype;
2)if(gender=1,'男','女') as gender;
3)ifnull(age,0) as age;
4)(case agegroup when 1 then '儿童a组' when 2 then '儿童b组' when 3 then '少年a组' when 4 then '少年b组' end) as agegroup;
4、mysql5.7 找回root密码
[root@166087 mysql]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --datadir=/data/mysql --skip-grant-tables mysql> update user set authentication_string=password('123456') where user='root';
5、阿里云使用笔记-mysql远程连接-centos7
首先登录:
mysql -u root -h localhost -p
use mysql #打开mysql数据库
2)将host设置为%表示任何ip都能连接mysql,当然您也可以将host指定为某个ip
update user set host='%' where user='root' and host='localhost'; flush privileges; #刷新权限表,使配置生效
然后我们就能远程连接我们的mysql了。
3)如果您想关闭远程连接,恢复mysql的默认设置(只能本地连接),您可以通过以下步骤操作:
use mysql #打开mysql数据库 update user set host='localhost' where user='root'; #将host设置为localhost表示只能本地连接mysql flush privileges; #刷新权限表,使配置生效 update user set password=password('123456') where user='root';#修改密码 flush privileges ; #刷新权限表,使配置生效
备注:您也可以添加一个用户名为yuancheng,密码为123456,权限为%(表示任意ip都能连接)的远程连接用户。命令参考如下:
grant all on *.* to 'yuancheng'@'%' identified by '123456'; flush privileges;
4)mysql排序时如果该字段是varchar怎么办?
2种办法:
1. order by 字段+0
2. order by cast(字段 as int)
6、批量修改字段数据
update t_comment set avatar = replace(avatar, 'http', 'https');//替换 update t_log set message=concat("https",message);//前面追加