首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

修改MySQL varchar类型字段排序规则

记录一个在工作中遇到的问题,也不算是问题,为的是找一种简便的方法批量修改数据表字段排序规则,在MySQL中叫collation,常常和编码CHARACTER一起出现的。...collation有三种级别,分辨是数据库级别,数据表级别和字段级别。...网上搜到的解决办法,都提到了修改数据表级别collation排序规则。...但是我遇到的场景是数据表级别已经是utf8_unicode_ci,而字段级别是utf8_general_ci,(这里我们关心的字段类型是varchar)。...由于需要修改的字段太多了,手工修改肯定是费时费力的。自然也想到了用脚本的方式批量修改,但是发现这种通过查找MySQL信息表、过滤、拼接生成批量修改的语句太好用了,而且还能做到针对varchar类型。

4.6K30

MySQL 排序规则

排序规则是一组用于比较字符集中的字符的规则。 每个 MySQL 字符集可以支持一个或者多个排序规则,用于定义每个字符的比较规则,包括是否区分大小写,是否区分重音等。...这是MySQL内部使用的标识符。 Default:是否为默认排序规则。如果是默认排序规则,将显示“Yes”;否则,显示“”No”。 Compiled:是否已编译排序规则。...如果没有指定排序规则MySQL 会基于字符集设置一个默认的排序规则。...charset_name] [[DEFAULT] COLLATE collation_name] 同样,对于 CREATE TABLE 和 ALTER TABLE 语句,也可以为表或者字符类型的字段指定一个排序规则...4.查看排序规则 查看数据库的排序规则 您可以查询 information_schema 数据库的 SCHEMATA 视图来查看数据库的排序规则

39820
您找到你想要的搜索结果了吗?
是的
没有找到

MYSQL用法(十六) MySQL按指定字段自定义列表排序

一、 ORDER BY 排序 要求:按照字段IS_NEW_PROJ的降序、字段LOAN_APR的降序、字段GMT_BUY_START的升序排序 sql语句如下: SELECT b.PROJECT_ID...二、 ORDER BY FIELD排序(自定义排序规则) 要求:按照字段PROJECT_STATUS指定的顺序排序 sql语句如下: SELECT b.PROJECT_ID AS project_id...三、 ORDER BY FIELD排序升级(多条件组合排序) 要求:按照字段IS_NEW_PROJ降序、字段PROJECT_STATUS指定的顺序排、字段LOAN_APR降序、字段GMT_BUY_START...四、 ORDER BY 排序终极版(多条件组合排序+自定义排序) 要求:按照字段IS_NEW_PROJ降序、字段PROJECT_STATUS指定的顺序排序字段GMT_BUY_START降序、字段PROJECT_STATUS...指定的顺序排序 sql语句如下: SELECT b.PROJECT_ID AS project_id, b.PROJECT_TITLE AS project_title, b.PROJECT_STATUS

2.5K30

MySQL 批量修改所有表字段字符集及排序规则

Liscense过期,所以验证的时候,验证过期了,所以每次启动之后就core dump了,所以想着重新申请了License,替换下 Jira的证书是在数据表productlicense中LICENSE字段存储的...报错数据库排列规则不是推荐的,但其实并没有修改数据库排列规则,之前是可以用的,这都不重要,那就改吧 先查看一番数据库的排序规则 ? 确实不是utf8_bin,接着看下该库里面表中字段排序规则 ?...同样是utf8_general_ci,没办法,只能改了 数据库里面还有其他库在用,所以没办法直接全局修改数据库的排序规则,只能单独修改这个库的所有表的所有字段排序规则 查看了下这个库,有300多张表...接下来就简单了,将得到的命令执行就可以了,将上面的查询结果通过mysql -e或select info outfile导出为.sql文件之后,直接导入.sql文件即可 ?...导入完成后,再去查看原来表的排序规则 ? 修改完毕,下班回家

5.4K20

MySQL汇总排序查询

问题 两个要求: ①计算出来的字段销售总额保留两位小数; ②排序时,汇总不参与排序,放在最下面。...要求①实现一 case when 加汇总,但是orderby排序对所有行排序,汇总的销售金额最大一直在最上面 SELECT case when grouping(店铺名称)=1 then "汇总" else...GROUP BY `店铺名称` WITH ROLLUP ORDER BY if (店铺 = '汇总',1,0),销售总额 DESC 要求②实现二 Sql1 union sql2 union 相当于追加查询...,把两个查询结果拼接再一起 (select `店铺名称` ,round(sum(交易金额),2) AS 销售总额 from test group by `店铺名称` order by 销售总额...desc) union (select '汇总',round(sum(交易金额),2) AS 销售总额 from test) 友情链接:Mysql 数据分组&条件排序

2K20

mysql排序查询

