026、SQL语句之表的DDL

创建、删除表

  • CREATE TABLE [IF NOT EXISTS] table_name …
  • 表创建后,它们的定义保存在: information_schema.tables
  • 丢弃⼀张表: DROP TABLE [IF EXISTS] table_name;
  • 删除表内所有数据: TRUNCATE TABLE table_name;

删除普通表和临时表的⽤法如下:

  • DROP TEMPORARY TABLE 只能删除本地临时表
  • DROP GLOBAL TEMPORARY TABLE 只能删除全局临时表
  • DROP TABLE 可以删除普通表或临时表

查看创建表的 DDL

SHOW CREATE TABLE
tidb> SHOW CREATE TABLE universe.stars\G
*************************** 1. row ***************************
 Table: stars
Create Table: CREATE TABLE `stars` (
 `id` bigint(20) NOT NULL /*T![auto_rand] AUTO_RANDOM(5) */,
 `name` char(20) NOT NULL DEFAULT '',
 `mass` float NOT NULL DEFAULT '0.0' COMMENT '10**24 kg',
 `density` int(11) NOT NULL DEFAULT '0' COMMENT 'kg/m**3',
 `gravity` decimal(20,4) NOT NULL DEFAULT '0.0' COMMENT 'm/s**2',
 `escape_velocity` decimal(8,1) DEFAULT NULL COMMENT 'km/s',
 `mass_conversion_rate` int(11) DEFAULT NULL COMMENT '10**6
kg/s',
 `spectral_type` char(8) NOT NULL DEFAULT '',
 `distance_from_earth` float DEFAULT NULL COMMENT 'light year',
 `discover_date` datetime DEFAULT NULL,
 PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */,
 KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T!
[auto_rand_base] AUTO_RANDOM_BASE=134447 */
1 row in set (0.00 sec)

复制现有表结构

CREATE TABLE 与 LIKE 关键字⼀起使⽤可创建与另⼀个表具有相同结构的表:

  • ⼆级索引
  • 列选项
  • 没有数据

CREATE TABLE LIKE 语句⽤于复制已有表的定义,但不复制任何数据。

create table test.dropme2 like test.dropme;
Query OK, 0 rows affected (0.52 sec)
tidb> desc test.dropme;
+---------+---------------+------+------+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+---------------+------+------+---------+-------+
| id | bigint(20) | NO | PRI | NULL | |
| uuid | bigint(20) | NO | | NULL | |
| isvalid | enum('T','F') | NO | | F | |
+---------+---------------+------+------+---------+-------+
3 rows in set (0.00 sec)
tidb> desc test.dropme2;
+---------+---------------+------+------+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+---------------+------+------+---------+-------+
| id | bigint(20) | NO | PRI | NULL | |
| uuid | bigint(20) | NO | | NULL | |
| isvalid | enum('T','F') | NO | | F | |
+---------+---------------+------+------+---------+-------+
3 rows in set (0.00 sec)

猜你喜欢

转载自blog.csdn.net/wangzhicheng987/article/details/130762106