发布于 2016-03-31 07:44:20 | 246 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的Mysql教程,程序狗速度看过来!

Mysql关系型数据库管理系统

MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。


这篇文章主要介绍了Mysql字符串字段判断是否包含某个字符串的2种方法,本文使用Like和find_in_set两种方法实现,需要的朋友可以参考下

假设有个表:



CREATE TABLE users(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),user_name VARCHAR(20) NOT NULL,emails VARCHAR(50) NOT NULL);

初始化表,并添加些记录。 



truncate table users

INSERT INTO users(user_name, emails) VALUES('小张','a@email.com,b@email.com,c@email.com');

INSERT INTO users(user_name, emails) VALUES('小王','aa@email.com,bb@email.com,cc@email.com');

  

Mysql 中有些字段是字符串类型的,如何查找其中包含某些字符的记录呢?

方法一:



SELECT * FROM users WHERE emails like "%b@email.com%";

这样bb@email.com的用户也查出来了,不符合预期。

方法二:

利用mysql 字符串函数 find_in_set();



SELECT * FROM users WHERE find_in_set('aa@email.com', emails);

  

这样是可以的,怎么理解呢?

mysql有很多字符串函数 find_in_set(str1,str2)函数是返回str2中str1所在的位置索引,str2必须以","分割开。

e.g.



mysql > SELECT find_in_set()('b','a,a,b,c,d') as test;

-> 3



相关阅读 :
Mysql字符串字段判断是否包含某个字符串的2种方法
MySQL时间字段究竟使用INT还是DateTime的说明
Mysql 取字段值逗号第一个数据的查询语句
MySQL创建新用户、增加账户的2种方法及使用实例
查看mysql语句运行时间的2种方法
批量替换 MySQL 指定字段中的字符串
浅谈mysql中concat函数,mysql在字段前/后增加字符串
MySQL新增字段、修改字段位置和查询存储过程的SQL代码
mysql 一个字段存多个id,关联查询
mysql 将字段time按天/月/年分组
MySQL中字段名和保留字冲突的解决办法
mysql 某字段插入随机数(插入随机数到MySQL数据库)
最新网友评论  共有(0)条评论 发布评论 返回顶部
月排行榜

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务