MySQL在Linux下数据库名、表名、列名、别名大写和小写规则:
1、数据库名与表名是严格区分大写和小写
2、表的别名是严格区分大写和小写
3、列名与列的别名在全部的情况下均是忽略大写和小写的
4、变量名也是严格区分大写和小写的
注意:
A、Linux下MySQL安装完后默认:区分表名的大写和小写,不区分列名的大写和小写
B、改变表名的大写和小写区分规则的方法:用root帐号登录,在/etc/my.cnf 或 /etc/mysql/my.cnf 中的[mysqld]以下加入加入lower_case_table_names=1
- # The MySQL server
- [mysqld]
- port = 3306
- socket = /var/lib/mysql/mysql.sock
- skip-external-locking
- key_buffer_size = 16M
- max_allowed_packet = 1M
- table_open_cache = 64
- sort_buffer_size = 512K
- net_buffer_length = 8K
- read_buffer_size = 256K
- read_rnd_buffer_size = 512K
- myisam_sort_buffer_size = 8M
- # add here
- lower_case_table_names=1
重新启动MySQL服务。若设置成功,则不再区分表名大写和小写。
MySQL在Windows下数据库名、表名、列名、别名都不区分大写和小写。
假设想大写和小写区分则在my.ini 里面的mysqld部分
加入 lower_case_table_names=0
注意:Windows中即使改了这个设置,在查询时还是不会区分大写和小写。仅仅是在导入导出时会对大写和小写有差别。