如何将mysql的表名和列名转换为大写

如何将mysql的表名和列名转换为大写,第1张

刚开始使用 mysql 的时候,刚开始是想要区分列名大小写的问题,在网上看到很多办法, 于是就 1、 linux 下 mysql 安装完后是默认:区分表名的大小写,不区分列名的大小写; 2、 2、 root 帐号登录后, 用 在/etc/my.cnf 中的[mysqld]后添加添加 lower_case_table_names=1, 重启 MYSQL 服务,这时已设置成功:不区分表名的大小写; lower_case_table_names 参数详解: lower_case_table_names = 0 其中 0:区分大小写,1:不区分大小写 MySQL 在 Linux 下数据库名、表名、列名、别名大小写规则是这样的: 1、数据库名与表名是严格区分大小写的; 2、表的别名是严格区分大小写的; 3、列名与列的别名在所有的情况下均是忽略大小写的; 4、变量名也是严格区分大小写的; MySQL 在 Windows 下都不区分大小写。 在 my.ini 中的[mysqld]后添加添加 lower_case_table_names=1,重启 MYSQL 服务, 这时已设置成功:不区分表名的大小写; lower_case_table_names 参数详解: lower_case_table_names = 0 其中 0:区分大小写,1:不区分大小写 3、如果想在查询时区分字段值的大小写,则:字段值需要设置 BINARY 属性,设置的方 法有多种: A、 创建时设置: CREATE TABLE T( A VARCHAR(10) BINARY )B、 使用 alter 修改: ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARYC、mysql table editor 中直接勾选 BINARY 项。 乱码解决,更详细的看下字符集设置这篇 在[mysqld] 下增加下句 default-character-set=utf8 但是经过本人的实践之后如果按此方法修改后表名的区分大小写指的是你创建一 个表之后,它保留你创建时候的表名的原貌,但是在系统后台存储的时候此表是不 区分大小写的,也就是说在创建一个表名仅大小写不一样的表是不可以的。 例如在修改为表名区分大小写之后,也就是 lower_case_table_names = 0 (不管是在哪个系 统下)在 mysql 命令行界面下输入 CREATE TABLE TEST ( Id int not null primary key, Name varchar not null )之后你执行 show tables会包含一个 TEST 表,表名保留原来的大小写, 你如果输入 show tables like ‘t%’;是查不到这个新建的表的; 之后你在创建另外一个表, CREATE TABLE test ( Id int not null primary key, Name varchar not null )系统会提示你,表 test 已经存在,不允许创建。

在插入表的时候使用mysql函数强制转成小写即可:MySQL字符串大小写转换需要用到MySQL字符串大小写转换函数,MySQL 字符串大小写转化函数有两对: lower()和 lcase(), uppper() 和 ucase():mysql>select lower('DDD') +--------------+ | lower('DDD') | +--------------+ | ddd | +--------------+ mysql>select lcase('DDD') +--------------+ | lcase('DDD') | +--------------+ | ddd | +--------------+

使用mysql的时候,创建的表明都是大写的,但是查询语句中表明用消息就会报错,表不存在。

查询后发现mysql默认配置是表明区分大小写的,如果要修改成不区分大小写,需要修改一下配置。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/6131088.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-15
下一篇2023-03-15

发表评论

登录后才能评论

评论列表(0条)

    保存