我有一個 SQLite 資料庫。我有一個資料表。我想將表中的所有資料作為 SQL INSERT INTO 陳述句獲取。
例如,考慮我們在表中有以下資料:
| ID | 名稱 |
|---|---|
| 1 | 獅子 |
| 2 | 老虎 |
而且,我希望它們的 SQL 陳述句如下:
INSERT INTO table_name (id, name)
VALUES (1, "Lion"),
(2, "Tiger");
是否可以使用 SQL 從表中得到這樣的結果?
uj5u.com熱心網友回復:
如果您使用某種 GUI 工具,您可以查找轉儲選項。否則,您可以使用mysqldump.
這個問題的命令參考:
mysqldump --complete-insert --lock-all-tables --no-create-db
--no-create-info --extended-insert --password=XXX -u XXX
--dump-date yyy > yyy_dataOnly.sql
假設這是針對基于 MySQL/MariaDB 的資料庫。
uj5u.com熱心網友回復:
如果要將表的所有行插入table_name1到表中table_name2,可以使用SELECT代替VALUES:
INSERT INTO table_name2 (id, name)
SELECT id, name
FROM table_name1;
如果您想要一個回傳INSERT陳述句的查詢,您可以使用GROUP_CONCAT():
SELECT 'INSERT INTO table_name(id, name) VALUES ' ||
GROUP_CONCAT('(' || QUOTE(id) || ',' || QUOTE(name) || ')') || ';' sql
FROM table_name;
請參閱演示。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/402915.html
標籤:
