1.Mysql
VARCHAR 单个字段大于65535字节 则会转为text
mysql单行最大限制为65535
若数据库字符类型为gbk 每个字符最多占2个字节 最大长度不能超过32766
若字符类型为UTF-8 每个字节最多占3个字节
mysql varchar(n)
mysql 5.x以上的版本定义的是字符长度,4.x定义字节长度
MYSQL当中的日期类型:
Date YYYY-MM-DD '10000-01-01'到''9999-12-31'
DateTime YYYY-MM-DD HH:MM:SS '10000-01-01 00:00:00' 到'9999-12-31 23:59:59'
Timestamp 时间戳 YYYY-MM-DD HH:MM:SS '1970-01-01 00:00:00' 到 '2037-12-31 23:59:59'
MYSQL当中的时间类型
MYSQL当中时间类型
Time HH:MM:SS
1.mysql的长度限制
SQL语句长度默认不可以大于1m, 可以更改mysql的配置文件(my.ini)(my.conf)
2.DB2
字符串
DB2当中的VARCHA存储的是字节的长度
对于4k页表空间的表 长度不能超过 4*1024 -4 = 4092
对于8k页表空间的表 长度不能超过 8*1024 -4 = 8188
对于16k页表空间的表 长度不能超过 16*1024 -4 = 16380
对于32k页表空间的表 长度不能超过 32*1024 -4 = 32672
long varchar 不受表空间页的限制,只要不超过32700字节即可
CLOB 最大存储2G字节的数据
时间
DATE 显示到年月日 '0001-01-01'到 '9999-12-31'
TIME 显示时分秒
TIMESTAMP 时间戳 表示 年月日 时分秒 精确到微妙级别 '0001-01-01 00:00:00' 到'9999-12-31 23:59:59'
整型
SMALLINT 精度5位 -32768-32768
INT INTEGER 精度10位-2147483648-2147483648
BIGINT 精度19位 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
小数
REAL 单精度 近似值
DOUBLE 双精度 近似值
DECIMAL 精确存储
1.查看DB2的版本
SELECT SERVICE_LEVEL FROM SYSIBMADM.ENV_INST_INFO
2.DB2更改表字段类型
--添加
ALTER TABLE <TABLE_NAME> ADD COLUMN <NAME> <DATA_TYPE>
--修改
ALTER TABLE <TABLE_NAME> ALTER COLUMN <NAME> SET DATA TYPE <DATA_TYPE>
-- 修改字段为非空
alter table <TABLE_NAME> alter column <COLUMN_NAME> set <NOT NULL>
--修改字段为空
alter table <TABLE_NAME> alter column <COLUMN_NAME> drop not null
--表结构重构
reorg table <table_name> with distribution and indexes all;
ORACLE
字符串:
CHAR(n) 表示最大n个字节,不足会补空格 最大长度为2000
VARCHAR2(n)表示n个字节 最大存储4000字节
数字类型
NUMBER(p,s) p表示总精度 s表示小数位 四舍五入
NUMBER(10) == NUMBER(10,0) java.lang.INTEGER
NUMBER(19) ==NUMBER(19,0) java.lang.LONG
DATE 表示年月日时分秒
TIMESTAMP 表示年月日时分秒 小数秒
大字段:
BLOB :ORACLE9 ---4GB ORACLE 10 4GB*(数据块的大小)
1.ORACLE长度的限制
11G以前 不能超过32k
SQL语句长度 64k 经网友测试可能会超过1m
DB2 创建自增序列
AID BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY