一、mysql命令式的导入导出:https://www.runoob.com/mysql/mysql-database-import.html
mysql命令导入
mysqlimport 命令导入
source命令导入
"mysql>use dbtest;
mysql>set names utf8;
mysql>source D:/test.sql;
"
load data导入 "’-- 导出基础参数技术分享 | MySQL Load Data 的多种用法 - 知乎
select * into outfile '/data/mysql/3306/tmp/employees.txt'
character set utf8mb4
fields terminated by ','
enclosed by '""'
lines terminated by '\n'
from employees.employees limit 10;
-- 导入基础参数
load data infile '/data/mysql/3306/tmp/employees.txt'
replace into table demo.emp
character set utf8mb4
fields terminated by ','
enclosed by '""'
lines terminated by '\n'
..."
SELECT...INTO OUTFILE 查询结果导出到文件 "SELECT * FROM test_outfile
INTO OUTFILE ""C:/Users/Administrator/Desktop/201909/2019-09-03.txt""
FIELDS TERMINATED BY "","" ENCLOSED BY '""';
show variables like '%secure%'; 查看一下生成路径secure_file_priv 否则要想路径生效需要在mysql.ini里面配置这个参数
"
mysqldump
二、常用的sql函数 MySQL 函数 | 菜鸟教程
ASCII(s) 字符的 ASCII 码
CHAR_LENGTH(s)|CHARACTER_LENGTH(s)|LENGTH 字符数
CONCAT(s1,s2...sn) 字符串合并成一个
FIELD(s,s1,s2...) 索引
FORMAT(x,n) 将给定数字四舍五入到小数点后n位
INSERT(s1,x,len,s2) s2 替换 s1 的 x 位置开始长度为 len 的字符串
LOCATE(s1,s) 从字符串 s 中获取 s1 的开始位置
LCASE(s) 将字符串 s 的所有字母变成小写字母
LEFT(s,n) s从左边开始取n个字符
LOWER(s) 将字符串 s 的所有字母变成小写字母
LPAD(s1,len,s2) 定长len,s1不足的用s2补齐在左边,多余的把后面的砍掉
LTRIM(s) 去掉字符串 s 开始处的空格
MID(s,n,len) s 从n的位置截取长度为 length 的子字符串(包含起始位置)
POSITION(s1 IN s) 从字符串 s 中获取 s1 的开始位置
REPEAT(s,n) 将字符串 s 重复 n 次
REPLACE(s,s1,s2) s中s1都被替换成s2
REVERSE(s) 将字符串s的顺序反过来
RIGHT(s,n) s从右边开始取n个字符
RPAD(s1,len,s2) 定长len,s1不足的用s2补齐在右边,多余的把后面的砍掉
RTRIM(s) 去掉字符串 s 结尾处的空格
SPACE(n) n个空格的字符串
STRCMP(s1,s2) 比较字符串 s1 和 s2,如果 s1 与 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1<s2 返回 -1
SUBSTR(s, start, length) 字符串 s 的 start 位置截取长度为 length 的子字符串(包含起始位置)
TRIM(s) 去掉字符串 s 开始和结尾处的空格
UCASE(s) 字符串 s 的所有字母变成大写字母
UPPER(s) 字符串 s 的所有字母变成大写字母
ABS(x) 绝对弦
ACOS(x) 反余玄
ASIN(x) 反正弦
ATAN(x) 反正切
ATAN2(n, m) 指定数值的反正切值
AVG(expression) 平均值
CEIL(x)|CEILING(X) 大于等于X的最小整数
COS(x) cos(X)
COT(x) 余切函数
COUNT(expression) 数量
DEGREES(x) 将弧度值转换为度数
EXP(x) X次方
FLOOR(x) 小于等于X的最小整数
LOG(x) 用于计算特定数字的自然对数。该数字必须> 0,否则将返回NULL。
MAX(expression) 字段最大值
MIN(expression) 字段最小值
MOD(x,y) x/y取余数
PI() 显示的小数位数为7
POW(x,y) x的y次方
POWER(x,y) x的y次方
RADIANS(x) 度值转换为弧度
RAND() 0到1的随机数
ROUND(x) 离X最近的整数
SIGN(x) "X的正负符号
(负数、0、正数分别返回 -1、0 和 1)"
SIN(x) sin(x)
SQRT(x) x的平方根
SUM(expression) 求字段的和
TAN(x) 角度X的正切值=sin(x) / cos(x)
TRUNCATE(x,y) x 保留到小数点后 y 位的值
ADDDATE(d,n) 起始日期 d 加上 n 天的日期 ADDDATE("2017-06-15", INTERVAL 10 DAY);
ADDTIME(t,n) t 加上 n 秒的时间ADDTIME('2011-11-11 11:11:11', 5);
CURRENT_DATE() 返回当前日期 yyyy-mm-dd
CURRENT_TIME() 返回当前时间 hh:mm:ss
CURRENT_TIMESTAMP() 返回当前日期和时间yyyy-mm-dd hh:mm:ss
DATE(d) 从日期或日期时间表达式中提取日期值 DATE("2017-06-15 11:11:16");
DAY(d) 返回日期值 d 的日期部分DAY("2017-06-15"); 15
DATEDIFF(d1,d2) 计算日期 d1->d2 之间相隔的天数 2-1=1(不包皮)
DATE_FORMAT(d,f) 按表达式 f的要求显示日期 d '%Y-%m-%d %r'
DAYNAME(d) 日期 d 是星期几,如 Monday,Tuesday
DAYOFMONTH(d) 计算日期 d 是本月的第几天
DAYOFWEEK(d) 日期 d 今天是星期几1 星期日,2 星期一
DAYOFYEAR(d) d 是本年的第几天
EXTRACT(type FROM d) "从日期 d 中获取指定的值,type 指定返回的值
SELECT EXTRACT(MINUTE FROM '2011-12-13 14:15:16');"
UNIX_TIMESTAMP(d) 得到时间戳,UNIX_TIMESTAMP('2019-2-19');
FROM_UNIXTIME() 时间戳转日期
LOCALTIME() SELECT LOCALTIME;SELECT LOCALTIME + 0
LOCALTIMESTAMP()
MINUTE(t)
MONTH(d)
NOW()
SYSDATE()
TIME_FORMAT(t,f)
BIN(x) 将一个十进制数转换为二进制数
BINARY(s) 值转换为二进制字符串=CAST(值AS BINARY)
CASE…WHEN…END
CAST(x AS type) "转换数据类型(
SELECT CAST('2017-08-29' AS DATE);
)"
COALESCE(expr1, expr2, ...., expr_n) 返回参数中的第一个非空表达式(从左向右);
CONNECTION_ID() 函数返回一个整数值,该值表示唯一的当前连接ID。
CONVERT(s USING cs) 将值从一种数据类型转换为另一种数据类型
CURRENT_USER()
DATABASE()
IF(expr,v1,v2)
IFNULL(v1,v2) 如果value1的值不为null,结果返回value1,如果value1为null,结果返回vaule2的值。vaule2是你设定的值
ISNULL(expression) 判断exper是否为空,是则返回1,否则返回0
LAST_INSERT_ID()
SYSTEM_USER()
USER()
VERSION()
greatest(expr1, expr2, ...., expr_n) 返回列表中的最大值
least(expr1, expr2, ...., expr_n) 返回列表中的最小值
ln(X) 返回数字的自然对数
FIND_IN_SET(s1,s2) "符串s2中与s1匹配的字符串的位置,s2必须要用逗号分割
SELECT FIND_IN_SET(""c"", ""a,b,c,d,e"");"
FORMAT(x,n) X保留n位小数,最后一位四舍五入
CONV(x,f1,f2) f1 进制数的x变成 f2 进制数
CURRENT_USER()/SESSION_USER()/SYSTEM_USER()/USER()返回当前用户