MySQL 常用语法

LIKE操作符

mysql中利用like可以进行字符的模糊匹配,用于where语句中。

比如下表中,

MySQL 常用语法

 希望查找姓‘大‘的学生有哪些,我们可以用:

select * from students where name like ‘大%’;

得到结果如下:

MySQL 常用语法

通配符:

‘%‘:类似正则中的*,可以通配任意多个字符。‘大%’ 表示以‘大’开头的字段,‘%大’表示以‘大’结尾的字段,‘%大%’表示包含‘大’的字段。

‘_‘:通配一个字符。‘大_’ 表示以大开头且后面只有一个字符的字段。

escape:转义通配符,有时字符里包含%或者_,使用escape转义成普通字符。假设学生里有外国人,他们的first name和last name用下划线隔开,那么匹配名字带peng的,like语句写成这样:like ‘%/_peng‘ escape ‘/‘     表示 / 后的字符需要转义,这个用于指示位置的字符可以任取。

如果不加通配符,就是精确匹配。

同where一样,like也是不区分大小写的,如需区分like后加上binary。

UNION操作符

假如每个班学生的信息单独是一张表,一次查看多个班学生的信息,可以用union。union用于连接多个SELECT语句的结果组合到一个结果集合中。每个select的结果需要有相同的列。语法:

SELECT t1 FROM t1 UNION SELECT 列名称 FROM t2 ORDER BY 列名称;

union默认会去除重复元素,若希望保留重复数据,union后加上all关键词。

union两个表的列名可以不同,但数据类型必须相同,union结果集中的列名总是等于union中第一个 select 语句中的列名。

NULL处理

null代表着空,如果某条记录的某列为null,想匹配含null的记录,很自然会想到 where listname = NULL;但这个语法是错误的,null很特殊,因此mysql也提供了特殊的运算符针对null。

IS NULL:筛选该列为null的记录,如 where list1 is null;

IS NOT NULL:筛选不是null的记录。

NULL和空值

NULL表示不存在,空值即‘‘,两者不一样。空值可以用运算符<>=比较,而NULL用上述运算符比较。count()会统计空值,不会统计NULL。

 

MySQL 常用语法

上一篇:2020重新出发,MySql前瞻,数据库管理技术的发展阶段


下一篇:将JDBC ResultSet结果集转成List