MySQL数据库的敏感标识_不同数据库标志符长度限制总结
测试环境及数据库版本信息
操作系统:Win7
Mysql版本:5.6.24
Oracle版本:11gR2
Postgre版本:9.4
SQLServer版本:2008
1、不同数据库标识符长度限制
长度单位:字符;
数据库名称
表名称
列名称
索引名称
别名
MySQL
64
64
64
64
256
已测试
Oracle
30
30
30
30
30
已测试
Postgre
(区分大小写)
63
63
63
63
63
已测试
SQLServer
124
128
128
128
128
已测试
ps:
1、 在SQLServer2008上测试,数据库名称的最大长度是124,不是128;
2、 Oracle的实例名长度限制为12位;
2、一般对象标识符(引用标识符除外)的特定平台的规则
《SQL技术手册》中的总结如下:
2.1标识符长度
平台
规格
SQL3
128个字符
MySQL
64个字符,别名为255个字符
Oracle
30个字符(字符数视字符集而定),数据库链接限定为128个字节
PostgreSQL
63个字符(NAMEDATALEN-1)
SQL Server
128个字符,临时表最多116个字符
2.2标识符可包含的字符
SQL3
任何数字或字符及下划线(_)符号
MySQL
任何数字、字符或符号,不能全部由数字组成
Oracle
任何数字或字符及下划线(_)、井号(#)及美元符号($)(最后2个符号不推荐使用),数据库链接页包含句点(.)
PostgreSQL
任何数字或字符及下划线(_)
SQL Server
任何数字或字符及下划线(_)、at符号(@)、井号(#)及美元符号($)
2.3标识符不能包含的字符
SQL3
空格或特殊字符
MySQL
句点(.)、斜线(/)或ASCII(0)及ASCII(255)。单引号(‘’)及双引号(“”)仅用于引用标识符内。标识符不应以空格结尾。
Oracle
空格、双引号(“”)或特殊字符
PostgreSQL
双引号(“”)
SQL Server
空格或特殊字符
2.4标识符的前缀必须为
SQL3
字母
MySQL
字母或数字,不能全部由数字组成
Oracle
字母
PostgreSQL
字母或下划线
SQL Server
字母、下划线(_)、at符号(@)、井号(#)
2.5 引用标志符的符号
SQL3
双引号(“”)
MySQL
单引号(‘’)或ANSI兼容模式下的双引号(“”)
Oracle
双引号(“”)
PostgreSQL
双引号(“”)
SQL Server
双引号(“”)或方括号([]),最好使用方括号
2.6大小写是否敏感
SQL3
否
MySQL
只有底层文件系统(Mac OS或Unix)才区分大小写。触发器、日志文件组及表空间是区分大小写的
Oracle
默认情况下不可以,但可以修改此默认值
PostgreSQL
否
SQL Server
默认情况下不可以,但可以修改此默认值
Ps:
1、 Mysql5.6.24中测试,可以用纯数字作为数据库名称、表名称、字段名称,但是执行查询时,会报错;
2、 Postgre的大小写敏感问题(windows环境):
当表名存在大写字母时,比如Ab:
执行select * from Ab 和select * from ab;都会报错:ERROR: relation"ab" does not exist;
只有当表名都是小写时,才不会报错,比如ab:
执行select * from AB 和select * from ab;都不会报错;
3、不同数据库关于标识符的官方文档
Mysql官方文档
Identifier
Maximum Length (characters)
Database
64 (NDB storage engine: 63)
Table
64 (NDB storage engine: 63)
Column
64
Index
64
Constraint
64
Stored Program
64
View
64
Tablespace
64
Server
64
Log File Group
64
Alias
256 (see exception following table)
Compound Statement Label
16
Oracle官方文档
均不超过30
Postgrel官方文档
不超过NAMEDATALEN-1字节的一个标识符,NAMEDATALEN默认是64,所以最大长度是63,长名字会被截断。这个限制是可以被修改的:src / include / pg_config_manual.h NAMEDATALEN常数。
MySQL数据库的敏感标识_不同数据库标志符长度限制总结相关推荐
- mysql数据库时间不准确_主数据库(mysql)的时间不对
今天早上领导通知我讲主数据库的时间不对,Linux的系统时间是对的.怎么回事???难道是我以前更改了系统时间造成??怎么解决呢? 在mysql手册中有下面这段话: 5.10.8. MySQL服务器时区 ...
- mysql rpo是什么意思_揭开数据库RPO等于0的秘密(上)
前言 传统商业关系数据库都声称可以做到故障恢复后不丢数据(即RPO为0),跟故障前的数据状态是强一致的,实际是否一定如此? 开源数据库MySQL在金融核心业务都不敢用,最重要的一个原因是做不到不丢数据 ...
- MySQL数据库课程实验报告_创建数据库并插入数据
1.1 进入数据库 $ sudo service mysql start $ mysql -u root 2.1 创建数据库 create database mysql_shiyan; 创建后查看数据 ...
- mysql删库命令是啥_删除数据库的命令是什么
删除数据库的命令是什么? 当数据库不再使用时应该将其删除,以确保数据库存储空间中存放的是有效数据.删除数据库是将已经存在的数据库从磁盘空间上清除,清除之后,数据库中的所有数据也将一同被删除. 在 My ...
- mysql 分库分表策略_【数据库】分库分表策略
关系型数据库本身比较容易成为系统瓶颈,单机存储容量.连接数.处理能力都有限.当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库.优化索引,做很多操作时性能仍下降严重.此时就要考 ...
- mysql查询数据库创建语句是_查询数据库语句
一.Select语句:67页 select语句除了可以查看数据库中的表格和视图的信息外,还可以查看SQL Server的系统信息.复制.创建数据表,其查询功能强大,是SQL语言的灵魂语句,也是SQL中 ...
- mysql事务保证幂等_使用数据库唯一键实现事务幂等性
幂等性 概念 在分布式系统中,幂等性是一致性方面的一个重要概念.幂等(idempotent.idempotence)是一个数学与计算机学概念,常见于抽象代数中. 在编程中一个幂等操作的特点是其任意多次 ...
- mysql字符集和表字符集_设置数据库的字符集和设置表字段字符集的区别是什么?...
对于oracle来说,只有数据库字符集这个说法,不存在什么表字符集和字段字符集.你说的这个是mysql的字符集,数据库字符集可以和表字符集不同,也可以和列字符集不同,也就是说,你的数据库字符集为utf ...
- mysql 添加多条数据类型_向数据库添加多条数据类型
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
最新文章
- 设计模式 — Overview
- python如何编程-如何入门Python编程
- 【视频课】图像分割最新内容来了(言有三新录制4部分实例分割算法详解)
- android控制音量加减命令 python_盘点5种基于Python生成的个性化语音方法
- 需求评审五个维度框架分析及其带来的启示-2-框架原理
- Linux安装QTCreator问题解决汇总
- 邮件系统之webmail
- POE交换机技术及优势介绍
- mysql 跨实例复制数据_社区投稿 | MySQL 跨实例 copy 大表解决方案
- 机器学习与计算机视觉(移动端深度学习优化框架)
- 在Biztalk应用中调用程序集的方法
- EasyAR4.1平面识别
- w ndows7旗舰版网卡驱动,Win7网卡驱动64位离线安装包 免费版
- 通信原理第三章:正弦波加窄带高斯噪声
- android 阻尼动画,Android阻尼效果 | 自定义进阶之实现MIUI的拖动视差效果
- MySQL怎么打开explain_MySql性能加速分析以及PHPMYADMIN中explain用法
- 淘宝怎么提升商品的自然流量效果好?
- 甘特图——项目计划与实际进度比较与调整
- 初探DSO-SLAM并运行dso_ros
- 区块链积分扩展积分生态大商圈