精华内容
下载资源
问答
  • 不区分大小写什么意思
    千次阅读
    2021-02-08 12:41:33

    最近因为一个新的业务模块,因此使用到到msyql数据库。

    我对接的技术开发中心的同事因为对表名、字段名大小写使用特别不规范,查询的时候 一个表名很经常大写-小写-大写,因此让我将数据库设置为对表名不区分大小写。

    mysql数据库的表的字段名是不区分大小写的,

    设置表名不区分,可以在 数据库的配置文件中添加一行:

    lower_case_table_names=1

    1:是表示不区分大小写;

    0:表示表名区分大小写;

    修改配置后需要重启数据库,设置才能生效。

    要是设置正常满足需求,修改设置之前得确保数据库里的表名都已经是小写的了。否则,数据库重启后,之前那些大写的表无法使用了。

    同时,跟数据库名字的大小写也有关系。

    测试:

    首先在区分大小写环境下,建立两个数据库,"iris"  和 "IRIS"。同名的,一个大写,一个小写。

    分别创建几张表,有大写表名,有小写的。

    数据库修改为 “不区分大小写”,设置生效之后,进入数据库查看库,依旧显示 "iris" 和 "IRIS"。但是,"IRIS"已经只能看不能用了,use IRIS ,命令也报错。当然,此库下面的表也一样,看都看不到了。

    如果使用的是连接工具,诸如sqlyog等图形化界面的话。

    这个时候,切换数据库: use iris,并且向 iris这个库中新建表,表名 ABC 。

    再将 数据库设置为“区分大小写”。show databases: 依旧显示,"iris" 和 "IRIS"。并且,查看"IRIS"中所有的表的时候:

    show tables:

    看到的表也有 ABC;

    向表iris.ABC 插入数据,在IRIS库的表下也能看到新增的数据。

    其实这个时候,对数据库来说,IRIS和iris就是同一个了。

    但是,查看数据库文件,可以发现 数据库目录 名为IRIS 目录下没有 表ABC.frm 等文件。所以,设置如果再切过来,将看不到 后来新建的表的。

    更多相关内容
  • windows下mysql默认是不区分大小写的,但是linux会区分大小写,所以当执行的sql语句有大小写区别时需要注意。 那么怎么设置mysql不区分大小写。 1.windows下 到安装mysql的目录,修改my.ini文件 在文件最后一行...
    windows下mysql默认是不区分大小写的,但是linux会区分大小写,所以当执行的sql语句有大小写区别时需要注意。
    
    那么怎么设置mysql不区分大小写。
    
    1.windows下
    
    到安装mysql的目录,修改my.ini文件
    
    在文件最后一行加上下面一句话
    
    lower_case_table_names=1
    
    lower_case_table_names = 1说明 0:区分大小写,1:不区分大小写
    
    效果如下
    
    [mysqld]
    
    port = 3306  basedir=F:/mysql-5.7.21-winx64
    
    datadir=F:/mysql-5.7.21-winx64/data
    
    max_connections=200  character-set-server=utf8
    
    default-storage-engine=INNODB  sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    
    [mysql]
    
    default-character-set=utf8  lower_case_table_names=1
    
    重启mysql
    
    2.linux下
    
    进入etc下面
    
    cd /etc/
    
    编辑my.cnf文件
    
    vi my.cnf
    
    最后一行加上下面一句
    
    lower_case_table_names=1
    
    效果如下
    
    # For advice on how to change settings please see
    
    # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html[mysqld]
    
    #
    
    # Remove leading # and set to the amount of RAM for the most important data
    
    # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
    
    # innodb_buffer_pool_size = 128M
    
    #
    
    # Remove leading # to turn on a very important data integrity option: logging
    
    # changes to the binary log between backups.
    
    # log_bin
    
    #
    
    # Remove leading # to set options mainly useful for reporting servers.
    
    # The server defaults are faster for transactions and fast SELECTs.# Adjust sizes as needed, experiment to find the optimal values.
    
    # join_buffer_size = 128M
    
    # sort_buffer_size = 2M
    
    # read_rnd_buffer_size = 2M
    
    datadir=/var/lib/mysql
    
    socket=/var/lib/mysql/mysql.sock
    
    # Disabling symbolic-links is recommended to prevent assorted security risks
    
    symbolic-links=0log-error=/var/log/mysqld.log
    
    pid-file=/var/run/mysqld/mysqld.pidlower_case_table_names=1
    
    重启mysql:
    
    systemctl restart mysqld
    
    展开全文
  • 更改MYSQL数据库不区分大小写表名

    千次阅读 2021-01-18 19:08:16
    今天郁闷死了,在LINUX下调一个程序老说找到表,但是我明明是建了表的,在MYSQL的命令行下...让MYSQL不区分表名大小写的方法其实很简单:1.用ROOT登录,修改/etc/my.cnf2.在[mysqld]下加入一行:lower_case_table_...

    今天郁闷死了,在LINUX下调一个程序老说找不到表,但是我明明是建了表的,在MYSQL的命令行下也可以查到,为什么程序就找不到表呢?

    后来请教了一个老师才搞定,原来是LINUX下的MYSQL默认是要区分表名大小写的,哎,弄了那么旧,害死我了。

    让MYSQL不区分表名大小写的方法其实很简单:

    1.用ROOT登录,修改/etc/my.cnf

    2.在[mysqld]下加入一行:lower_case_table_names=1

    3.重新启动数据库即可。

    1、Linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写;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下都不区分大小写。

    mysql默认是对字母的大小写不区分的

    mysql> create table t1(-> username varchar(10));Query OK, 0 rows affected (0.09 sec)mysql> insert into t1 values('you'),('You'),('YOU');Query OK, 3 rows affected (0.05 sec)Records: 3 Duplicates: 0 Warnings: 0对这个表,缺省情况下,下面两个查询的结果是一样的:mysql> select * from t1 where username = 'you';+------+| username |+------+| you || You || YOU |+------+3 rows in set (0.00 sec)mysql> select * from t1 where username = 'YOU';+------+| username |+------+| you || You || YOU |+------+3 rows in set (0.00 sec)如果想让MYSQL知道你输入的字母是大写还是小写的,修改表:mysql> alter table t1 change username username varchar(10) binary;Query OK, 3 rows affected (0.20 sec)Records: 3 Duplicates: 0 Warnings: 0

    mysql> select * from t1 where username = 'you';+------+| username |+------+| you |+------+1 row in set (0.00 sec)mysql> select * from t1 where username = 'YOU';+------+| username |+------+| YOU |+------+1 row in set (0.00 sec)如果你只是想在SQL语句中实现的话:mysql> select * from t1 where username = binary 'YOU';+------+| username |+------+| YOU |+------+1 row in set (0.02 sec)mysql> select * from t1 where username = binary 'you';+------+| username |+------+| you |+------+1 row in set (0.00 sec)如果不想这么麻烦而想服务一开启就让大小写一致的话:可以修改my.ini或者my.cnf[mysqld]lower_case_table_names=1(0:区分;1:不区分)然后重启MYSQL服务。mysql> show variables like '%case_table%';+------------------------+-------+| Variable_name | Value |+------------------------+-------+| lower_case_table_names | 1 |+------------------------+-------+1 row in set (0.00 sec)注:WINDOWS系统不用修改,系统默认就是1LINUX 系统默认是0。因为LINUX下的脚本都是区分大小写的。

    Windows 环境下大小写不敏感CREATE TABLE tab ( id INT AUTO_INCREMENT, val VARCHAR(10), PRIMARY KEY (id));mysql> select * from tab;Empty set (0.00 sec)mysql> select * from Tab;Empty set (0.00 sec)mysql> select * from `Tab`;Empty set (0.00 sec)在MySQL中如何在硬盘上保存和使用表名和数据库名由lower_case_tables_name系统变量确定,可以在启动mysqld时设置。lower_case_tables_name可以采用下面的任一值:值含义0使用CREATE TABLE或CREATE DATABASE语句指定的大写和小写在硬盘上保存表名和数据库名。名称比较对大小写敏感。在Unix系统中的默认设置即如此。请注意如果在大小写不敏感的文件系统上用--lower-case-table-names=0强制设为0,并且使用不同的大小写访问MyISAM表名,会导致索引破坏。1表名在硬盘上以小写保存,名称比较对大小写敏感。MySQL将所有表名转换为小写以便存储和查找。该行为也适合数据库名和表的别名。该值为Windows和Mac OS X系统中的默认值。2表名和数据库名在硬盘上使用CREATE TABLE或CREATE DATABASE语句指定的大小写进行保存,但MySQL将它们转换为小写以便查找。名称比较对大小写敏感。注释:只在对大小写不敏感的文件系统上适用! InnoDB表名以小写保存,例如lower_case_tables_name=1。在Windows和Mac OS X中,lower_case_tables_name的 默认值是1。如果只在一个平台上使用MySQL,通常不需要更改lower_case_tables_name变量。然而,如果你想要在对大小写敏感不同的文件系统的平台之间转移表,会遇到困难。例如,在Unix中,my_tables和MY_tables是两个不同的表,但在Windows中,这两个表名相同。要想避免由于数据库或表名的大小写造成的数据转移问题,可使用两个选项: 在任何系统中可以使用lower_case_tables_name=1。使用该选项的不利之处是当使用SHOW TABLES或SHOW DATABASES时,看不出名字原来是用大写还是小写。 在Unix中使用lower_case_tables_name=0,在Windows中使用lower_case_tables_name=2。这样了可以保留数据库名和表名的大小写。不利之处是必须确保在Windows中查询总是用正确大小写引用数据库名和表名。如果将查询转移到Unix中,由于在Unix中大小写很重要,如果大小写不正确,它们不工作。例外:如果你正使用InnoDB表,在任何平台上均应将lower_case_tables_name设置为1,以强制将名转换为小写。请注意在Unix中将lower_case_tables_name设置为1之前,重启mysqld之前,必须先将旧的数据库名和表名转换为小写。

    用惯了windows下面的不区分大小写的mysql语句,到了linux下面还真的很多不习惯。

    在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下所有的大写字符都变成小写了)。

    即:unix下面默认是区分大小写的,而winodws下面是不区分的。为了设置unix下面不区分大小写,要设置unix下面的数据库表名都是小写的,并在配置文件my.conf上面,的mysqld字段增加lower_case_table_name=1,1为不区分大小写,0是区分大小写。。。并/etc/init.d/mysql restart即可。。。

    Linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写;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下都不区 分大小写。3、如果想在查询时区分字段值的大小写,则:字段值需要设置BINARY属性,设置的方法有多种:A、创建时设置:CREATE TABLE T(A VARCHAR(10) BINARY);B、使用alter修改:ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY;C、mysql table editor中直接勾选BINARY项。

    展开全文
  • mysql设置不区分大小写

    千次阅读 2021-01-28 00:16:59
    windows下mysql默认是不区分大小写的,但是linux会区分大小写,所以当执行的sql语句有大小写区别时需要注意。那么怎么设置mysql不区分大小写。1.windows下到安装mysql的目录,修改my.ini文件在文件最后一行加上下面...

    windows下mysql默认是不区分大小写的,但是linux会区分大小写,所以当执行的sql语句有大小写区别时需要注意。

    那么怎么设置mysql不区分大小写。

    1.windows下

    到安装mysql的目录,修改my.ini文件

    在文件最后一行加上下面一句话

    lower_case_table_names=1

    lower_case_table_names = 1说明 0:区分大小写,1:不区分大小写

    效果如下

    [mysqld]

    port = 3306  basedir=F:/mysql-5.7.21-winx64

    datadir=F:/mysql-5.7.21-winx64/data

    max_connections=200  character-set-server=utf8

    default-storage-engine=INNODB  sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    [mysql]

    default-character-set=utf8  lower_case_table_names=1

    重启mysql

    2.linux下

    进入etc下面

    cd /etc/

    编辑my.cnf文件

    vi my.cnf

    最后一行加上下面一句

    lower_case_table_names=1

    效果如下

    # For advice on how to change settings please see

    # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html[mysqld]

    #

    # Remove leading # and set to the amount of RAM for the most important data

    # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

    # innodb_buffer_pool_size = 128M

    #

    # Remove leading # to turn on a very important data integrity option: logging

    # changes to the binary log between backups.

    # log_bin

    #

    # Remove leading # to set options mainly useful for reporting servers.

    # The server defaults are faster for transactions and fast SELECTs.# Adjust sizes as needed, experiment to find the optimal values.

    # join_buffer_size = 128M

    # sort_buffer_size = 2M

    # read_rnd_buffer_size = 2M

    datadir=/var/lib/mysql

    socket=/var/lib/mysql/mysql.sock

    # Disabling symbolic-links is recommended to prevent assorted security risks

    symbolic-links=0log-error=/var/log/mysqld.log

    pid-file=/var/run/mysqld/mysqld.pidlower_case_table_names=1

    重启mysql:

    systemctl restart mysqld

    展开全文
  • java怎么不区分大小写比较字符串

    千次阅读 2021-02-12 18:46:00
    equalsIgnoreCase()方法用于将字符串与指定的对象比较,考虑大小写。语法public boolean equalsIgnoreCase(String anotherString)参数anObject -- 与字符串进行比较的对象。返回值如果给定...
  • Linux下设置mysql不区分大小写

    千次阅读 2022-03-28 10:35:15
    lower_case_table_names=1(说明是不区分大小写的) lower_case_table_names=0(如上图为0说明区分大小写的) 二、修改lower_case_table_names的值为1 1.通过vim编辑器修改/etc/my.cnf文件 2.在 [mysqld] 下加上 ...
  • 一、区分大小写 一般我们常用的字符串比较函数都是区分大小写的。 我们这里只介绍strcmp函数,在windows和linux下函数名和用法都一样。 原型:extern int strcmp(const void *s1, const void *s2); 功能:用于比较...
  • 用一种不区分大小写的方式比较字符串似乎是微不足道的事情,但事实并非如此。我将使用Python 3,因为Python 2在这里是发达的。首先要注意的是,Unicode中移除大小写的转换并简单。有一些文本text.lower() != ...
  • 【判断题】当if有多个条件时可使用括号()来区分判断的先后顺序。【单选题】用加热驱除水分法测定 CaSO 4 · 1/2H 2 O 中结晶水的含量时 , 称取试样 0.2000g, 已知天平称量误差为 ±0.1mg, 分析结果的有效数字应取 ( ...
  • MySQL设置表名不区分大小写

    千次阅读 2020-03-31 13:17:41
    MySQL不区分大小写 linux MySQL 默认区分大小写 设置为区分: 在 /etc/my.cnf中 [mysqld]下加入lower_case_table_names=1 (1 不区分大小写;0 区分大小写) 重启数据库 宝塔里可以直接从配置里加 ...
  • Linux系统中文件名是不区分大小写的。答:×下列加点词解释正确的一项是( )答:愿逐月华流照君 逐:逐渐中国大学MOOC: 据《周礼·天官》记载,___时已设有专职兽医诊治“兽病”和“兽疡”,并已采用灌药、手术及...
  • linux中mysql8设置不区分表名大小写

    千次阅读 2020-12-27 00:34:30
    第一种:安装好mysql后,先设置好配置文件,然后在启用mysql 找到linux中mysql配置文件 my.cnf 命令: which mysqld ...在/etc/my.cnf中的mysqld节点下添加 lower_case_table_names=1 表示不区分表名大小写 启动
  • IDEA 设置代码提示不区分大小写
  • grep 不区分大小写grepis very useful too to match and find phrases, words and characters in test. One of the most used situation is using grepcase sensitive or case insensitive. In this tutorial we ...
  • MYSQL区分大小写

    千次阅读 2021-01-27 21:58:00
    MYSQL区分大小写1、linux下mysql安装完后是默认:区分表名的大小写,区分列名的大小写;2、用root帐号登录后,在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:...
  • Java是否区分大小写

    千次阅读 2021-03-13 19:28:42
    Java源代码是区分大小写的,如果你的意思是。 即Double与double不是同一个types,并且可以有两个不同的variablesmyData和mydata 。是吗? 如果是这样,为什么区分大小写在大多数编程语言和环境中都是常见的,因为...
  • java不区分大小写的map集合

    千次阅读 2019-04-18 17:19:00
    1.一个项目经过多人开发,有时传值就会注意大小写,...CaseInsensitiveMap—不区分大小写的无序map; LinkedCaseInsensitiveMap—不区分大小写的有序map; 例如: import org.apache.commons.collections.map...
  • 正则表达式不区分大小写Regex is used given text according to different and flexible patterns. It provides a lot of different patterns which can match given text or line. The default behavior of the ...
  • Mysql查询数据库不区分大小写的问题

    千次阅读 2020-05-29 12:51:57
    Mysql数据库查找,在默认windows系统下,是不区分大小写的 mysql查询默认是不区分大小写的 如: select * from user where str=‘abc'; select * from user_table where str='ABC'; 得到的结果是一样的,如果我们...
  • 正则表达式不区分大小写

    万次阅读 2018-05-25 17:46:11
    今天遇到一个正则表达式不区分大小写的问题,现将学习结果总结下 1. 普通的regex 使用一个正则表达式字面量,其由包含在 斜杠之间 的模式组成,如下所示: const regex = /ab+c/ ; const regex = /^[a-zA-Z]...
  • mysql数据库表名区分大小写

    千次阅读 2021-01-28 02:46:29
    查询后发现mysql默认配置是表明区分大小写的,如果要修改成不区分大小写,需要修改一下配置。1、修改MySql配置文件vi /etc/my.cnf ,在[mysqld]配置中增加 lower_case_table_names=1 ,(0表示区分大小写),然后重启...
  • hive不区分大小写

    千次阅读 2022-03-03 16:08:15
    select 1 AS a, 2 as B, 3 As C from table limit 1; ...可以发现,无论是关键词as/AS/As,还是字段B,最后一律都处理成小写了,hive底层不区分大小写,除非用lower uper这种函数强制变大小写 ...
  • js 不区分大小写比较字符串

    万次阅读 2018-11-21 11:30:39
    js是一种区分大小写的语言,但是我们在使用模糊匹配的时候,又能确定被匹配内容的大小写; 那么我们可以转换思路,把输入项与被匹配项全部转化成统一格式: js转化大小写方法:  toUpperCase():把字符串转换为...
  • idea代码提示不区分大小写

    千次阅读 2022-04-06 17:34:04
    intellij idea默认下的代码提示是区分大小写的,通过设置可以不区分大小写进行提示. 第一步:选择File 第二步:选择Setting 第三步:找到 Editor->General->Code Completion 取消Match case前的勾选...
  • intellij idea默认下的代码提示是区分大小写的,例如类方法名过长、类的名字过长等,完全通过手打的话较为繁琐,这里简单的设置下即可. 把 Case sensitive completion设置成None就关闭了区分大小写的问题,默认是...
  • mogodb不区分大小写查询

    千次阅读 2018-10-10 14:08:26
    一、不区分大小写的正则表达式 如果检索需要不区分大小写,我们可以设置 $options 为 $i。 以下命令将查找不区分大小写的字符串 runoob: >db.posts.find({post_text:{$regex:"runoob",$...
  • Java区分大小写吗?

    千次阅读 2021-03-13 05:26:40
    Java源代码区分大小写,如果您的意思是。即Double与double的类型不同,您可以有两个不同的独立变量myData和mydata。是吗?如果是这样,为什么?在大多数编程语言和环境中,区分大小写是常态,因为大写字母在最低级别...
  • Oracle 实现查询不区分大小写

    千次阅读 2021-12-08 09:22:00
    Oracle 实现查询不区分大小写 1、方式一 转为小写 LOWER('ABC') 结果 abc 转为大写 UPPER('aBc') 结果 ABC select * from table lower(FAMILY_NAME) like lower(#{familyName}) --将字段全转成小写 select * from ...
  • docker mysql5.7 设置不区分大小写

    千次阅读 2022-04-21 15:37:34
    v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --lower_case_table_names=1 在宿主机改好 [mysqld] #不区分大小写lower_case_table_...
  • MySQL内容不区分大小写?

    千次阅读 2020-11-23 12:27:33
    数据库存储的varchar类型字符串查询时不区分大小写。 简而言之: 通过 show variables like 'lower_case_table_names' 查看值, 0代表严格区分, 1代表区分, 通过修改mysql的配置my.cnf文件更改然后重启,即可达到...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 793,618
精华内容 317,447
关键字:

不区分大小写什么意思