mysql分表创建语句详解⽂章⽬录
前⾔
提⽰:mysql中通常会需要去创建分表来进⾏存储数据
提⽰:以下是本篇⽂章正⽂内容,下⾯案例可供参考
⼀、两种常⽤建⽴分表语句
(1)第⼀种建表语句
create table loginfo_12 as select*from loginfo
执⾏结果语句对⽐
CREATE TABLE`loginfo`(
`id`int(11)NOT NULL AUTO_INCREMENT,
`device_id`varchar(50)DEFAULT NULL COMMENT'设备Id',
`content`text NOT NULL COMMENT'内容',
`add_time`datetime NOT NULL COMMENT'添加时间',
`data_type`int(11)NOT NULL COMMENT'数据类型',
`extend`varchar(255)DEFAULT NULL COMMENT'扩展',
PRIMARY KEY(`id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='监视⽇志表';
CREATE TABLE`loginfo_12`(
`id`int(11)NOT NULL DEFAULT'0',
`device_id`varchar(50)DEFAULT NULL COMMENT'设备Id',
`content`text NOT NULL COMMENT'内容',
`add_time`datetime NOT NULL COMMENT'添加时间',
`data_type`int(11)NOT NULL COMMENT'数据类型',
`extend`varchar(255)DEFAULT NULL COMMENT'扩展'
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
此时我们会发现通过语句⽣成的表中主键⾃增以及索引均没有了
(2)第⼆种建表语句
create table if not exists loginfo_13 like loginfo
执⾏结果语句对⽐
CREATE TABLE`loginfo`(
`id`int(11)NOT NULL AUTO_INCREMENT,
`device_id`varchar(50)DEFAULT NULL COMMENT'设备Id',
`content`text NOT NULL COMMENT'内容',
`add_time`datetime NOT NULL COMMENT'添加时间',
`data_type`int(11)NOT NULL COMMENT'数据类型',
`extend`varchar(255)DEFAULT NULL COMMENT'扩展',
PRIMARY KEY(`id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='监视⽇志表';
CREATE TABLE`loginfo_13`(
`id`int(11)NOT NULL AUTO_INCREMENT,
`device_id`varchar(50)DEFAULT NULL COMMENT'设备Id',
`content`text NOT NULL COMMENT'内容',
`add_time`datetime NOT NULL COMMENT'添加时间',
`data_type`int(11)NOT NULL COMMENT'数据类型',
`extend`varchar(255)DEFAULT NULL COMMENT'扩展',
PRIMARY KEY(`id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='监视⽇志表';
此时我们会发现通过语句⽣成的表中主键⾃增以及索引均和原本sql相同
mysql创建表数据类型⼆、优势⽐较
1.第⼀种语句⽅式对于创建重复表时,若表已经存在则会抛出异常;第⼆种语句⽅式若分表已经存也不会抛出异常信息。
2.第⼀种语句不会将表的结构完全复制,只是参照表的数据来创建分表;第⼆种语句⽅式在进⾏分表时会将表得结构进⾏复制来创建分表。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。