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 ...
随机推荐
- 一个服务器上面配置多个IP ,实现指定IP的域名请求
//配置多个IP命名using System.Net; //********************************************************************** ...
- JsonResult序列化并保存json文件 以及对json文件读取反序列
项目中我们经常遇到一些经常访问的接口,并且更新及时度不是特别高,那么我们可以利用文件来做一些数据请求的缓存. 这里以微信公众号获取粉丝用户列表为例,我们把微信公众号查到的用户先缓存在文件中,这样在翻页 ...
- PHP安装所最到的问题-解决方案
Although Drupals 7+ run smoothly on PHP 5.3, Drupal 6 still feels much better with PHP 5.2. Even tho ...
- CSAPP(前言)
很久之前就听过有过CSAPP这本书的传闻了,今天终于决定上手这本神作:既然是神作,就要仔细拜读一下,今天看了一下前言部分还真的令人耳目一新,单单是前言部分就让我学习到几个新的知识点: 1.c和Java ...
- MapReduce排序输出
hadoop的map是具有输出自动排序功能的~继续学习~ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.c ...
- 四、maya python plugin
只是作简单的了解. 1区别 (1)Python scripts:可以在Maya的script editor 执行.用于扩展maya.cmd模块. The import statement below ...
- 使用opencv设置图像的格式以及帧率
最近楼主正在写一个关于图像存储的程序,LZ有一颗求知心,想要了解保存的图像的格式以及获取摄像头帧率.晚些时候会写一篇关于opencv获取摄像头并且保存每帧图像信息方法. 1.修改图像的像素显示: 首先 ...
- springMVC使用与生成序列号
springMVC使用与生成序列号 我是以springMVC的方式提供序列号 代码可以直接在项目中用 第一步:controller类 @Autowired private PkGenerator pk ...
- [LINUX] 查看连接数和IO负载
Iostat 是 sysstat 工具集的一个工具,需要安装. Centos的安装方式是: yum install sysstat Ubuntu的安装方式是: aptitude install sys ...
- listview java.lang.ArrayIndexOutOfBoundsException:
检测下BaseAdapter 下的getViewTypeCount()方法返回的值与getItemViewType返回的个数是否是相等的!