Mysql实用语句收集


Mysql实用语句收集

文章插图
 
对于MySQL常用的SQL语句比如select、create、insert、update、delete、join、order by、group by等等相信大家都不陌生;但对于一些不是很常用却又十分实用的语句在要使用的时候却经常记不起来如何写,所以小编特地梳理了一下这些语句,希望对大家有所帮助 。
导出数据库说到导出数据库,大家肯定能mysqldump,由于mysqldump使用时涉及到比较多的参数,所以在使用mysqldump时对这些参数基本记不全,那么我们先来熟悉一下常用的参数,如下表:
Mysql实用语句收集

文章插图
 
1、导出整个数据库
mysqldump –uroot –p111111 –h172.30.14.242 dbname>mydb.sql2、导出存储过程及函数
mysqldump –uroot –p111111 –h172.30.14.242 -ntd-R dbname > prorfunc.sql3、导出数据库表
mysqldump –uroot –p111111 –h172.30.14.242 dbnametablename>mydb.sql若只需要导出表结构,可以增加参数-d或者–no-data
若只需要导出表数据,可以增加参数-t或者--no-create-info
导入数据库1、未连接数据库时导入
mysql –uroot –p111111 –h172.30.14.242 dbname< mydb.sql2、连接数据库时导入
连接数据库
【Mysql实用语句收集】mysql –uroot –p111111 –h172.30.14.242指定客户端和服务器之间传递字符的编码规则为utf8set names utf8使用数据库use dbname导入数据库source /tmp/mydb.sql
其他数据导出/导入方式SELECT INTO…OUTFILE语句把表数据导出到一个文本文件中,并用LOAD DATA …INFILE语句恢复数据 。但是这种方法只能导出或导入数据的内容,不包括表的结构 。
1、SELECT INTO … OUTFILE导出数据
SELECT * FROM mytable INTO OUTFILE '/tmp/mytable.txt';可以通过命令选项来设置数据输出的指定格式,如下语句为导出CSV格式:
SELECT * FROM mytable INTO OUTFILE'/tmp/mytable.txt' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINESTERMINATED BY ' ';
FIELDS子句:在FIELDS子句中有三个亚子句:TERMINATED BY、 [OPTIONALLY] ENCLOSED BY和ESCAPED BY 。如果指定了FIELDS子句,则这三个亚子句中至少要指定一个 。
(1)TERMINATED BY用来指定字段值之间的符号;
(2)ENCLOSED BY子句用来指定包裹文件中字符值的符号;
(3)ESCAPED BY子句用来指定转义字符 。
LINES子句:在LINES子句中使用TERMINATED BY指定一行结束的标志 。
2、LOAD DATA … INFILE导入数据
LOAD DATA LOCAL INFILE 'dump.txt' INTOTABLE mytable FIELDS TERMINATED BY ':' LINES TERMINATED BY ' ';
LOAD DATA 默认情况下是按照数据文件中列的顺序插入数据的,如果数据文件中的列与插入表中的列不一致,则需要指定列的顺序 。如,在数据文件中的列顺序是 a,b,c,但在插入表的列顺序为b,c,a,则数据导入语法如下:
LOAD DATA LOCAL INFILE 'mytable.txt' INTO TABLE mytable (b, c, a) 
字符串操作1、字符串拼接
1)CONCAT(s1,s2,...)函数
将所有字符串拼接在一起
语句:SELECT CONCAT('2019','06','18); 执行结果:20190618
2)CONCAT_WS(s,s1,s2,...)函数
通过第一个字符串s将后面的所有字符串拼接在一起
语句:SELECT CONCAT_WS('-','2019','06','18');执行结果:2019-06-18
2、字符串替换
REPLACE(s,s1,s2)函数
将字符串s中的s1字符串替换为s2字符串
语句:SELECT REPLACE('helloname','name','world'); 执行结果:hello world
时间函数1、时间转字符串
DATE_FORMAT函数用于以不同的格式显示日期/时间数据
语法:DATE_FORMAT(date,format)
format 规定日期/时间的输出格式 。
Mysql实用语句收集

文章插图
 
示例:
语句:select DATE_FORMAT(now(),'%Y-%m-%d %T');
执行结果:2019-07-09 15:35:19语句:select DATE_FORMAT(now(),'%Y-%m-%d %H:%i:%s');
执行结果:2019-07-09 15:36:02
2、字符串转时间
STR_TO_DATE用于将字符转化为日期/时间格式
语法:STR_TO_DATE(string, format)
语句:SELECT STR_TO_DATE("2019 07 07","%Y %m %d");执行结果:2019-07-073、时间运算
函数从日期加上指定的时间间隔
DATE_ADD(date,INTERVAL expr type)
函数从日期减去指定的时间间隔
DATE_SUB(date,INTERVAL expr type)


推荐阅读