Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 目前数据库案例的标准是什么_Database_Case Sensitive_Case Insensitive - Fatal编程技术网

Database 目前数据库案例的标准是什么

Database 目前数据库案例的标准是什么,database,case-sensitive,case-insensitive,Database,Case Sensitive,Case Insensitive,所以我读过很多关于数据库和编程的惯例。然而,我不记得是否有人建议使用数据库的标准案例 数据库区分大小写是标准还是不区分大小写 我知道一些数据库技术的默认情况各不相同(SQL、Oracle、mysql等)。这不是我想要的,因为某些技术的默认情况可能也是标准情况 据我所知,非常感谢,并将数据库定义为不区分大小写。但有些数据库符合这些标准,有些数据库也有例外。因此,这取决于您使用的数据库。您必须遵循所使用的数据库定义的规则 所以,假设您使用的是Oracle,那么您可以确保它完全符合这些标准。但是假设您

所以我读过很多关于数据库和编程的惯例。然而,我不记得是否有人建议使用数据库的标准案例

数据库区分大小写是标准还是不区分大小写

我知道一些数据库技术的默认情况各不相同(SQL、Oracle、mysql等)。这不是我想要的,因为某些技术的默认情况可能也是标准情况

据我所知,非常感谢,并将数据库定义为不区分大小写。但有些数据库符合这些标准,有些数据库也有例外。因此,这取决于您使用的数据库。您必须遵循所使用的数据库定义的规则

所以,假设您使用的是Oracle,那么您可以确保它完全符合这些标准。但是假设您使用的是MySql,那么它依赖于文件系统,如下面windows上的查询工作

CREATE TABLE TEST (ID INTEGER);
CREATE TABLE "Test" (ID INTEGER); -- Gives Errors , table already exists
但在linux上它是有效的

CREATE TABLE TEST (ID INTEGER);
CREATE TABLE "Test" (ID INTEGER); -- Creates the table Test
SQL标准要求不带引号的标识符不区分大小写。这从一开始就在SQL标准中(大约在1986年)

但是,引用的标识符区分大小写

因此,根据标准,
foo
foo
是相同的,但是
“foo”
“foo”
不是

如果您谈论的是字符值的比较,那么SQL标准将这取决于字符串中定义的排序规则:“两个字符串表达式的比较取决于用于比较的排序规则”

标准列出了一些排序规则名称,但没有提到它们是否应该区分大小写。事实上,“排序描述符”的文档仅列出:

  • 排序规则的名称
  • 适用于它的角色曲目的名称
  • 可应用排序规则的字符集名称的列表
  • 排序规则是否具有无填充或填充空间特征。

您是在询问SQL语句中的大小写还是关于
VARCHAR
/
TEXT
字段?关于数据的大小写敏感度,列类型是什么。确定,在这种情况下,@a_horse_和_no_name提供的答案就是您要寻找的:它始终取决于为相关列配置的排序规则。根据他的答案,要使用的标准排序规则应该不区分大小写。因为这是1986年以来的标准。对吗?我对这个箱子没有什么特别的要求,我只需要一个标准的。@AXMIM:不,那不是真的。SQL标准在比较数据时没有提到区分大小写的问题——我认为它没有指定任何“标准排序规则”,其中“但在Linux上它可以工作”的部分只适用于MyISAM,而不适用于InnoDB(至少在使用一个容器文件而不是每个表一个文件时是如此)@a_horse_和_no_name:-确实,但我想指出的是,它会随着不同的数据库而变化。