Laravel 数据迁移字段类型&字段长度综合表
Laravel 数据迁移字段类型&字段长度综合表
数值类型
命令 | 大小 | 描述 | 范围 | 用途 | 最大时间 | 最大存储单位 |
---|---|---|---|---|---|---|
$table->tinyInteger('votes'); | 1 字节 | 相当于 TINYINT | (-128,127) | 小整数值 | 127秒 | 127b |
$table->tinyIncrements('id'); | 1 字节 | 相当于 自动递增 UNSIGNED TINYINT | (0,255) | 小整数值 | 255秒 | 255b |
$table->unsignedTinyInteger('votes'); | 1 字节 | 相当于 不递增 UNSIGNED TINYINT | (0,255) | 小整数值 | 255秒 | 255b |
$table->smallInteger('votes'); | 2 字节 | 相当于 SMALLINT | (-32 768,32 767) | 大整数值 | 9.1h | 31.99kb |
$table->unsignedSmallInteger('votes'); | 2 字节 | 相当于 不递增 UNSIGNED SMALLINT | (0,65 535) | 大整数值 | 18h | 63.99kb |
$table->mediumInteger('votes'); | 3 字节 | 相当于 MEDIUMINT | (-8 388 608,8 388 607) | 大整数值 | ||
$table->unsignedMediumInteger('votes'); | 3 字节 | 相当于 Unsigned MEDIUMINT | (0,16 777 215) | 大整数值 | ||
$table->integer('votes'); | 4 字节 | 相当于 INTEGER | (-2 147 483 648,2 147 483 647) | 大整数值 | ||
$table->increments('id'); | 4 字节 | 递增的 ID (主键),相当于「UNSIGNED INTEGER」 | (0,4 294 967 295) | 大整数值 | ||
$table->bigInteger('votes'); | 8 字节 | 相当于 BIGINT | (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) | 极大整数值 | ||
$table->unsignedBigInteger('votes'); | 8 字节 | 相当于 UNSIGNED BIGINT | (0,18 446 744 073 709 551 615) | 极大整数值 | ||
$table->float('amount', 8, 2); | 4 字节 | 相当于带有精度与基数 FLOAT |
(-3.402 823 466 E+38,-1.175 494 351 E-38), 0,(1.175 494 351 E-38,3.402 823 466 351 E+38) |
单精度 浮点数值 |
||
$table->double('column', 8, 2); | 8 字节 | 相当于带有精度与基数 DOUBLE |
(-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308), 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) |
双精度 浮点数值 |
||
$table->decimal('amount', 8, 2); | 对DECIMAL(M,D) | 相当于带有精度与基数 DECIMAL | 依赖于M和D的值 | 小数值 | ||
日期和时间类型
命令 | 大小 | 描述 | 范围 | 格式 | 用途 |
---|---|---|---|---|---|
$table->date('created_at'); | 3字节 | 相当于 DATE | 1000-01-01/9999-12-31 | YYYY-MM-DD | 日期值 |
$table->time('sunrise'); | 3字节 | 相当于 TIME | '-838:59:59'/'838:59:59' | HH:MM:SS | 时间值或持续时间 |
$table->year('birth_year'); | 1字节 | 相当于 YEAR | 1901/2155 | YYYY | 年份值 |
$table->dateTime('created_at'); | 8字节 | 相当于 DATE | 1000-01-01 00:00:00/9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
$table->timestamp('added_on'); | 4字节 | 相当于 TIMESTAMP |
1970-01-01 00:00:00/2038 结束时间是第 2147483647 秒, 北京时间 2038-1-19 11:14:07, 格林尼治时间 2038年1月19日 凌晨 03:14:07 |
YYYYMMDD HHMMSS | 混合日期和时间值,时间戳 |
字符串类型
类型 | 大小 | 描述 | 用途 |
---|---|---|---|
$table->char('name', 4); | 0-255字节 | 相当于带有长度的 CHAR | 定长字符串 |
$table->string('name', 100); | 0-65535 字节 | 相当于带长度的 VARCHAR | 变长字符串 |
TINYBLOB | 0-255字节 | 不超过 255 个字符的二进制字符串 | |
TINYTEXT | 0-255字节 | 短文本字符串 | |
$table->binary('data'); | 0-65 535字节 | 相当于 BLOB | 二进制形式的长文本数据 |
$table->text('description'); | 0-65 535字节 | 相当于 TEXT | 长文本数据 |
MEDIUMBLOB | 0-16 777 215字节 | 二进制形式的中等长度文本数据 | |
$table->mediumText('description'); | 0-16 777 215字节 | 相当于 MEDIUMTEXT | 中等长度文本数据 |
LONGBLOB | 0-4 294 967 295字节 | 二进制形式的极大文本数据 | |
$table->longText('description'); | 0-4 294 967 295字节 | 相当于 LONGTEXT | 极大文本数据 |