mysql 大小写 整理
mysql字段的值默认不区分大小写,如果有主键的表,主键列就不能插入重复的值(大小写不同)
实验
默认方式创建
CREATE TABLE `t1` (
`ID` varchar(40) CHARACTER SET utf8 NOT NULL,
`NAME` varchar(254) CHARACTER SET utf8 NOT NULL,
PRIMARY KEY (`ID`,`NAME`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
插入数据
insert into t1 values( 'Test','test');
再次插入数据
insert into t1 values( 'test','test');
提示错误
ERROR 1062 (23000): Duplicate entry 'test-test' for key 'PRIMARY'
修改字段类型
CREATE TABLE `t2` (
`ID` varchar(40) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`NAME` varchar(254) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`ID`,`NAME`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
插入数据
insert into t2 values( 'Test','test');
再次插入数据
insert into t2 values( 'test','test');
查询数据
mysql> select * from t2;
+------+------+
| ID | NAME |
+------+------+
| Test | test |
| test | test |
+------+------+
变量名不区分大小写
mysql> set @var1 = 'Test';
Query OK, 0 rows affected (0.00 sec)
mysql> select *, @var1 from t2 where id=@Var1;
+------+------+-------+
| ID | NAME | @var1 |
+------+------+-------+
| Test | test | Test |
+------+------+-------+
1 row in set (0.00 sec)
结论
Linux下mysql默认:
- 区分 库名,表名,表名的别名 的大小写
- 不区分列名,列名的别名,变量名 的大小写
备注
配置/etc/my.cnf,支持不区分大小写
my.cnf 如下
[mysqld]
lower_case_table_names=1
重启MYSQL服务即可
lower_case_table_names = 0 默认区分大小写
0:区分大小写
1:不区分大小写
MySQL在Windows下都不区分大小写。
若需要区分字段值的大小写,则字段需要设置BINARY属性。
设置方法:
- 创建时设置:create table t3(id VARCHAR(10) BINARY);
- alter修改:alter table
t3modify columnidVARCHAR(45) BINARY;
mysql 大小写 整理的更多相关文章
- 最全mysql笔记整理
mysql笔记整理 作者:python技术人 博客:https://www.cnblogs.com/lpdeboke Windows服务 -- 启动MySQL net start mysql -- 创 ...
- mysql大小写问题
以前做企业项目的时候,用的都是oracle数据库,在新公司项目用的是mysql,有关mysql大小写的问题 1 windows下默认mysql是不区分大小写的,要想让其支持大小写.更改方法 在my ...
- MySQL基础整理(一)之SQL基础(未完成)
大家好,我是浅墨竹染,以下是MySQL基础整理(一)之SQL基础 1.SQL简介 SQL(Structure Query Language)是一种结构化查询语言,是使用关系模型的数据库应用语言. 2. ...
- MySQL 安全整理
MySQL 安全整理 关闭外网的端口访问. 使用高位的端口号. 如果需要外网访问不给最高的权限. 如果需要外网访问也是绑定客户端. To be continued
- PHP调用mysql函数整理
mysql函数整理 名称:mysql_connect() 用途:打开非持久的 MySQL 连接.如果成功,则返回一个 MySQL 连接标识,失败则返回 FALSE. 语法:mysql_connect( ...
- mysql命令整理
MySQL大小写通用. 一.常见用的mysql指令 1.show databases; #查看当前所有库 2.show tables; #查看所在库中的所有表 3.use 库名; #进入该库 4.sh ...
- MySQL 语句整理 2019-5-3
MySQL 语句整理 在整理完Oracle的一些常见用语句后,由于MySQL的语法跟Oracle略有不同,随跟PN的MySQL视频进行了间接整理. 查询薪水大于1800, 并且部门编号为20或30的员 ...
- MySQL大小写补坑记
背景:由于项目开始时数据库设计经验不足,数据库名和部分数据表名都含有大写字母.但问题是,Linux上数据库名和表名是区分大小写的,而Windows上是不区分大小写的.结果就是在看本地的数据库的时候,对 ...
- mysql基本命令整理
1.replace into(insert into 的增强版) replace into tbl_name(col_name, ...) values(...)replace into tbl_na ...
随机推荐
- 二、Spring——AoP
AOP概述 AOP是OOP的有益补充,他为程序开发提供了一个崭新的思考角度,可以将重复性的横切逻辑抽取到统一的模块中,通过OOP的纵向抽象和AOP的横向抽取,程序才能真正解决复杂性代码问题. Spri ...
- (C#) Tasks 中的异常处理(Exception Handling.)
多线程编程中要注意对线程异常的处理.首先写个例子. 一个线程用于显示信息(Show Messages).主线程用于做其他工作(Do Works). using (Task taskShowMessag ...
- js零散总结
字符串的查找 index of 指定查找位置 可以查所有,不支持正则 找不到返回-1 var i=-1; while((i=str.indexOf("关键词",i+1))!=- ...
- RabbitMQ(三)
官方的使用教程(测试运行) 1."Hello World!" -- 发送接收 We're about to tell the server to deliver us the me ...
- winform下自绘提示框风格窗体
昨天分享了一个环形滚动条控件,今天分享一个提示框风格的窗体.代码如下: /// <summary> /// 继承自Form,但将FormBorderStyle设置为None /// < ...
- C#中抽象类和接口
下面是我做的测试: using System; using System.Collections.Generic; using System.Linq; using System.Text; usin ...
- windows8.1+centos7双系统(装完centos后无win8引导)
原先系统为windows8.1后来装上centos7后无win8系统引导, 打开电脑进入引导界面按C 进入grub界面 输入“cat (hd0,” 按tab可查看到windows8 地址为“hd0, ...
- java web _BBS
在注册时用户输入用户名和密码不合格在旁边提示 在用户发言带有屏蔽字时应在旁边提示,但不影响其发送,只是在显示时屏蔽关键字
- ie6并不是不支持!important
之前对ie6接触不多,并且认识也不深,虽然知道ie6中的!important很特别,但是并没有记住特别在哪里~今天就记录一下吧! 首先,很多人说ie6是不支持!important的,其实这个一个错误的 ...
- Easyui CSS式样重写
<link rel="stylesheet" type="text/css" href="../../themes/default/easyui ...