mysql函数

Mysql中文检索匹配与正则

血红的双手。 提交于 2020-03-19 02:51:10
今天在用sql模糊查询包含字母d的时候,发现一些不包含此字母的也被查询出来了: SELECT * FROM custom WHERE custom_realname LIKE '%d%' 查询了一下,发现以下说明: (最后修改为: SELECT * FROM custom WHERE custom_realname LIKE BINARY '%d%' ) 今天在做mysql的一个搜索的时候发现我用 select name from contact where name like '%a%'的时候出来的结果除了包含a的名字外连包含中文“新”的名字也出现在搜索结果里面,这令我想弄清楚mysql的匹配模式和规则到底是怎么样的,所以决定查查资料了解了解,另外在匹配的时候正则表达式也很常用!所以准备在这里记录我学习这两个玩意的收获! 出现这个问题的原因是:MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象。 解决办法: 1 .在建表的时候对于包含中文的字段加上“BINARY”属性,使之进行二进制比较,例如讲"name char(10)"改成"name char(10) BINARY"。但是这样你对该表的该字段进行匹配的时候是区分大小写的。 2 .如果使用源码编译MySQL

MySQL正则表达式 REGEXP详解

て烟熏妆下的殇ゞ 提交于 2020-03-19 02:50:14
在开始这个话题之前我们首先来做一个小实验,比较一下REGEXP和Like他们两个哪个效率高,如果效率太低,我们就没有必要做过多的研究了,实验的代码如下: <?php Require("config.php"); //函数:计时函数 //用法:Echo Runtime(1); Function Runtime($mode=0){ Static $s; IF(!$mode){ $s=microtime(); Return; } $e=microtime(); $s=Explode(" ", $s); $e=Explode(" ", $e); Return Sprintf("%.2f ms",($e[1]+$e[0]-$s[1]-$s[0])*1000); } //以下測試結果為2300 ms至2330 ms之間 For($i=0;$i<10000;$i++){ $Rs=$Mysql->Get("SELECT * FROM `hotel` where address REGEXP '^連江縣|桃園市'"); } //以下測試結果為2300 ms至2330 ms之間 For($i=0;$i<10000;$i++){ $Rs=$Mysql->Get("SELECT * FROM `hotel` where address like '連江縣%' or address like '%桃園市%'



MySQL正则表达式 REGEXP详解

社会主义新天地 提交于 2020-03-19 02:49:59
在开始这个话题之前我们首先来做一个小实验,比较一下REGEXP和Like他们两个哪个效率高,如果效率太低,我们就没有必要做过多的研究了,实验的代码如下: <?php Require("config.php"); //函数:计时函数 //用法:Echo Runtime(1); Function Runtime($mode=0){ Static $s; IF(!$mode){ $s=microtime(); Return; } $e=microtime(); $s=Explode(" ", $s); $e=Explode(" ", $e); Return Sprintf("%.2f ms",($e[1]+$e[0]-$s[1]-$s[0])*1000); } //以下測試結果為2300 ms至2330 ms之間 For($i=0;$i<10000;$i++){ $Rs=$Mysql->Get("SELECT * FROM `hotel` where address REGEXP '^連江縣|桃園市'"); } //以下測試結果為2300 ms至2330 ms之間 For($i=0;$i<10000;$i++){ $Rs=$Mysql->Get("SELECT * FROM `hotel` where address like '連江縣%' or address like '%桃園市%'

mysql数值类型总结及常用函数

老子叫甜甜 提交于 2020-03-19 02:45:33
最近在学习下,总结一下mysql数值类型; mysql字符类型分: 1、整数类型: 字节 值范围 INTERGER 1 -127-128 SMALLINT 2 MEDIUMINT 3 INT、INTERGER 4 DECIMAL NUMERIC 2、浮点数类型 FLOAT DOUBLE 3、定点类型 DEC(M,D) DECIMAL(M,D) 4、位类型 BIT(M) 常用数值函数: ABS (x) 返回X的绝对值 CEIL(x) 返回大于x的最小整数值 FLOOR(x)返回小于x的最大整数值 MOD(x,y) 返回x/y的余数 RAND() 返回0-1内的随机值 ROUND(x,y),返回参数x的四舍五入的又y位小数的值 TRUNCATE(x,y) 返回数字x截断为y位小数的结果 来源: https://www.cnblogs.com/xiaopaipai/p/8533589.html

MySQL常用数值函数

折月煮酒 提交于 2020-03-19 00:56:26
数值函数:   用来处理很多数值方面的运算,使用数值函数,可以免去很多繁杂的判断求值的过程,能够大大提高用户的工作效率。 1、ABS(x):返回 x 的绝对值 mysql> select abs(-0.8),abs(0.8); +-----------+----------+ | abs(-0.8) | abs(0.8) | +-----------+----------+ | 0.8 | 0.8 | +-----------+----------+ 2、CEIL(x):返回不小于 x 的最小整数,也就是说得大于或等于x的最小整数   同义词:ceiling(x) mysql> select ceil(1); +---------+ | ceil(1) | +---------+ | 1 | +---------+ mysql> select ceil(1.23),ceiling(-1.23); +------------+----------------+ | ceil(1.23) | ceiling(-1.23) | +------------+----------------+ | 2 | -1 | +------------+----------------+ 3、FLOOR(x):返回不大于 x 的最大整数(与CEIL的用法刚好相反) mysql> select

MySQL中的数值函数

