⑴ linux下mysql表名大小写问题
这个和hibernate 无关,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项。
⑵ 如何将mysql的表名和列名转换为大写
刚开始使用 mysql 的时候,刚开始是想要区分列名大小写的问题,在网上看到很多办法, 于是就 1、 linux 下 mysql 安装完后是默认:区分表名的大小写,不区分列名的大小写; 2、 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 下都不区分大小写。 在 my.ini 中的[mysqld]后添加添加 lower_case_table_names=1,重启 MYSQL 服务, 这时已设置成功:不区分表名的大小写; lower_case_table_names 参数详解: lower_case_table_names = 0 其中 0:区分大小写,1:不区分大小写 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 项。 乱码解决,更详细的看下字符集设置这篇 在[mysqld] 下增加下句 default-character-set=utf8 但是经过本人的实践之后如果按此方法修改后表名的区分大小写指的是你创建一 个表之后,它保留你创建时候的表名的原貌,但是在系统后台存储的时候此表是不 区分大小写的,也就是说在创建一个表名仅大小写不一样的表是不可以的。 例如; 在修改为表名区分大小写之后,也就是 lower_case_table_names = 0 (不管是在哪个系 统下)在 mysql 命令行界面下输入 CREATE TABLE TEST ( Id int not null primary key, Name varchar not null ); 之后你执行 show tables; 会包含一个 TEST 表,表名保留原来的大小写, 你如果输入 show tables like ‘t%’;是查不到这个新建的表的; 之后你在创建另外一个表, CREATE TABLE test ( Id int not null primary key, Name varchar not null ); 系统会提示你,表 test 已经存在,不允许创建。
⑶ mysql区分表名区分大小写吗
用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修改
⑷ sql server数据库表中各字段名需要大写吗
SQLSERVER默认不区分表名、字段名和值的大小写的
==================================
关于SQLSERVER要设置区分大小写
下面语句是设置SQL Server数据库是否区分大小写:(表名和数据库字段名)
--修改数据库不区分大小写
alter database 数据库名称 COLLATE Chinese_PRC_CI_AS
如:alter database zjk_cx COLLATE Chinese_PRC_CI_AS
--修改数据库区分大小写
alter database 数据库名称 COLLATE Chinese_PRC_CS_AS
如:alter database zjk_cx COLLATE Chinese_PRC_CS_AS
下面是数据库各行记录内容是否区分大小写:(一般在查询时的where条件中使用)
--不区分大小写
alter database 数据库名称 alter column 字段名称 字段类型 COLLATE Chinese_PRC_CI_AS
如:alter database zjk_cx alter column DBConn varchar(500) COLLATE Chinese_PRC_CI_AS
--区分大小写
alter database 数据库名称 alter column 字段名称 字段类型 COLLATE Chinese_PRC_CS_AS
如:alter database zjk_cx alter column DBConn varchar(500) COLLATE Chinese_PRC_CS_AS
⑸ 数据库设计时数据库名表名和列名大小写问题
有好几种,如果是java的话
表名可以跟对应的对象名一样,比如UserInfo,然后列名可以写跟类的属性命名形式一样,比如userName, lastLoginTime, insertTime
这样命名可能一些自动工具会方便一些(比如hibernate, ibatis都有生成代码的工具)
还见过一种是表名和列都是全大写,单词之间用"_"分割,表名还要加对应的前缀,例如"T_"前缀表示是表, "V_"前缀表示视图等
网上有一些公司内部自己定的数据库规范文档,可以参考下
(对不起!您的提问(回答)中包含不适合发表的内容,请修改后再提交)<--居然提示这个,我擦
⑹ Oracle 访问数据库字段和表名有大小写区分吗
Oracle数据库内部是区分大小写的。
举例说明一下:
create table t (id number) ;
等价于
create table T (id number) ;
以上两种情况下,表名不区分大小写,默认在数据字典中都是大写的T
但是如果使用如下的方式创建:
create table "t" (id number) ;
则,表名为小写。访问的时候必须使用双引号。
select * from "t" ;
⑺ oracle 表名和列名都是大写
oracle中默认的会把表名、字段名等设置成大写的,如果你想用小写字母或是大小写混合,需要用双引号把其引起来,例如新建的表名叫tableName,需要的建表语句为:create table "tableName";
⑻ mysql中数据库名字分大小写吗
分大小写。
MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:数据库名与表名是严格区分大小写的;表的别名是严格区分大小写的;列名与列的别名在所有的情况下均是忽略大小写的;变量名也是严格区分大小写的;MySQL在Windows下都不区分大小写。
不区分大小写在MySQL中,数据库和表对就于那些目录下的目录和文件。因而,操作系统的敏感性决定数据库和表命名的大小写敏感。这就意味着数据库和表名在Windows中是大小写不敏感的,而在大多数类型的Unix系统中是大小写敏感的。
应用环境
与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。
索引是一种特殊的文件(InnoDB 数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。索引不是万能的,索引可以加快数据检索操作,但会使数据修改操作变慢。
以上内容参考:网络-mySQL
⑼ 数据库表名有大小写区分怎么办
大多数情况下,数据库对象名是不区分大小写的。
什么数据库的表名是大小写区分的?
我所知道的特例是Oracle,正常情况下,无论你输入的表名是大写、还是小写,那么都以大写存储的;使用的时候,大小写都可以。
而用双引号引起来的表名,如果是小写的话,那么使用的时候,必须用双引号引起来的小写才行。
⑽ mysql 表名 应该用大写吗
MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、变量名也是严格区分大小写的;
MySQL在Windows下都不区分大小写。