我是一个完整的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