知识大全 MySQL中两种快速创建空表的方式的区别

Posted

篇首语:学向勤中得,萤窗万卷书。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 MySQL中两种快速创建空表的方式的区别相关的知识,希望对你有一定的参考价值。

MySQL中两种快速创建空表的方式的区别  以下文字资料是由(全榜网网www.cha138.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)

  第二种方式

cha138/Article/program/MySQL/201311/29611

相关参考