• mysql快速创建空表


      今天有人问我用什么方法可以创建空表?
    在MYSQL中有两种方法。
    1、create table select ...
    2、create table like ...
    第一种很多人都知道,第二种却很少人用。
    第一种有个缺点
    1、第一种会取消掉原来表的有些定义。
    手册上是这么讲的:
    Some conversion of data types might occur. For example, the AUTO_INCREMENT attribute is not preserved, and VARCHAR columns can become CHAR columns.
    不过我测试过,只会取消自增属性!(其他版本没有测试过!)



    第二种就不会。
    我们来看看例子:

    mysql> create table t_old (id serial, content varchar(8000) not null,`desc` varchar(100) not null) engine innodb;
    Query OK, 0 rows affected (0.01 sec)

    mysql> 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 |
    +-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)

    mysql> create table t_select select * from t_old where 1 = 0;
    Query OK, 0 rows affected (0.01 sec)
    Records: 0  Duplicates: 0  Warnings: 0

    PS:如果想要保持一样的引擎,就加上。
    这样写:create table t_select engine innodb select * from t_old where 1 = 0;

    mysql> show create table t_select;
    +----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table    | Create Table                                                                                                                                                                       |
    +----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | t_select | 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 |
    +----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)

    mysql> create table t_like like t_old;
    Query OK, 0 rows affected (0.02 sec)

    mysql> show create table t_like;
    +--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table  | Create 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 |
    +--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)

    mysql>
  • 相关阅读:
    判断奇偶数2
    判断奇偶数
    15.09.29
    .
    Java代码
    Handler 接收Parcelable ArrayList时返回空的错误
    Android Binder设计与实现
    xml解析代码示例
    解析rss和atom文件出现乱码问题
    使用Html.fromHtml将html格式字符串应用到textview上面
  • 原文地址:https://www.cnblogs.com/secbook/p/2655303.html
Copyright © 2020-2023  润新知