首页 > 数据库 >mysql 查询

mysql 查询

时间:2024-07-15 10:44:24浏览次数:14  
标签:字符 set url 查询 mysql where select

它的别名是 position in select * from 表名 where locate(字符,字段) select * from 表名 where position(字符 in 字段);

例子:判断site表中的url是否包含'http://'子串,如果不包含则拼接在url字符串开头 update site set url =concat('http://',url) where locate('http://',url)=0

注意mysql中字符串的拼接不能使用加号+,用concat函数。

通过sql查询语句,查询某个字段中包含特定字符串,有下面4种方式:

select * from e_book where types like "%3%";
select * from e_book where find_in_set('3', types);
select * from e_book where locate('3', types);
select * from e_book where INSTR(types,'3');

第2、3中方式相对速度较快。

方法一  like

SELECT * FROM 表名 WHERE 字段名 like "%字符%";


方法二 find_in_set();

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

SELECT * FROM users WHERE find_in_set('字符', 字段名); mysql有很多字符串函数 find_in_set(str1,str2)函数是返回str2中str1所在的位置索引,str2必须以","分割开。 注:当str2为NO1:“3,6,13,24,33,36”,NO2:“13,33,36,39”时,判断两个数据中str2字段是否包含‘3’

mysql > SELECT find_in_set()('3','3,6,13,24,33,36') as test; -> 1 mysql > SELECT find_in_set()('3','13,33,36,39') as test; -> 0


方法三  locate(字符,字段名)

使用locate(字符,字段名)函数,如果包含,返回>0的数,否则返回0 ,

它的别名是 position in select * from 表名 where locate(字符,字段) select * from 表名 where position(字符 in 字段);

例子:判断site表中的url是否包含'http://'子串,如果不包含则拼接在url字符串开头 update site set url =concat('http://',url) where locate('http://',url)=0

注意mysql中字符串的拼接不能使用加号+,用concat函数。


方法四 fINSTR(字段,字符);
select * from 表名 where INSTR(字段,字符)

标签:字符,set,url,查询,mysql,where,select
From: https://www.cnblogs.com/pxuan/p/18302675

相关文章

  • MySQL - [17] Oracle、SQLServer、MySQL数据类型对比
    题记部分 一、数据类型对比对应关系(1)整数类型Oracle的NUMBER(*,0)对应SQLServer的INT和MySQL的INTOracle的BIGINT可能需要映射到SQLServer的BIGINT和MySQL的BIGINT(2)浮点数类型Oracle的BINARY_FLOAT/BINARY_DOUBLE对应SQLServer的FLOAT和MySQL......
  • sqlalchemy 递归查询
    背景:有个一个组织机构.并没有设计父级id,只有id,title,nature三个字段,nature=1/2/3/4分别表示级几级单位;现在要模糊查询本级,上级,上上级,上上上级的title中包含特定字符的记录;使用sqlalchemy递归查询,下面代码没调试,不保证运行,主要看思路;deffind_orgs_wit......
  • MySQL操作大全
    目录文章目录目录@[toc]基础操作基本命令1、用命令登录MySql2、查看MySql版本3、显示数据库列表创建数据库4、选择数据库5、显示库中的数据表6、显示数据表的结构7、导出数据8、导入数据9、创建用户10、用户授权11、事件11.1、查看事件是否开启......
  • MySQL8.0.33 主主复制高可用部署
    一、服务器规划1.1服务器详情主机名IP配置备注MySQLMasterVIP10.0.0.10虚拟IP跳转MySQL连接地址MySQLMaster0110.0.0.112H4GMySQLMaster0210.0.0.122H4G1.2修改主机名##修改各主机的主机名如:10.0.0.11服务器[root@localhost~]#hostnamectlset-hostnamemysqlmas......
  • 运维系列:拒绝用户‘root‘@‘172.17.0.1‘访问在本地Docker容器中运行的mysql数据库
    拒绝用户'root'@'172.17.0.1‘访问在本地Docker容器中运行的mysql数据库拒绝用户'root'@'172.17.0.1‘访问在本地Docker容器中运行的mysql数据库问题:答案:拒绝用户’root’@'172.17.0.1‘访问在本地Docker容器中运行的mysql数据库问题:我正在尝试连接到在本地Dock......
  • mysql不支持bool类型需要使用int表示
    typeCoreAutoTaskstruct{IDuint`gorm:"primary_key;AUTO_INCREMENT"json:"id"`SourceIdstring`gorm:"type:varchar(200);notnull;index:source_idx"json:"source_id"`DataBasestring`gorm:"......
  • MySQL存储引擎的选择:深入解析与策略
    MySQL数据库管理系统之所以强大,部分原因在于它提供了多种存储引擎,每种引擎都针对特定的应用场景进行了优化。尽管MySQL支持多种存储引擎,但其中最常用且值得深入探讨的无疑是MyISAM、InnoDB以及MEMORY(HEAP)这三种。每种存储引擎都有其独特的优缺点,合理选择能够显著提升数据库的性......
  • mysql面试2
                   ......
  • MySQL面试题
    基础篇InnoDB和MyISAM有什么区别?InnoDB支持事务、外键和行锁MyISAM不支持事务、外键和行锁,仅支持表锁;InnoDB不仅缓存索引还缓存真实的数据,MyISAM仅缓存索引,不缓存真实数据;InnoDB中有聚簇索引和非聚簇索引,MyISAM中仅存在非聚簇索引;InnoDB的索引和数据存储在同......
  • 构建与查询并行:Kylin Cube构建时的查询能力解析
    构建与查询并行:KylinCube构建时的查询能力解析ApacheKylin作为领先的大数据分析平台,其核心优势之一就是快速的查询响应能力,这得益于其独特的数据立方体(Cube)技术。Cube是预先计算和存储的多维数据集,能够极大加速查询过程。本文将深入探讨一个关键问题:在Kylin的Cube构建过......