mysql快速建表的方法
来源:互联网 发布:如何在淘宝买到好衣服 编辑:程序博客网 时间:2024/05/18 16:55
mysql快速建表的语句写法并不复杂,下面就为您详细介绍两种最常用的mysql快速建表的语句:
- 1:create table t_select select * from t_old where 1 = 0;
- 2:create table t_select1 like t_old;
但是第一种mysql快速建表的语句有缺陷,他能取消原来表的有些定义。(手册上说Some conversion of data types might occur. For example, the AUTO_INCREMENT attribute is not preserved, and VARCHAR columns can become CHAR columns. )
可以看看下面的例子
- create table t_old (id serial, content varchar(8000) not null,`desc` varchar(100) not null) engine innodb;
- show CREATE table t_old;
- | Table | Create Table
- | t_old | CREATE TABLE `t_old` (
- `id` bigint(20) unsigned NOT NULL auto_increment,
- `content` varchar(8000) NOT NULL,
- `desc` varchar(100) NOT NULL,
- UNIQUE KEY `id` (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
- create table t_select select * from t_old where 1 = 0;
- CREATE TABLE `t_select` (
- `id` bigint(20) unsigned NOT NULL default '0',
- `content` varchar(8000) NOT NULL,
- `desc` varchar(100) NOT NULL
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8
这样 自增字段跟表引擎都变了
如果想要保持一样的引擎,就加上:engine innodb
如:
- create table t_select engine innodb select * from t_old where 1 = 0; create table t_like like t_old;
- show CREATE table t_like;
- Table | t_like | CREATE TABLE `t_like` (
- `id` bigint(20) unsigned NOT NULL auto_increment,
- `content` varchar(8000) NOT NULL,
- `desc` varchar(100) NOT NULL,
- UNIQUE KEY `id` (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
这样引擎跟自增字段都没有变
看下面一个一个例子,就知道有什么变化了
- CREATE TABLE `t4_innodb` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `a1` int(11) NOT NULL,
- `a2` int(11) DEFAULT NULL,
- `remark` varchar(200) NOT NULL,
- PRIMARY KEY (`id`),
- KEY `a1_2_idx` (`a1`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
- create table t6_innodb select * from t4_innodb where 1=2;
- CREATE TABLE `t6_innodb` (
- `id` int(11) NOT NULL DEFAULT '0',
- `a1` int(11) NOT NULL,
- `a2` int(11) DEFAULT NULL,
- `remark` varchar(200) NOT NULL
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
- create table t8_innodb like t4_innodb;
- CREATE TABLE `t8_innodb` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `a1` int(11) NOT NULL,
- `a2` int(11) DEFAULT NULL,
- `remark` varchar(200) NOT NULL,
- PRIMARY KEY (`id`),
- KEY `a1_2_idx` (`a1`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
【编辑推荐】
MySQL大表备份的简单方法
MySQL中文建表问题解析
MySQL添加字段和修改字段的方法
MySQL授权表使用示例
MySQL内存表的弊端
转载于:http://database.51cto.com/art/201011/234765.htm
0 0
- mysql快速建表的方法
- mysql数据库导出表数据 快速的方法 提高效率
- 快速插入mysql数据库的方法
- MySQL快速复制数据库的方法
- MySQL快速复制数据库的方法
- mysql 快速拷贝库的方法
- MySQL快速复制数据库的方法
- MySQL快速复制数据库的方法
- MySQL快速复制数据库的方法
- MySQL快速复制数据库的方法
- MySQL快速复制数据库的方法
- MySQL快速复制数据库的方法
- MySQL快速复制数据库数据表的方法
- MySQL快速复制数据库的方法
- mysql提高快速插入数据的方法
- MySQL快速复制数据库的方法
- 快速打开mysql的方法,简单的批处理命令
- 快速创建表的方法
- C++Builder 资料库 (转载)
- JAVA 极速WEB+ORM框架 JFinal
- 分布式架构学习一:dubbo管控台的安装
- Spring注解@Component、@Repository、@Service、@Controller区别
- Java设计模式--工厂模式
- mysql快速建表的方法
- Python学习
- C# & java 时间的简单处理
- Android 识别汉字和数字
- 微信小程序
- 关于display:inline-block的元素不在同一水平线
- React Native性能优化
- 图像分割资料分享
- 更改Linux鼠标指针大小