MySQL 数据提取、拆分、连接

MySQL 数据提取、拆分、连接

这里主要记录一下数据处理的中的一些函数,同时通过一个实例进行练习:

数据提取(查询):

where 条件表达式

类型 备注
比较运算符 =、>、<、>=、<=、!=
逻辑运算符 AND、OR、NOT
确定范围 BETWEEN AND、NOT BETWEEN AND
集合确定 IN、NOT IN
字符匹配 LIKE(“%”匹配任何长度)、NOT LIKE
空值 IS NULL、IS NOT NULL

语句示例:

比较运算符:

SELECT 用户ID, 年龄, 性别
FROM 用户明细
WHERE 年龄 >=30
AND 年龄<=32
AND 性别 = '男';

确定范围:

SELECT 用户ID, 年龄, 性别
FROM 用户明细
WHERE 年龄 BETWEEN 30 AND 32
AND 性别 = '男' ;

确定集合:

SELECT 用户ID, 年龄, 性别
FROM 用户明细
WHERE 年龄 BETWEEN 30 AND 32
AND 性别 IN ('男') ;

字符匹配:

SELECT 用户ID , 身份证号码
FROM 用户明细
WHERE 身份证号码 LIKE '%X';

空值判断:

SELECT * FROM 用户明细
WHERE 身份证号码 IS NULL;

字段拆分:

    • left(字符串,提取的位数)   --从字符串左侧开始提取字符
    • right(字符串,提取的位数)     --从字符串右侧开始提取字符
    • mid(字符串,提取的起始位置,提取的位数)   --从字符串指定的位置提取字

语句示例:

SELECT 身份证号码 ,
Left(身份证号码 ,6) as 县区编码,
Mid(身份证号码 ,7 ,8) as 出生日期 ,
Mid(身份证号码 ,17 ,1) as 性别
FROM 用户明细 ;

字段组合:

concat(字符串1,字符串2,字符串3,字符串4,......)

随机抽样

rand()函数

语句示例:

随机抽取20名用户信息:

SELECT * FROM 用户明细
ORDER BY Rand() LIMIT 20;