> 唯美句子 > MYSQL如何设置大小写敏感

MYSQL如何设置大小写敏感

MYSQL如何设置大小写敏感

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下都不区分大小写。

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项。

sql语句如何忽略大小写?

那是自然查询不出来结果的,sql不区分大小写是针对语法来说的,不是针对值。如果针对值,你可以在程序中传值时变成全小写或全大写,然后对应使用where lower(keyword) like '%shoes%' 或 where upper(keyword) like &#39伐%SHOES%' 来进行模糊查询

查询mysql 表名区分大小写吗

用show variables like '%case_table%';

+------------------------+-------+

| Variable_name | Value |

+------------------------+-------+

| lower_case_table_names | 1 |

+------------------------+-------+

1 row in set (0.00 sec)

(0:区分;1:不区分)

请教,sql查询不区分大小写的语句怎么写

oracle和sqlserver中可用upper函数

比如

select upper('Lycop')  from dual --oracle

select upper('Lycop')  --sqlserver

结果就是你说的那种

所以你只需要

where upper('Lycop')='LYCOP'

当where条件就行

mysql数据查询分不分大小写

解决方案一:

于是怀疑Mysql的问题。做个实验:直接使用客户端用sql查询数据库。 发现的确是大小不敏感 。

通过查询资料发现需要设置collate(校对) 。 collate规则:

*_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的

*_cs: case sensitive collation,区分大小写

*_ci: case insensitive collation,不区分大小写

解决方法。

1.可以将查询条件用binary()括起来。 比如:

?

1

select * from TableA where binary columnA ='aaa';

2. 可以修改该字段的collation 为 binary

比如:

?

1

ALTER TABLE TABLENAME MODIFY COLUMN COLUMNNAME VARCHAR(50) BINARY CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL;

解决方案二:

mysql查询默认是不区分大小写的 如:

?

1

2

select * from some_table where str=‘abc';

select * from some_table where str='ABC';

得到的结果是一样的,如果我们需要进行区分的话可以按照如下方法来做:

第一种方法:

要让mysql查询区分大小写,可以:

?

1

2

select * from some_table where binary str='abc'

select * from some_table where binary str='ABC'

第二方法:

在建表时时候加以标识

?

1

2

3

create table some_table(

str char(20) binary

mysql怎么使查询不区分大小写

1、一种方法是可以设置表或行的collation,使其为binary或case sensitive。在MySQL中,对于Column Collate其约定的命名方法如下:

*_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的

*_cs: case sensitive collation,区分大小写

*_ci: case insensitive collation,不区分大小写

###########

# Start binary collation example

###########

mysql> create table case_bin_test (word VARCHAR(10)) CHARACTER SET latin1 COLLATE latin1_bin;

Query OK, 0 rows affected (0.02 sec)

mysql> INSERT INTO case_bin_test VALUES ('Frank'),('Google'),('froogle'),('flickr'),('FlicKr');

Query OK, 5 rows affected (0.00 sec)

Records: 5 Duplicates: 0 Warnings: 0

mysql> SELECT * FROM case_bin_test WHERE word LIKE 'f%';

+---------+

| word |

+---------+

| froogle |

| flickr |

+---------+

2 rows in set (0.00 sec)

mysql> SELECT * FROM case_bin_test WHERE word LIKE 'F%';

+---------+

| word |

+---------+

| Frank |

| FlicKr |

+---------+

4 rows in set (0.00 sec)

###########

# End

###########

mysql区分大小写吗

window 版的 表名字不区分大小写

linux 的表名字区分大小写

字段名应该是不区分大小写的

mysql得查询语句必须大写吗

对于SQL的命令、函数、关键字、表名、字段名,大小写效果完全相同,而引号里面的字符串常量有可能对大小写敏感,这与字段类型有关,加了二进制修饰的才大小写敏感。

mysql里面的sql语句是否区分大小写

在windows中字段名称不区分

在linux,unix中字段名称要区分的

mysql 字段值不区分大小写

这未必是mysql的原因,单纯的在mysql中查询是否不区分字符大小写的。

如果你想稳妥点,查询时可以通过 upper 或是 lower 对字符进行大小写转换。

MYSQL如何设置大小写敏感:等您坐沙发呢!

发表评论

表情
还能输入210个字