创建表查询可用于在现有数据库中创建新表。
在创建新表之前,重要的是要考虑表布局以及需要使用哪些数据类型。
对于 MySQL,具有唯一索引的简单创建表查询如下所示:
create table blog_posts ( title varchar(100) not null, description varchar(255) not null, url varchar(255) not null, ptime timestamp default current_timestamp, mtime timestamp default current_timestamp, unique (url) );
此查询将创建一个表,该表会在创建新教程 文章时自动插入当前时间戳。
布局将如下所示:
mysql> describe blog_posts; +-------------+--------------+------+-----+-------------------+-------------------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+-------------------+-------------------+ | title | varchar(100) | NO | | NULL | | | description | varchar(255) | NO | | NULL | | | url | varchar(255) | NO | PRI | NULL | | | ptime | timestamp | YES | | CURRENT_TIMESTAMP | DEFAULT_GENERATED | | mtime | timestamp | YES | | CURRENT_TIMESTAMP | DEFAULT_GENERATED | +-------------+--------------+------+-----+-------------------+-------------------+ 5 rows in set (0.01 sec)
这张表为我们构建自己的教程 CMS 奠定了良好的基础;我们可以使用更改表查询轻松地根据自己的需要调整它。
选择数据类型
一个字段只会占用它包含的数据的大小,而不是列的最大大小。
为表中的每一列选择合适的数据类型是构建数据库表的重要部分;对于许多目的,varchar 和 text 就足够了。
但是,我们还应该了解其他数据类型,并注意其中的一些差异。
下面是一些字符串数据类型:
varchar | 0-255字节(+1字节存储数据)或者255-65535字节(+2字节存储数据) |
---|---|
text | 65535字节 |
mediumtext | 6.777.215字节 - (16 MB) |
longtext | 4.294.967.295字节 - (4 GB) |
varchar 和 text 都是字符串数据类型。
varchar 类型用于可变长度的数据。
两者的区别主要是text类型是定长的(65535字节),而varchar的长度可以根据需要进行调整。
长度为0-255的varchar占用1个字节+数据大小; 255-65535 占用 2 个字节 + 数据大小。
如果最大行大于 65535 字节,我们可能需要改用中文本或者长文本。
日期:2020-06-02 22:17:34 来源:oir作者:oir