mysql与oracle表字段定义比较(二)

2014-11-24 14:38:33 · 作者: · 浏览: 1
字符编码
支持
NCHAR(1-2000)
NVARCHAR(1-4000)
NCLOB
BFILE
外部文件指针类型
不支持
支持
文件大小最大4GB
文件名称最长255字符
自定义数据类型
www.2cto.com
不支持
支持
XML类型
不支持
支持
自增类型
自动增长类型
支持
使用简单
不支持
一般使用SEQUENCE解决,用法与自增类型差别较大,使用较复杂,但能实现非常灵活的应用,包括字符自增主键、全局主键等等
字段默认值表达式
不支持函数和表达式
TEXT和BLOB字段类型不支持默认值
支持函数和表达式
字段顺序修改
支持,例如,把emp表的id字段顺序放在name字段后面:
alter table emp modify column id varchar(20) after name;
不支持,只能重建表或字段
www.2cto.com
虚拟字段
虚拟字段是一个逻辑字段定义,其结果值通常是一个表达式,并在表中存储物理值,不占用空间,主要用于简化查询逻辑。比如有一个商品销售表有单价和数量两个字段,那可以建一个虚拟字段金额,其表达式=单价*数量
不支持
11g支持,例:
create table sales
(
id number,
quantity number,
price number,
amount GENERATED always as (quantity*price) virtual
);
表字段数限制
INNODB 最大1000个字段
所有字段总定义长度不能超过65535字节
所有固定长度字段的总长度不超过半个数据块大小(数据块大小一般为16K)
最大1000个字段