2014年5月28日 星期三

【MYSQL、MSSQL】複製資料表、複製一筆資料

1.複製一個資料表
MySQL 建議使用下面的方式,好處是 Schema 會一樣
  1. CREATE TABLE new_table LIKE old_table;
  2. INSERT new_table SELECT * FROM old_table
MSSQL 要使用 SELECT * INTO new_table FROM old_table
只複製結構 SELECT * INTO new_table FROM old_table WHERE 1=0

2.複製一筆資料
MySQL、MSSQL 都可使用

INSERT INTO test(
id,
        name,
test1,
test2
)
SELECT
3 AS id,
name,
'test' AS test1,
test2
FROM test
WHERE id =1

* 要複製原來的值就不用AS

3.運用
當資料量大,查詢時可將一個表拆成多個表
如:
Insert Into new_table (學號, 姓名,國文,英文,數學)
Select * From old_table Where 英文>90