如何使用已存在於另一個表(表副本)中的數據創建表?使用另一個表中的數據創建SQL表
回答
如果你正在使用MySQL,你可能想使用CREATE TABLE ... AS SELECT
語法創建另一個結果集的列和數據類型定義的表:
CREATE TABLE new_table AS
SELECT *
FROM old_table;
例子:
CREATE TABLE old_table (id int, value int);
INSERT INTO old_table VALUES (1, 100), (2, 200), (3, 300), (4, 400);
CREATE TABLE new_table AS
SELECT *
FROM old_table;
SELECT * FROM new_table;
+------+-------+
| id | value |
+------+-------+
| 1 | 100 |
| 2 | 200 |
| 3 | 300 |
| 4 | 400 |
+------+-------+
4 rows in set (0.00 sec)
DESCRIBE new_table;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| value | int(11) | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.03 sec)
對於不支持此語法的其他DBMS,您可能需要查看@OMG Ponies' answer以獲得更便攜的解決方案。
非常感謝您 – Renuka 2010-08-01 16:55:33
@Renuka:如果您喜歡答案,請考慮使用左側的箭頭進行投票。您可以使用綠色「接受」您最喜歡的答案V. – Andomar 2010-08-01 17:02:53
@DanielVassallo如果源表存在於不同數據庫中,該怎麼辦? 我也問過類似的問題,但用不同的用例 - http://stackoverflow.com/questions/38351206/how-to-create-table-structure-in-rds-similar-to-source-table-in-redshift-and -vic – devsda 2016-07-14 06:32:03
對於SQL Server
SELECT *
INTO NewTable
FROM OldTable
如果OldTable出現在不同的數據庫中,該怎麼辦? 可以請你回答這個問題 - http://stackoverflow.com/questions/38351206/how-to-create-table-structure-in-rds-similar-to-source-table-in-redshift-and-vic – devsda 2016-07-14 06:30:52
複製表的最輕便的方法是:
- 與基於SELECT CREATE TABLE語句
使用INSERT創建新表來自舊錶:
INSERT INTO new_table SELECT * FROM old_table
在SQL Server中,我會使用INTO語法:
SELECT *
INTO new_table
FROM old_table
...因爲在SQL Server中,INTO子句創建一個不存在的表。
優秀的答案。 – 2012-04-13 14:14:09
對於SQL Server:
從現有的表新表:
CREATE TABLE new_table_name AS
SELECT [col1,col2,...coln] FROM existing_table_name [WHERE condition];
值插入現有的表使用形成另一種現有的表選擇命令:
SELECT * INTO destination_table FROM source_table [WHERE conditions];
SELECT *
INTO newtable [IN externaldb]
FROM oldtable
[ WHERE condition ];
插入值到現有表格中形成另一個現有表格使用 插入命令:
INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1,column2, column3, ... FROM table1 [WHERE condition];
數據傳輸很好,但我認爲Renuka也需要表結構。 – profimedica 2017-07-04 08:29:01
將現有表的確切架構映射到新表:create table new_table_name like Old_table_name; – 2017-07-07 13:45:07
https://stackoverflow.com/a/44972381/8227002 – 2017-07-07 13:52:41
如果u想現存表的新表確切的架構和現有的表的所有值要被插入到新表,然後執行以下兩個查詢:
create table new_table_name like Old_table_name;
select * into new_table_name from Old_table_name;
LIKE僅適用於基表,不適用於視圖。
如果原始表是TEMPORARY表,CREATE TABLE ... LIKE不保留TEMPORARY。要創建TEMPORARY目標表,請使用CREATE TEMPORARY TABLE ... LIKE。
- 1. SQL創建新表並從另一個表中插入數據
- 2. 根據sql中的另一個表列值創建表列
- 3. SQL:使用一個表中的數據將新數據插入另一個表
- 4. 根據另一個表中的數據更新一個SQL表
- 5. postgresql從另一個表中的另一個表創建表
- 6. SQL Server 2008中 - 從另一個表動態創建一個表
- 7. 在創建表中選擇另一個表的SQL一列
- 8. 使用另一個表中的唯一值創建表
- 9. 從另一個創建一個數據幀(使用數據透視表)
- 10. SQL,使用另一個表中的數據從另一個表中查詢數據
- 11. 更新一個表從另一個表在SQL中使用的數據
- 12. 從和SQL數據庫創建表包含一個下拉菜單與另一個SQL表的名稱列表
- 13. 使用另一個工作表中的數據過濾數據創建一個表
- 14. MySQL使用另一個表中的set屬性創建表?
- 15. 使用另一個表中的數據更新一個表 - Oracle
- 16. 使用另一個表中的數據更新一個表
- 17. 如何創建一個觸發器,用於在另一個表中插入數據時創建表中的列
- 18. 創建另一個表的結構表無數據
- 19. 使用HTML/PHP從SQL數據庫創建一個列表
- 20. 根據另一個列表的值創建一個列表c#
- 21. 使用另一個表中的數據生成sql select語句
- 22. SQL更新聲明使用另一個表中的數據
- 23. 使用另一個表格的計算數據創建新表格
- 24. 在另一個表中創建從不同的數據庫在SQL Server 2005中
- 25. sql:在表中創建一個表
- 26. 使用python在另一個數據庫上創建一個類似的表格
- 27. SQL Server 2005 UDF創建一個表數據類型的自引用表數據
- 28. SQL使用另一個數據更新一個單行表
- 29. 如何從列表中獲取一些數據並在RxJava中使用該數據創建另一個列表
- 30. 如何創建觸發器從另一個表中的數據
什麼RDBMS?沒有一個標準的方法。 – 2010-08-01 16:51:59
我假設你有數據。不確定您是否有權訪問元數據來複製表結構,或者您想從內容樣本中推斷表結構。另外,還沒有定義你使用的數據庫。 – profimedica 2017-07-04 08:31:02