The_first_article_of_the_CSDN

MySQL

A piece of cake(讽刺下自己)

NNN年前记的潦草笔记,今天翻到,竟然不知道自己在写什么。查了一下,才知道个大概,好吧,就是常用于建表来指定字段/表/库排序的规则,用得少,不想看,丢了丢了,哈哈哈哈,第一天发奋好好好学习就想丢了,为了我的男神,还是捡起来吧捡起来吧,摘录几个运用做总结吧。

先申明参考链接为:https://www.jianshu.com/p/f8707b8461d3

运用:
1、库级别设置COLLATE的语句如下:

CREATE DATABASE <db_name> DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

2、表级别的COLLATE设置,则是在CREATE TABLE的时候加上相关设置语句,例如:

CREATE TABLE (
……
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

3、列级别的设置,则在CREATE TABLE中声明列的时候指定,例如

CREATE TABLE (
‘field1’ VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT ‘’,……
) ……

4、写SQL查询的时候显示声明COLLATE来覆盖任何库表列的COLLATE设置:

SELECT DISTINCT field1 COLLATE utf8mb4_general_ci FROM table1;

SELECT field1, field2 FROM table1 ORDER BY field1 COLLATE utf8mb4_unicode_ci;


  • 如果表级别没有设置CHARSET和COLLATE,则表级别会继承库级别的CHARSET与COLLATE。
  • 优先级顺序是 SQL语句 > 列级别设置 > 表级别设置 > 库级别设置 > 实例级别设置
  • 哈哈哈哈,看下面大佬的吧

参考大佬文章

Written years ago ,very ugly

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值