数据库那些事
来源:互联网 发布:淘宝卖家发布宝贝流程 编辑:程序博客网 时间:2024/05/17 15:57
序言:今天有个朋友在windows上的程序代码跑的好好的,移植到linxu上sql全部挂掉,然后现在就来聊聊mysql那些事,你真的懂mysql么
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下所有的大写字符都变成小写了)。
- 数据库范式那些事
- 数据库范式那些事
- 数据库范式那些事
- 数据库范式那些事
- 数据库范式那些事
- 数据库范式那些事
- 数据库范式那些事
- 数据库范式那些事
- 数据库范式那些事
- 数据库范式那些事
- 数据库范式那些事
- 数据库范式那些事
- 数据库范式那些事
- 数据库设计那些事
- 数据库范式那些事
- 数据库死锁那些事
- 数据库设计那些事
- 数据库范式那些事
- Python中列表常用的操作符
- 统计字符串字母,数字,空格和其他字符个数
- 29. Divide Two Integers
- HashMap,HashSet,HashTable,LinkedHashMap,LinkedHashSet,ArrayList,LinkedList,ConcurrentHashMap,Vector
- 【目标检测】RCNN算法详解
- 数据库那些事
- LinearLayout动态添加控件及将某XML动态加入到Activity显示(1)
- centos7.3实现基于源码编译安装LAMP的wordpress应用
- Java练习(4)
- 我的第001天学习记录
- 顺序表
- String相关知识
- StringBuilder类的常用方法 增删改查、反转、互转
- levelDB的效率