欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Mysql常用sql语句汇总

程序员文章站 2024-01-29 23:54:16
1、mysql 导出文件: select `pe2e_user_to_company`.company_name, `pe2e_user_to_company...

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