復制表的例子1、假如有兩張表結構一樣的表,表名分別為 tableA 和 tableB,表 tableA 里邊有數(shù)據(jù),表 tableB 里邊沒有數(shù)據(jù),將表
復制表的例子
1、假如有兩張表結構一樣的表,表名分別為 tableA 和 tableB,表 tableA 里邊有數(shù)據(jù),表 tableB 里邊沒有數(shù)據(jù),將表 tableA 中的數(shù)據(jù)復制到表 tableB 中。
INSERT INTO tableB SELECt * FROM tableA
1
2、如果不存在表 tableB,要復制 tableA 的表結構到 tableB,
CREATE TABLE tableB LIKE tableA
1
3、如果事先不知道表 tableB 存不存在,要將 tableA 的表結構復制到 tableB
CREATE TABLE IF NOT EXISTS tableB LIKE tableA
1
4、如果要復制表 tableA 的所有字段和數(shù)據(jù)到表 tableB。
CREATE TABLE IF NOT EXISTS tableB SELECt * FROM tableA
1
5、如果要復制表 tableA 中的部分字段和這些字段下的數(shù)據(jù)到表 tableB
CREATE TABLE IF NOT EXISTS tableB SELECt col1, col2, col3 FROM tableA
1
注意:
使用 SELECT 方法復制表中字段和數(shù)據(jù)到新創(chuàng)建的表時,只能復制表中的字段和數(shù)據(jù),不能復制表的屬性。例如 主鍵,索引,備注,所用的存儲引擎等這些都不能被復制。
SELECT 和 LIKE 方法的區(qū)別:
LIKE 方法:LIKE方法是專門復制表結構的方法,他只復制表結構和相關屬性,并不復制里面的數(shù)據(jù)。
SELECT 方法:嚴格來講 SELECT 方法不能理解成復制表結構的方法,其實他只是執(zhí)行了一個SELECT查詢語句。其實復制的結果只包含了 SELECT 的字段和數(shù)據(jù),其他表屬性包括存儲引擎默認字符集等都由系統(tǒng)的配置文件決定。
總結:
如果要復制表結構,用 LIKE。
如果要表里面字段和數(shù)據(jù),用SELECT。
如果不僅要復制表結構還要復制表里面的數(shù)據(jù) 可以先用 LIKE 再用 SELECT(先執(zhí)行上述例子中的3,再執(zhí)行1)。
微信掃碼關注 億華聯(lián)眾 公眾號