MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:

  1、数据库名与表名是严格区分大小写的;

  2、表的别名是严格区分大小写的;

  3、列名与列的别名在所有的情况下均是忽略大小写的;

  4、变量名也是严格区分大小写的;

  MySQL在Windows下都不区分大小写。

  所以在不同操作系统中为了能使程序和数据库都能正常运行,最好的办法是在设计的时候都转为小写,但是如果在设计的时候已经规范化大小写了,那么在Windows环境下只要对数据库的配置做下改动就行了,具体操作如下:

  在MySQL的配置文件中my.ini [mysqld] 中增加一行

  lower_case_table_names = 1

  参数解释:

  0:区分大小写

  1:不区分大小写

在 MySQL 中,数据库和表对就于那些目录下的目录和文件。因而,操作系统的敏感性决定数据库和表命名的大小写敏感。这就意味着数据库和表名在 Windows 中是大小写不敏感的,而在大多数类型的 Unix 系统中是大小写敏感的。

奇怪的是列名与列的别名在所有的情况下均是忽略大小写的,而表的别名又是区分大小写的。

要避免这个问题,你最好在定义数据库命名规则的时候就全部采用小写字母加下划线的组合,而不使用任何的大写字母。

或者也可以强制以 -O lower_case_table_names=1 参数启动 mysqld(如果使用 --defaults-file=...\my.cnf 参数来读取指定的配置文件启动 mysqld 的话,你需要在配置文件的 [mysqld] 区段下增加一行 lower_case_table_names=1)。这样MySQL 将在创建与查找时将所有的表名自动转换为小写字符(这个选项缺省地在 Windows 中为 1 ,在 Unix 中为 0。从 MySQL 4.0.2 开始,这个选项同样适用于数据库名)。

当你更改这个选项时,你必须在启动 mysqld 前首先将老的表名转换为小写字母。

换句话说,如果你希望在数据库里面创建表的时候保留大小写字符状态,则应该把这个参数置0: lower_case_table_names=1 。否则的话你会发现同样的sqldump脚本在不同的操作系统下最终导入的结果不一样(在Windows下所有的大写字符都变成小写了)。

转载于:https://www.cnblogs.com/50614090/archive/2011/07/25/2116330.html

MySQL数据库表名、列名、别名区分大小写的问题相关推荐

  1. mysql 表名批量转大写_(转)mysql数据库表名批量修改大小写

    由于不用服务器对mysql的表名的大小写敏感要求不一致,经常在出现线上的数据库down到了本地不能运行的情况,贴出一段代码用来批量修改数据库表名大小写. DELIMITER // DROP PROCE ...

  2. mysql 修改 表名 列名 为小写

    表名 改为 小写 SELECT     CONCAT( 'ALTER TABLE ', table_name, ' RENAME ', LOWER( table_name ), ";&quo ...

  3. mysql数据库表名大小写敏感_Mysql数据库名和表名的大小写敏感性问题

    导读:一直以来,Mysql数据库名和表名的大小写都是个敏感的问题,困扰着Mysql数据库管理员.在 MySQL 中,数据库和表对应于那些目录下的目录和文件.因而,操作系统的敏感性决定数据库和表命名的大 ...

  4. 获取mysql数据库表名、表头信息

    1.查询mysql数据库所有的表名 SELECT TABLE_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '库名' -- 例: ...

  5. mysql数据库表名批量改为小写,MySQL 批量修改表名

    2018-12-04 15:33:19 CocoaPods安装和使用教程 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等.可能某个类库又用到其他 ...

  6. mysql 吧库下的表名都加_mysql数据库表名大小写问题

    mysql数据库表名大小写问题 mysql数据库linux版本表名.字段名默认大小写敏感,即区分大小写. 查看mysql有关大小写参数: lower_case_file_system是一个只读参数,无 ...

  7. mysql数据库别名_MySQL数据库表名、列名、别名区分大小写的问题

    MySQL在Linux下数据库名.表名.列名.别名大小写规则是这样的: 1.数据库名与表名是严格区分大小写的: 2.表的别名是严格区分大小写的: 3.列名与列的别名在所有的情况下均是忽略大小写的: 4 ...

  8. mysql 列名大写_MySQL数据库表名、列名、别名区分大小写的问题

    [size=xx-large]MySQL在Linux下数据库名.表名.列名.别名大小写规则是这样的: 1.数据库名与表名是严格区分大小写的: 2.表的别名是严格区分大小写的: 3.列名与列的别名在所有 ...

  9. mysql desc 显示备注_MySQL_Mysql中返回一个数据库的所有表名,列名数据类型备注,desc 表名; show columns from 表名; d - phpStudy...

    Mysql中返回一个数据库的所有表名,列名数据类型备注 desc 表名; show columns from 表名; describe 表名; show create table 表名; use in ...

最新文章

  1. linux mysql root修复_linux下误删mysql的root用户,解决方法
  2. 在ASP.NET中UrlRewrite的实现(能隐藏扩展名)之一
  3. Zabbix 安装部署
  4. word2013标题编号变成黑框
  5. python画端午节_我想带你去旅行,我用Python提前做了一份端午旅游攻略,请收下!...
  6. 如何用 Redis 做实时订阅推送的?
  7. IPLAT62--后台返回提示参数
  8. 0832工作原理详解_最经典MOS管电路工作原理及详解没有之一
  9. 计算机网络在金融领域的应用,计算机网络毕业论文计算机网络技术在金融领域的应用.pdf...
  10. java点击上传上传mysql并显示图片_java + mysql + jdbc实现图片上传
  11. 为什么这本书大家都称好
  12. 【Java与智能设备】4_1 Activity的创建和跳转
  13. 计算机网络工程教程:基于cisco路由器和交换机,网络工程实践教程:基于Cisco路由器与交换机...
  14. html 一键复制 ios,h5实现一键复制到粘贴板 兼容ios
  15. 第二工业大学计算机应用大专录取分,2016年上海第二工业大学专科层次依法自主招生各专业分数线...
  16. excel之筛选、删除技巧
  17. android配置jni cmake,Android JNI之青春期 Cmake(android studio)
  18. Office Excel 插入电子签名 实现多人电子签名可追溯
  19. 点钞机语音怎么打开_弱弱问一下验钞机怎么开声音
  20. 15. 星际争霸之php设计模式--策略模式

热门文章

  1. 2022-2028年中国测绘设备行业研究及前瞻分析报告
  2. Ubuntu NFS 服务器和客户端挂载详解
  3. 那还剩下多少学习激情?
  4. eclipse运行maven web项目
  5. dataframe重命名
  6. 带你彻彻底底搞懂朴素贝叶斯公式
  7. Pytorch - GPU ID 指定 pytorch gpu 指定
  8. 扩展LLVM:添加指令、内部函数、类型等
  9. Comparison of Laser SLAM and Visual SLAM
  10. MySQL查询进阶之多表查询