首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL存储的字段是不区分大小写的,你知道吗?

00 简单回顾 之前写过一篇关于mysql 对表大小写敏感的问题(你有遇到过MySQL大小写敏感导致的问题吗),其实在mysql字段存储的内容是不区分大小写的,本篇进行简单的总结。...02 解决方案 因为默认情况下字段内容是不区分大小写的,也即大小写不敏感。所以解决方案就是要新增字段内容的校验规则。 使用mysql 的BINARY 关键字使搜索区分大小写。...这两种查看表的详情,本质上都是 在字段上 加上了 COLLATE utf8_bin。 03 总结 字段值的大小写mysql的校对规则来控制。提到校对规则,就不得不说字符集。...字符集是一套符号和编码,校对规则是在字符集内用于比较字符的一套规则。...通过上一篇和这一篇的内容,详细大家对mysql大小写敏感的问题也有一定的认识了,在实际的开发中,库和表名最好使用小写字母,注意字段存储内容的大写问题。

2.5K30

MYSQL 数据库时间字段 INT,TIMESTAMP,DATETIME 性能效率比较

原文 | http://1t.click/FAB 在数据库设计的时候,我们经常会需要设计时间字段,在 MYSQL 中,时间字段可以使用 int、timestamp、datetime 三种类型来存储,那么这三种类型哪一种用来存储时间性能比较高...d_timestamp)>400000 AND UNIX_TIMESTAMP(d_timestamp)<600000 查询花费 0.2944 秒 对于 timestamp 类型,有了索引,反倒不建议使用 MYSQL...d_datetime)>400000 AND UNIX_TIMESTAMP(d_datetime)<600000 查询花费 0.9994 秒 对于 datetime 类型,同样有了索引,反倒不建议使用 MYSQL...直接和时间比较)> UNIXTIMESTAMP(datetime) 。...一句话,对于 MyISAM 引擎,采用 UNIX_TIMESTAMP(timestamp) 比较;对于InnoDB 引擎,建立索引,采用 int 或 datetime直接时间比较

6.8K30

mysql密码字段类型_MySQL 字段类型

数值 MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。...万一我们需要对一个字段存储一个超出许可范围的数字,MySQL 会根据允许范围最接近它的一端截短后再进行存储。还有一个比较特别的地方是,MySQL 会在不合规定的值插入表前自动修改为 0。...当用于比较运算时,这个修饰符使 CHAR 以二进制方式参于运算,而不是以传统的区分大小写的方式。 CHAR 类型的一个变体是 VARCHAR 类型。...TEXT 和 BLOB 类型在分类和比较上存在区别。BLOB 类型区分大小写,而 TEXT 不区分大小写。大小修饰符不用于各种 BLOB 和 TEXT 子类型。...MySQL 还对日期的年份中的两个数字的值,或是 SQL 语句中为 YEAR 类型输入的两个数字进行最大限度的通译。因为所有 YEAR 类型的值必须用 4 个数字存储。

14.4K20

PostgreSQL 库,表,字段,值大小写的问题

需要测试的内容如下 1 数据库大小写 2 表名大小写 3 字段大小写 4 字段值得大小写 一些相关的大小写的函数以及数据的转换函数 let's go 1 数据库名的大小写 首先会建立三个数据库名字为...(你可以试试,结果是一样的,postgresql 在一个数据库中只能运行小写表名的存在) 当然如果你非要存储不同大小写的表名,PostgreSQL 也不是不可以,那就是需要加“” 双引号 最后我们来尝试一下字段名和字段值的问题...我们还是在test 数据库里面建立表,并且会在这个表里面建立三个字段 分表是 name Name NAME 并且在每个字段里面的值,也是和字段名的撰写方式一样。...在做到下面的时候,大家应该看到这个错误, 在一个表里面,的字段名也默认统一为小写。当然如果你不喜欢,还是可以建立你想建立的字段大小写,还是那样加“双引号”。...但又的同学说,没有办法,公司就是这样,那我们该怎么办 方法是有的,例如以生成的订单号为例,他必须是唯一的,但如果客户输入的时候,有的大写,有的小写,那岂不是要出现两个订单号了。

4K20

MySQL大小写敏感总结

MySQL中,数据库、表、triggers实际上都对应了datadir目录(或子目录)下的文件,因此,这些对象的名字是否大小写敏感主要是依赖于操作系统和文件系统的,因此这些内容在Windows中是大小写是不敏感的...=1(Windows default):大小写不敏感,MySQL将数据全部转化为小写形式存储在磁盘上,而且在查询的时候也是全部转化为小写进行比较; lower_case_table_names =2(...MAC OS X default):大小写不敏感,大多数引擎是将数据按照CREATE 语句中的定义存储在磁盘上(Innodb是小写存储),但是在查询的时候全部转化为小写进行比较;这种设置仅适用于大小写不敏感的操作系统...------+ | 1 | a | | 2 | A | +------+------+可以在字段name前加个binary,使其区分大小写MySQL root...MYSQL轻松学

3.5K40

mysql大小写踩坑

翻译过来大致 按大小写敏感存储表名 按小写形式存储表名 比较时不区分大小写大小写敏感存储表名 以小写字母进行比较 他们的默认值在不同系统下面有区分 MacOS2 Unix0 Windows1 然后注意...ubuntu下重启mysql服务不是mysqld而是mysql,下面是ubuntu的三种重启方式 # 重启服务 service mysql restart; # 重启系统服务 systemctl restart...mysql # 重启mysql,请确认路径 /etc/init.d/mysql restart 修改后可以用这三个sql查询是否生效 select @@lower_case_table_names;...中的表是按照大写表名去查,而我们此处配置的,并不是查询时忽略表名大小写,而是全部以小写表名去查询 因此配置了lower_case_table_names = 1后,大写表名用大写sql一律作废匹配不到...翻译过来就是说Linux或者其他类似Unix的系统,不支持设置为2[1],mysql服务端会强制使用0代替 那么这么多表名,一个一个改不是很麻烦?

1.5K20

忽略大小写比较字符串大小

一般我们用 strcmpstrcmp 可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按 ASCII 码值大小比较),直到出现不同的字符或遇到 \0 为止。...如果全部字符都相同,则认为相同;如果出现不相同的字符,则以第一个不相同的字符的比较结果为准。...但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如 Hello 和 hello 在忽略字母大小写时是相等的。 请写一个程序,实现对两个字符串进行忽略字母大小写的大小比较。...输入格式 输入为两行,每行一个字符串,共两个字符串。注意字符串中可能包含空格。 数据保证每个字符串的长度都不超过 8080。 输出格式 如果第一个字符串比第二个字符串小,输出一个字符 <。...如果两个字符串相等,输出一个字符 =。

1.2K20
领券