NULL 值和正则表达式

NULL 值的处理

  • IS NULL: 当列的值是 NULL,此运算符返回 true。
  • IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。

在创建表字段的时候 我们可以设置某一列是否允许为null

insert into post(title) values('111111'),('222222');Code language: JavaScript (javascript)
mysql> select * from post where content is null;
+----+--------+---------+---------+
| id | title  | content | addtime |
+----+--------+---------+---------+
|  8 | 111111 | NULL    | NULL    |
|  9 | 222222 | NULL    | NULL    |
+----+--------+---------+---------+
2 rows in set (0.00 sec)

mysql> select * from post where content is not null;Code language: PHP (php)

MySQL 使用正则表达式

MySQL可以通过 LIKE …% 来进行模糊匹配

MySQL 同样也支持其他正则表达式的匹配, MySQL中使用 REGEXP 操作符来进行正则表达式匹配

了解以上的正则需求后,我们就可以根据自己的需求来编写带有正则表达式的SQL语句。以下我们将列出几个小实例(表名:person_tbl )来加深我们的理解:

查找name字段中以’st’为开头的所有数据:

SELECT name FROM person_tbl WHERE name REGEXP '^st';Code language: JavaScript (javascript)

查找name字段中以’ok’为结尾的所有数据:

SELECT name FROM person_tbl WHERE name REGEXP 'ok$';Code language: JavaScript (javascript)

查找name字段中包含’mar’字符串的所有数据:

SELECT name FROM person_tbl WHERE name REGEXP 'mar';Code language: JavaScript (javascript)

查找name字段中以元音字符开头或以’ok’字符串结尾的所有数据:

SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';Code language: JavaScript (javascript)
mysql> select * from post where title regexp '^有';
+----+------------------+---------------------+---------------------+
| id | title            | content             | addtime             |
+----+------------------+---------------------+---------------------+
|  1 | 有没有人是背景的               | 我在背景 谁去看电影               | 2018-04-25 14:14:37 |
+----+------------------+---------------------+---------------------+
1 row in set (0.00 sec)

select * from post where title regexp '广州$';Code language: JavaScript (javascript)
Previous:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注