谁说我不能喝 提交于 2020-03-19 00:54:31
常用数值函数 函 数 功 能 ABS(x) 返回数值x的绝对值 CEIL(x) 返回大于或等于x的最小整数值 FLOOR(x) 返回小于或等于x的最大整数值 MOD(x,y) 返回x除以y的余数 RAND() 返回0~1内的随机数 ROUND(x,y) 返回x四舍五入后有y位小数的数值 TRUNCATE(x,y) 返回数值x且截断为y位小数的数值 1、获取随机数 rand()函数返回一个数完全是随机的,rand(x)函数返回的随机数值是相同的。 2、获取整数的函数 CEIL(x); 返回大于或等于数值x的最小整数。 FLOOR(x); 返回小于或等于数值x的最大整数。 3、截取数值函数 ROUND(x); 返回函数经过四舍五入操作后的数值。 ROUND(x,y); 返回数值x保留小数点后y位的值,在具体截取时进行四舍五入。 TRUNCATE(x,y); 返回数值x保留到小数点后y位的值。 来源: https://www.cnblogs.com/alphajuns/p/9908440.html

MySQL数值函数

萝らか妹 提交于 2020-03-19 00:54:16
ABS(x)函数 返回x的绝对值 CEIL(x)函数 返回大于x的最小整数 FLOOR(x)函数 返回小于x的最大整数 MOD(x,y)函数 返回x/y的模,和x%y的结果相同,模数和被模数任何一个为NULL结果都为NULL; RAND()函数 返回0~1内的随机值 利用此函数可以取任意指定范围内的随机数。 ROUND(x,y)函数 返回参数x的四舍五入的有y位小数的值 如果x是整数,将会保留y为0,;如果不写y,则默认y为0,即将x四舍五入后取整。适合于将所有数字保留同样小数位的情况。 TRUNCATE(x,y)函数 返回数字x截断为y位小数的结果 来源: https://www.cnblogs.com/aotemanzhifu/p/9192399.html

mysql基础篇 - SELECT 语句详解

烂漫一生 提交于 2020-03-19 00:53:26
基础篇 - SELECT 语句详解 SELECT语句详解 一、实验简介 SQL 中最常用的 SELECT 语句,用来在表中选取数据,本节实验中将通过一系列的动手操作详细学习 SELECT 语句的用法。 二、实验准备 在正式开始本实验内容之前,需要先下载相关数据库表,搭建好一个名为 mysql_shiyan 的数据库(有三张表:department,employee,project),并向其中插入数据。 具体操作如下,首先输入命令进入 /home/shiyanlou/Desktop 目录: cd /home/shiyanlou/Desktop 然后再输入命令,下载代码: git clone http://git.shiyanlou.com/shiyanlou/SQL4 下载完成后,输入命令开启 MySQL 服务并使用 root 用户登录: #打开 MySQL 服务 sudo service mysql start #使用 root 用户登录 mysql -u root 刚才下载的 SQL4 目录下,有个两文件 MySQL-04-01.sql 和 MySQL-04-02.sql ,其中第一个文件用于创建数据库,第二个文件向数据库中插入数据。 (SQL4目录在桌面上,你可以用Gedit查看里面两个的文件。) 加载文件中的数据,需要在 MySQL 控制台中输入命令,搭建数据库:

PHP实现统计在线人数的方法

大城市里の小女人 提交于 2020-03-18 17:45:06
PHP对session对象的封装的很好,根据HTTP协议,每个范围网站的访客都可以生成一个唯一的标识符 echo session_id(); //6ed364143f076d136f404ed93c034201<br />    这个就是统计在线人数的关键所在,只有有这个session_id 也就可以区分访问的人了。因为每一个人都不同。 接下来,是怎么把session变量里面的值存到数据库里面去,这里有将介绍另一个函数 bool session_set_save_handler ( callable $open , callable $close , callable $read , callable $write , callable$destroy , callable $gc ) //callable 可随时支取的,请求即付的,随时可偿还的 // open(string $savePath, string $sessionName) 打开连接 //close() 关闭连接 //read(string $sessionId) 对出数据 //write(string $sessionId, string $data) //写入数据 //destroy($sessionId) //删除数据 //gc($lifetime) //垃圾回收函数    注意,上面有几个函数是有参数传入的

mysql基础教程(四)-----事务、视图、存储过程和函数、流程控制

心不动则不痛 提交于 2020-03-18 13:54:59
事务 概念 事务由单独单元的一个或多个SQL语句组成,在这 个单元中,每个MySQL语句是相互依赖的。 而整个单独单 元作为一个不可分割的整体,如果单元中某条SQL语句一 旦执行失败或产生错误,整个单元将会回滚。所有受到影 响的数据将返回到事物开始以前的状态;如果单元中的所 有SQL语句均执行成功,则事物被顺利执行。 存储引擎 概念 在mysql中的数据用各种不同的技术存储 在文件(或内存)中。 查看 通过 show engines; 来查看mysql支持的存储引擎。 常见引擎 在mysql中用的最多的存储引擎有:innodb, myisam ,memory 等。其中innodb支持事务,而 myisam、memory等不支持事务。 事务特点 事务的ACID(acid)属性 1. 原子性(Atomicity) 原子性是指事务是一个不可分割的工作单位,事务中的操作要么 都发生,要么都不发生。 2. 一致性(Consistency) 事务必须使数据库从一个一致性状态变换到另外一个一致性状态 。 3. 隔离性(Isolation) 事务的隔离性是指一个事务的执行不能被其他事务干扰,即一个 事务内部的操作及使用的数据对并发的其他事务是隔离的,并发 执行的各个事务之间不能互相干扰。 4. 持久性(Durability) 持久性是指一个事务一旦被提交,它对数据库中数据的改变就是 永久性的