MySQL中两种快速创建空表的方式的区别以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
在MySQL中有两种方法
create table t_name select create table t_name like
第一种会取消掉原来表的有些定义 且引擎是系统默认引擎
手册上是这么讲的 Some conversion of data types might occur For example the AUTO_INCREMENT attribute is not preserved and VARCHAR columns can bee CHAR columns
第二种就完全复制原表
先建立测试表:
mysql> create database dbtest; Query OK row affected ( sec) mysql> use dbtest; Database changed mysql> create table t_old > ( > id serial > content varchar( ) not null > `desc` varchar( ) not null) > engine innodb; Query OK rows affected ( sec) mysql> show create table t_old; + + + | Table | Create Table | + + + | t_old | CREATE TABLE `t_old` ( `id` bigint( ) unsigned NOT NULL auto_increment `content` varchar( ) NOT NULL `desc` varchar( ) NOT NULL UNIQUE KEY `id` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin | + + + row in set ( sec)
第一种方式
mysql> create table t_select select * from t_old where = ; Query OK rows affected ( sec) Records: Duplicates: Warnings: mysql> show create table t_select; + + + | Table | Create Table + + + | t_select | CREATE TABLE `t_select` ( `id` bigint( ) unsigned NOT NULL default `content` varchar( ) NOT NULL `desc` varchar( ) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin | + + + row in set ( sec)
第二种方式 lishixinzhi/Article/program/MySQL/201311/29611
分页:123