對於數據庫的增刪改查,我們都再熟悉不過了,今天,將和您一起探討幾種不一樣的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條數據,怎么樣,這樣用來做演示數據是不是很方便呢?
希望對您有所幫助,如有任何問題,願意一起探討。謝謝!