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 ...
随机推荐
- ADO.NET数据库操作助手类
SQL语句操作增删查改助手类 using System; using System.Collections.Generic; using System.Configuration; using Sys ...
- oracle 创建表空间
--创建数据表空间 create tablespace hcm logging datafile 'G:\oracle\product\10.2.0\oradata\orcl\mydata.dbf' ...
- Centos6.4 用rpm方式安装MySql5.6
1.查看系统是否安装了MySQL 使用命令: #rpm -qa | grep mysql 2.卸载已安装的MySQL 卸载mysql命令如下: #rpm - ...
- linux下安装jdk的几种方式
1.rpm方式安装: rpm -qa | grep jdk 查看是否安装了jdk,或者用java -version查看java版本 rpm -e --nodeps java-1.7.0-openjdk ...
- 《Linux内核分析》课程总结
朱宇轲 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 不知不觉,在网易 ...
- 远程登录,无法加载explorer
最近不知什么缘故,远程登录服务器时,无法登录到桌面了,只能用mstsc.exe /admin方式登录或者登录后按(CTRL+ALT+END)进入任务管理,新建运行explorer.exe才能登录到桌面 ...
- 解决:新版火狐浏览器3d打不开
重启:按 Ctrl + Shift + L 键唤出 3d 视图 参考文档:http://tieba.baidu.com/p/4606488108
- cocos2dx 2.0 CCScrollView的用法以及滑动的原理
#ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" USING_N ...
- Qlikview 的服务器
服务器管理 1 , Create a job 1.1 转到 Documents 分页 1.2 从左边目录搜索到 需要执行Job的qvw报表,如 "getting start.qvw" ...
- NK3C程序配置
1.坐席软电话 1)NKZXAgent 1)需要环境:.netframework 4.0 2)reg.bat 注册:(确认注册成功) 3)TestAgt.exe 软电话签入测试 LoadConfig: ...