进阶3:排序查询 以下面如图数据库为例编写排序查询案例 语法: select 查询列表 from 表名 【where 筛选条件】 order by 排序字段|表达式|函数|别名 【asc|desc...】; order by 特点: 1、asc代表的是升序,可以省略 desc代表的是降序 2、order by子句可以支持 单个字段、别名、表达式、函数、多个字段 3、order by子句在查询语句的最后面...,除了limit子句 1、按单个字段排序 案例1:查询员工信息,要求工资从高到低排序 SELECT * FROM employees ORDER BY salary DESC; 升序可以默认不加 asc...SELECT * FROM employees ORDER BY salary; 2、添加筛选条件再排序 案例1:查询部门编号>=90的员工信息,并按员工编号降序 SELECT * FROM employees...(last_name) DESC; 6、按多个字段排序 案例1:查询员工信息,要求先按工资降序,再按employee_id升序 SELECT * FROM employees ORDER BY salary

1.7K00

mysql排序查询

文章目录 进阶3:排序查询 特点: 1、按单个字段排序 案例1:查询员工信息,要求工资从高到低排序 2、添加筛选条件再排序 案例1:查询部门编号>=90的员工信息,并按员工编号降序 案例2:查询部门编号...查询员工名,并且按名字的长度降序 6、按多个字段排序 案例1:查询员工信息,要求先按工资降序,再按employee_id升序 进阶3:排序查询 以下面如图数据库为例编写排序查询案例 ?...语法: select 查询列表 from 表名 【where 筛选条件】 order by 排序字段|表达式|函数|别名 【asc|desc】; order by 特点: 1、asc代表的是升序,...可以省略 desc代表的是降序 2、order by子句可以支持 单个字段、别名、表达式、函数、多个字段 3、order by子句在查询语句的最后面,除了limit子句 1、按单个字段排序 案例...6、按多个字段排序 案例1:查询员工信息,要求先按工资降序,再按employee_id升序 SELECT * FROM employees ORDER BY salary DESC,employee_id

2K30

mysql中多表嵌套查询例子_mysql查询嵌套规则

本文实例分析了MySQL嵌套查询。...分享给大家供大家参考,具体如下: MySQl从4.11版后已经完全支持嵌套查询了,那么下面举些简单的嵌套查询的例子吧(源程序来自MySQL User Manual): 1....我们知道下面语句是不会得到正确结果的,因为对经过Group by排序的集合进行求均值是不能得到正确答案的: 代码如下: SELECT AVG(SUM(column1)) FROM t1 GROUP BY...您可能感兴趣的文章:MYSQL查询和嵌套查询优化实例解析 MySQL查询的几种常见形式介绍 mysql关联子查询的一种优化方法分析 PHP中实现MySQL嵌套事务的两种解决方案 mysql嵌套查询和联表查询优化方法...详解MySQL查询(嵌套查询)、联结表、组合查询 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

3.3K30

通过匿名函数和验证规则自定义 Laravel 字段验证规则

Laravel 验证器的强大之处不仅在于提供前面提到的多种请求验证方式,以及非常丰富的字段验证规则(不同规则可以组合形成新的验证规则),从 5.5 版本开始,还支持自定义字段验证规则。...通过匿名函数实现自定义规则 我们先演示下如何在控制器方法中调用 $this->validate() 时自定义验证规则,以 title 字段为例,除了系统提供的字段验证规则之外,有时候我们还会禁止用户输入包含敏感词的字段...,请输入有效的URL', 'url.max' => 'URL长度不能超过200', ]); 要为某个字段自定义验证规则,原来通过 | 分隔多个规则的组合规则字符串已经实现不了了,需要将其改成数组的方式...,然后将自定义规则以匿名函数的方式添加到数组最后,如上面的代码所示,该匿名函数第一个参数是字段名,第二个参数是字段值,第三个参数是校验失败用于返回的函数名。...,所以将字段名通过 :attribute 动态注入: public function message() { return ':attribute输入字段中包含敏感词'; } 最后,将自定义验证规则的匿名函数修改为实例化自定义规则类即可

2.8K20

MySQL order by的不同排序规则

explain语句执行的结果中,Extra项中含有Using filesort表示需要排序MySQL会给每个线程分配一块内存用于排序,称为sort_buffer。...全字段排序字段排序在内存中进行,不涉及磁盘IO、不需要回表操作,但数据量受内存大小影响,有局限性。 语句执行流程: 初始化sort_buffer,将需要查询字段放入sort_buffer。...将主键id索引取出整行,取查询出的字段值放入sort_buffer。 取下一个满足where条件的主键id。 重复步骤3、4,直到不满足where条件。...当排序字段较多时,内存可放下的行数很少,需要分成很多个临时文件,排序性能很差,即MySQL认为排序的单行长度太大会使用rowid排序。...语句执行流程: 初始化sort_buffer,将需要查询字段放入sort_buffer。 逐行或从索引中找到满足where条件的主键id。

29840
领券