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);//前面追加