1.临时表
临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间。
// 创建临时表create temporary Table salesSummary()// 插入数据insert into salesSummary () values ();
2. 复制表
如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等。 如果仅仅使用CREATE TABLE … SELECT 命令,是无法实现的。
步骤:
- 使用 SHOW CREATE TABLE 命令获取创建数据表(CREATE TABLE) 语句,该语句包含了原数据表的结构,索引等。
- 复制以下命令显示的SQL语句,修改数据表名,并执行SQL语句,通过以上命令 将完全的复制数据表结构。
- 如果你想复制表的内容,你就可以使用 INSERT INTO … SELECT 语句来实现。
```sql
//首先获取表
mysql> show create table test\G;
* 1. row *
Create Table: CREATE TABLETable: test
test(idint DEFAULT NULL,ibigint NOT NULL,namevarchar(20) DEFAULT NULL,agebigint DEFAULT ‘20’, KEYuser_age(age) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci 1 row in set (0.04 sec)
这时候复制表的结构如下:<br />```sql// 更改表名mysql> CREATE TABLE `test_clone` (-> `id` int DEFAULT NULL,-> `i` bigint NOT NULL,-> `name` varchar(20) DEFAULT NULL,-> `age` bigint DEFAULT '20',-> KEY `user_age` (`age`)-> )ENGINE=INNodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci;Query OK, 0 rows affected (0.05 sec)
// 复制表内容insert into test_clone (id, i, name, age) select id, i, name, age from test;

