博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql中参数low_case_table_name的使用?不同参数值的设置有什么影响?
阅读量:6540 次
发布时间:2019-06-24

本文共 3892 字,大约阅读时间需要 12 分钟。

需求描述:

  今天一个同事问,在mysql中,默认的表名是大小写区分的吗,默认是什么设置,

  如果要设置成大小写不区分的改怎么设置,是否需要进行重启.然后就进行了查询,

  对于lower_case_table_names进行了实验,对该参数的作用进行理解.

操作过程:

1.查看默认的lower_case_table_names

mysql> show variables like 'lower_case_table_names';+------------------------+-------+| Variable_name          | Value |+------------------------+-------+| lower_case_table_names | 0     |+------------------------+-------+1 row in set (0.00 sec)

备注:该参数的默认值是0.

2.查看默认的情况,该参数对表名有什么影响

mysql> create database test05; Query OK, 1 row affected (0.00 sec) mysql> use test05; Database changed mysql> create table tab01(id int); #以小写创建表 Query OK, 0 rows affected (0.05 sec) mysql> create table TAB01(id int); #以大写创建表 Query OK, 0 rows affected (0.04 sec) mysql> show tables;                #通过show variables可以查看表名是通过指定的大小写进行存储,即区分大小写. +------------------+ | Tables_in_test05 | +------------------+ | TAB01            | | tab01            | +------------------+ 2 rows in set (0.00 sec) mysql> system ls -l /mysql/data/test05  #查看操作系统表对应的文件,也是大小写区分的. total 220 -rw-r----- 1 mysql mysql    61 Jun  5 15:37 db.opt -rw-r----- 1 mysql mysql  8556 Jun  5 15:37 tab01.frm -rw-r----- 1 mysql mysql  8556 Jun  5 15:37 TAB01.frm -rw-r----- 1 mysql mysql 98304 Jun  5 15:37 tab01.ibd -rw-r----- 1 mysql mysql 98304 Jun  5 15:37 TAB01.ibd mysql> insert into tab01 select 1;  #插入的时候,可以分别向两张表中插入数据 Query OK, 1 row affected (0.02 sec) Records: 1  Duplicates: 0  Warnings: 0 mysql> insert into TAB01 select 1; Query OK, 1 row affected (0.00 sec) Records: 1  Duplicates: 0  Warnings: 0 mysql> select * from tab01;  #查询两张表有不同的值. +------+ | id   | +------+ |    1 | +------+ 1 row in set (0.00 sec) mysql> select * from TAB01; +------+ | id   | +------+ |    1 | +------+ 1 row in set (0.00 sec)

备注:在默认情况下,表名是以指定的方式进行存储的,即大小写区分.

2.将lower_case_table_names修改为1,重启实例

[root@testvm ~]# grep "lower" /etc/my.cnf### table_name lower caselower_case_table_names = 1

备注:由于lower_case_table_names是全局参数,并且是非动态的,只能在配置文件中配置,重启生效.

3.查看lower_case_table_names设置为1之后,对表名的影响

mysql> create database test05;Query OK, 1 row affected (0.00 sec)mysql> use test05;Database changed mysql> create table tab01(id int);  #以小写的名字创建了表.Query OK, 0 rows affected (0.05 sec)mysql> create table TAB01(id int);  #以大写创建表名的时候,就报表存在了.ERROR 1050 (42S01): Table 'tab01' already existsmysql> show tables;   #表名以小写存储+------------------+| Tables_in_test05 |+------------------+| tab01            |+------------------+1 row in set (0.00 sec) mysql> drop table tab01; #删除表,以大写名字创建表. Query OK, 0 rows affected (0.08 sec) mysql> create table TAB01(id int); Query OK, 0 rows affected (0.05 sec) mysql> show tables; #表名以小写存在 +------------------+ | Tables_in_test05 | +------------------+ | tab01            | +------------------+ 1 row in set (0.00 sec)

备注:将lower_case_table_names设置为1的时候,表名是以小写存储的,在系统上也是小写的名字.

3.将lower_case_table_names设置为2,重启实例

[root@testvm data]# grep "lower" /etc/my.cnf### table_name lower caselower_case_table_names = 2

备注:将lower_case_table_names设置为2

4.查看设置为2之后的影响

mysql> drop database test05;Query OK, 4 rows affected (0.11 sec)mysql> create database test05;Query OK, 1 row affected (0.00 sec)mysql> use test05;Database changedmysql> create table tab01(id int);Query OK, 0 rows affected (0.05 sec)mysql> create table TAB01(id int);Query OK, 0 rows affected (0.08 sec)mysql> show tables;+------------------+| Tables_in_test05 |+------------------+| TAB01            || tab01            |+------------------+2 rows in set (0.00 sec) mysql> system ls -l /mysql/data/test05  #操作系统上文件的名字,以区分大小写的方式存储. total 220 -rw-r----- 1 mysql mysql    61 Jun  5 16:36 db.opt -rw-r----- 1 mysql mysql  8556 Jun  5 16:37 tab01.frm -rw-r----- 1 mysql mysql  8556 Jun  5 16:37 TAB01.frm -rw-r----- 1 mysql mysql 98304 Jun  5 16:37 tab01.ibd -rw-r----- 1 mysql mysql 98304 Jun  5 16:37 TAB01.ibd

备注:设置为2之后,表名是以区分大小写的方式存储的.

 

文档创建时间:2018年6月5日16:38:40

转载于:https://www.cnblogs.com/chuanzhang053/p/9140534.html

你可能感兴趣的文章
am335x 电容屏驱动添加。
查看>>
Nginx配置中的log_format用法梳理(设置详细的日志格式)
查看>>
从 JavaScript 到 TypeScript
查看>>
Linux常用的服务器构建
查看>>
深入了解 Weex
查看>>
Zeppelin Prefix not found.
查看>>
linux 的网络设置
查看>>
首届“欧亚杯”象翻棋全国团体邀请赛圆满收评!
查看>>
编译tomcat
查看>>
oracle-xe手工创建数据库
查看>>
我的友情链接
查看>>
UG中卸载被占用的DLL
查看>>
eclipse 设置注释模板详解,与导入模板方法介绍总结
查看>>
Cocos2d-x3.2 文字显示
查看>>
mongodb group
查看>>
session_start()放置位置的不正确引发的ROOT常量 未定义的错误
查看>>
如何设定VDP同时备份的任务数?
查看>>
ipsec的***在企业网中的经典应用
查看>>
过来人谈《去360还是留在百度?》
查看>>
mysql备份工具innobackupex,xtrabackup-2.1安装,参数详解
查看>>