日度归档:2019年11月12日

Mysql drop、truncate、delete三个关键字简介说明


摘要:
下文讲述MySQL数据库中drop、truncate、delete三个关键字简介说明,如下所示:


drop、truncate、delete 关键字功能

drop :将直接删除数据表

truncate:删除数据表中的记录

delete:删除数据表记录


drop、truncate、delete 用法区别

drop 直接删除数据表,并且无法回滚

truncate将删除数据表全部数据,并且无法回滚
truncate不会触发触发器进行工作
truncate 删除完毕后,返回0代表成功 -1代表失败

delete 可指定数据范围删除数据,并且可以回滚数据
delete 会触发触发器工作
delete 删除成功后,返回删除的条数信息


drop、truncate、delete关键字效率

drop >truncate >delete

MySQL 如何根据select查询结果集直接生成新的数据表呢?


摘要:
下文讲述MySQL数据库中将“select脚本查询出的结果集”生成新的数据表的方法,如下所示:


实现思路:
直接使用create table 后接查询语句,则 MySQL数据库会根据查询的结果集直接生成相应的数据表。

  mysql> select * from `maomao365.com`;
+-------+------------+
| keyId | infoB      |
+-------+------------+
|     1 | mysql test |
|   129 | sql        |
| 12913 | sql        |
| 12913 | sql        |
| 12913 | sql        |
+-------+------------+
5 rows in set (0.00 sec)

mysql> create table a select keyId from `maomao365.com`;
Query OK, 5 rows affected (0.01 sec)
Records: 5  Duplicates: 0  Warnings: 0

mysql> select * from a;
+-------+
| keyId |
+-------+
|     1 |
|   129 |
| 12913 |
| 12913 |
| 12913 |
+-------+
5 rows in set (0.00 sec)

mysql> create table b select * from `maomao365.com`;
Query OK, 5 rows affected (0.01 sec)
Records: 5  Duplicates: 0  Warnings: 0

mysql> select * from b;
+-------+------------+
| keyId | infoB      |
+-------+------------+
|     1 | mysql test |
|   129 | sql        |
| 12913 | sql        |
| 12913 | sql        |
| 12913 | sql        |
+-------+------------+
5 rows in set (0.00 sec)
mysql_根据结果集生成新的数据表的方法分享

mysql_根据结果集生成新的数据表的方法分享

mssql sqlserver 将查询结果集作为数据表使用的三种方法分享


摘要:
下文讲述在sql脚本编写种,将查询结果集作为数据表使用的几种方法,如下所示:
实验环境:sql server 2008 R2


1.将查询结果集作为子查询和表别名 作为二次数据源使用

  select * from 
   (
      select keyId,info 
	   from [maomao365.com]
   ) as t 


2.将查询结果集放入cte表达式种,二次查询可直接操作cte表达式

  ;
  with cte_temp as 
   (
     select keyId,info 
	   from [maomao365.com]
    )
   select * from cte_temp; 


3.将查询结果集放入临时表或表变量中,供其它数据集使用