mysql学习--mysql必知必会1



如下为mysql必知必会第九章开始:

 

正则表达式用于匹配特殊的字符集合。mysql通过where子句对正则表达式提供初步的支持。

关键字regexp用来表示后面跟的东西作为正则表达式处理。

(.)是正则表达式的一个符号,表示匹配任意一个字符:

mysql> select prod_name
    -> from products
    -> where prod_name regexp '.000'
    -> order by prod_name;
+--------------+
| prod_name    |
+--------------+
| JetPack 1000 |
| JetPack 2000 |
+--------------+
2 rows in set (0.14 sec)

 

|匹配符:

表示匹配其中之一

mysql> select prod_name
    -> from products
    -> where prod_name REGEXP '1000|2000'
    -> ORDER BY prod_name;
+--------------+
| prod_name    |
+--------------+
| JetPack 1000 |
| JetPack 2000 |
+--------------+
2 rows in set (0.00 sec)


[]匹配符: 匹配几个字符之一

2 rows in set (0.00 sec)

mysql> select prod_name
    -> from products
    -> where prod_name regexp '[123] Ton'
    -> ;
+-------------+
| prod_name   |
+-------------+
| 1 ton anvil |
| 2 ton anvil |
+-------------+
2 rows in set (0.00 sec)
mysql> select prod_name from products where prod_name regexp '[1-5] Ton';
+--------------+
| prod_name    |
+--------------+
| .5 ton anvil |
| 1 ton anvil  |
| 2 ton anvil  |
+--------------+
3 rows in set (0.02 sec)


(^)否定匹配符:

mysql> select prod_name from products where prod_name regexp '[^1-3] Ton';
+--------------+
| prod_name    |
+--------------+
| .5 ton anvil |
+--------------+
1 row in set (0.00 sec)

 

 


匹配特殊字符,必须用\\为前导。

mysql> select prod_name from products where prod_name regexp '\\.' ;
+--------------+
| prod_name    |
+--------------+
| .5 ton anvil |
+--------------+
1 row in set (0.00 sec)


匹配字符类:

 

mysql> select prod_name from products where prod_name REGEXP '\\([0-9] sticks?\\)' order by prod_name;
+----------------+
| prod_name      |
+----------------+
| TNT (1 stick)  |
| TNT (5 sticks) |
+----------------+
2 rows in set (0.05 sec)

mysql> select prod_name from products where prod_name REGEXP '[[:digit:]]{4}' order by prod_name;
+--------------+
| prod_name    |
+--------------+
| JetPack 1000 |
| JetPack 2000 |
+--------------+
2 rows in set (0.00 sec)


 

定位符用法:

mysql> select prod_name
    -> from products
    -> where prod_name REGEXP '^[0-9\\.]'
    -> order by prod_name;
+--------------+
| prod_name    |
+--------------+
| .5 ton anvil |
| 1 ton anvil  |
| 2 ton anvil  |
+--------------+
3 rows in set (0.00 sec)


以上都是mysql正则表达式的用法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值