我是一個完整的SQL新手,我試圖完成以下(僞代碼)與一個單一的查詢:是否可以構造一個SQL查詢來自動創建一個表,如果它尚不存在?
if (a table named "config_data" does not exist)
{ create a table named "config_data" }
if ("config_data" has no rows)
{ add a row to "config_data" with some default data }
return all rows in "config_data"
我將如何做呢?它可以通過單個查詢完成嗎?我使用SQLite3,如果有幫助。
到目前爲止,我知道如何創建一個表,然後將數據插入到它:
CREATE TABLE config_data (key TEXT NOT NULL, value TEXT);
INSERT INTO config_data VALUES ("key_1", "value_1");
INSERT INTO config_data VALUES ("key_2", "value_2");
以及如何中檢索所有行:
SELECT * FROM config_data;
它避開了我的幻想組合:)
此外,您可以在CONSTRAINT子句中爲每列指定默認值。 CREATE TABLE IF NOT EXISTS config_data('someinteger'INTEGER,'sometext'TEXT,CONSTRAINT sometext DEFAULT'should text,but not yet') – user106514 2010-07-19 14:13:57