对于数据库的增删改查,我们都再熟悉不过了,今天,将和您一起探讨几种不一样的SQL用法,原来,SQL还可以这么玩儿。

以下是数据库的原表,如图-1。

1、快速复制表结构

这时,如果我们需要复制一份一模一样的表结构,您会怎么操作呢?当然,您可以通过导出表结构,再执行SQL脚本,这样肯定是可以达到目的的,再或者,您也可以再建一份一模一样的表,这样也可以达到目的。但是,如果有十几个字段呢,几十个字段呢,甚至上百个字段呢?这时我相信绝大部分人都不会这么干了,下面我们来看另外一种用法。咱们不妨执行一下以下的SQL语句来看看结果:

select * into T_Class_BF from T_Class where 1<>1;
select * from T_Class_BF;

再或者,执行一下以下SQL语句。

  select top 0 * into T_Class_B from T_Class;
select * from T_Class_B;

怎么样,当您再刷新数据库的时候,是不是发现多了两个跟T_Class结构一模一样的表T_Class_BF和表T_Class_B呢?通过这种方法,可以快速的复制表结构。到这里有人就会问了,有了表结构没有数据怎么办呢?莫非我还要一条一条的添加数据么,当然不是了!

2、复制表数据

最常规的方法,我们可以选中以有的表,然后导出数据脚本,这样的话可以将数据导出到一个SQL脚本,然后执行一下这个脚本,肯定是可以得到想要的结果的,但是,执行以下SQL语句,更能快速的实现将数据从一个表导入到另一个表,请看示例:

  select * from T_Class_BF;

  insert into T_Class_BF(ClassName,Count,AddDate,IsDel)
select ClassName,COUNT,AddDate,IsDEl from T_Class;
select * from T_Class_BF;

以下是执行结果:如图-2。

3、快速插入演示数据

在我们操作数据库的时候,很多时候,新建了一个表,但是表里刚开始却没有数据,如何快速的往表里添加大量的演示数据呢?除了一遍一遍执行SQL之外没有别的办法了吗?办法肯定是有的,这里就把平时自己经常用的一种拿来和大家分享以下。说到底也是执行SQL语句,只是执行的语句不一样。请看:

通过上文创建的T_Class_B表此时还是空的,我们拿它来演示一下。我们先通过一行SQL语句插入一条数据:

 insert into T_Class_B(ClassName,Count,AddDate,IsDel)
values ('我是测试班级',100,getDate(),1)

有了这一行语句,我们便可快速的复制出数据来啦。请先注意一下,目前表里是只有刚才插入的这一条数据的,我们把以下这条语句执行三遍,再看看表里的数据,如图-3所示,执行的语句:通过结果我们看到,现在表里的数据变成了8条!8条!

insert into T_Class_B(ClassName,Count,AddDate,IsDel)
select '我是测试班级',100,getDate(),1 from T_Class_B

执行了3次之后,居然有了8条数据。对数据敏感的同学可能立刻会想到了,2的3次方刚好是8,那么恭喜你,答对了。按照以上的方式插入数据,是按照2的N次方来增加的,如果再执行一次,查询结果将会变成16条数据,怎么样,这样用来做演示数据是不是很方便呢?

希望对您有所帮助,如有任何问题,愿意一起探讨。谢谢!

   

SQL还可以这么玩儿的更多相关文章

  1. netstat 竟然还能这么玩儿?

    一次摸鱼的机会,看到群里小伙伴问了一嘴 netstat -tnpl 这个命令是干啥的,这个命令用过很多,但是我其实也没有认真研究过,但是这是一个问题,我不能放过它,而且 netstat 这个命令我日常 ...

  2. 蚂蚁金服开源机器学习工具SQLFlow,机器学习比SQL还简单

    来自:开源最前线(ID:OpenSourceTop) 综合自:AI前线.https://github.com/sql-machine-learning/sqlflow 5月6日,蚂蚁金服副 CTO 胡 ...

  3. 你的 SQL 还在回表查询吗?快给它安排覆盖索引

    什么是回表查询 小伙伴们可以先看这篇文章了解下什么是聚集索引和辅助索引:Are You OK?主键.聚集索引.辅助索引,简单回顾下,聚集索引的叶子节点包含完整的行数据,而非聚集索引的叶子节点存储的是每 ...

  4. 函数还能这样玩儿~实现类似add(1)(2)(3)的函数

    人生的第一份前端工作找到了,感谢大神主子们给半路出家自学的我这么多的机会,很高兴正式踏上客观又乐趣满满的程序员之路,哇咔咔咔. ​ 分享一个准备面试时遇到的一个有趣的问题: 要求实现类似add(1)( ...

  5. MySQL中特别实用的几种SQL语句送给大家

    在写SQL时,经常灵活运用一些SQL语句编写的技巧,可以大大简化程序逻辑.减少程序与数据库的交互次数,有利于数据库高可用性,同时也能显得你的SQL很牛B,让同事们眼前一亮. 目录 实用的SQL 1.插 ...

  6. SQL Server-聚焦LEFT JOIN...IS NULL AND NOT EXISTS性能分析(十七)

    前言 本节我们来分析LEFT JOIN和NOT EXISTS,简短的内容,深入的理解,Always to review the basics. LEFT JOIN...IS NULL和NOT EXIS ...

  7. 读书笔记--SQL必知必会11--使用子查询

    11.1 子查询 查询(query),任何SQL语句都是查询.但此术语一般指SELECT语句. SQL还允许创建子查询(subquery),即嵌套在其他查询中的查询. 作为子查询的SELECT语句只能 ...

  8. Atitit  补充说明 sql知识图谱与线路图attilax总结补充说明

    Atitit  补充说明 sql知识图谱与线路图attilax总结补充说明 1. 常见编程语言的分类  :命令式语言.函数式语言.逻辑语言1 1.1. 按照编程语言的代际划分,又2gl,3gl,4gl ...

  9. SQL SERVER中隐式转换的一些细节浅析

    其实这是一篇没有技术含量的文章,精通SQL优化的请绕道.这个缘起于在优化一个SQL过程中,同事问了我一个问题,为什么SQL中存在隐式转换,但是执行计划没有变? 我思索了一下,觉得这个问题也有点意思,说 ...

随机推荐

  1. Python——Shell编程关于Sha-Bang(#!)

    Q. #!的名字为什么叫Sha-Bang? A. Sha-Bang是Sharp和Bang的组合词.Sharp for #, Bang for ! 类似的情况是,C#通常被称为C Sharp Q. Sh ...

  2. Python dict的特点

    dict的特点 1:查找速度快 2:浪费空间 3:key不可以重复,且不可变 4:数据无序排放 dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样.而list的 ...

  3. Python 小程序,对文件操作及其它

    以下是自己写的几个对文件操作的小程序,里面涉及到文件操作,列表(集合,字典)的运用等.比方说,从文件里读取一行数据.分别存放于列表中,再对列表进行操作.如去掉里面的反复项.排序等操作. 常见对文件里行 ...

  4. 模式的秘密-代理模式(2)-JDK动态代理

    代理模式-动态代理 (1) (2) 代码实践动态代理: 第一步:被代理类的接口: package com.JdkProxy; public interface Moveable { void move ...

  5. 转载【微信支付】jsapi支付之传参问题(使用微信官方SDK之PHP版本) V3之WxpayPubHelper 亲测有效,V3WxpayAPI_php_v3.zip版未测试,理论上也是一样的。

    本文转载至:http://blog.csdn.net/geeklx/article/details/51146151 (微信支付现在分为v2版和v3版,2014年9月10号之前申请的为v2版,之后申请 ...

  6. Java Socket网络编程Server端详解

    Socket通信:分为客户端和服务端的socket代码. Java SDK提供一些相对简单的Api来完成.对于Java而言.这些Api存在与java.net 这个包里面.因此只要导入这个包就可以开始网 ...

  7. export、exports、modules.exports 和 require 、import 的一些组合套路和坑

    推荐阅读第三方文章: http://www.tuicool.com/articles/uuUVBv2 引入: require / import 导出:export / module.exports / ...

  8. 查看linux服务器硬盘IO读写负载

    最近一台linux服务器出现异常,系统反映很慢,相应的应用程序也无法反映,而且还出现死机的情况,经过几天的观察了解,发现服务器压力很大,主要的压力来自硬盘的IO访问已经达到100% 为了方便各位和自己 ...

  9. Atitit.Gui控件and面板----db数据库区----- .数据库比较同步工具 vOa

    Atitit.Gui控件and面板----db数据库区----- .数据库比较同步工具 vOa 1. 咨微海信数据库应用 工具 1 2. 数据库比较工具 StarInix SQL Compare    ...

  10. 揭开Altera公司支持OpenCL的设计工具的神秘面纱

    将程序中处理负荷较大的工作分配给加速器LSI的“异构计算(Heterogeneous Computing)”将踏出崭新的一步.美国Altera公司将于2013年内开始面向普通用户提供可自动由按照异构计 ...