放松与sqlite的接口
dumptruck的Python项目详细描述
自卸车是一个与sqlite数据库类似的文档界面。
quick start
——
install,保存数据并使用默认设置检索数据。
=dumptruck()
\save
最简单的"insert"调用如下所示。
dt.insert({"firstname":"thomas","lastname":"levine"})
它使用数据库"dumptruck.db"中的表"dumptruck"
。如果需要,它会创建或更改表。
如果插入一行,"dumptruck.insert"返回行的行ID。
dt.insert({"foo","bar"},"new table")==1
` dumptruck.insert`返回
新行的行ID列表。
dt.insert([{"foo","one"},{"foo","two"},"new table")==[2,3]
您可以使用'upsert'(使用
相同的语法)替换现有行。
每行一个字典。
=dumptruck(dbname="bucket wheel挖掘机.db")
实际上它最多需要四个关键字参数。
*`dbname'是要保存到的数据库文件;默认值为dumptruck.db.
*`vars_table`是用于'dumptruck.get_var`
和'dumptruck.save_var`;默认值为'u dumptruckvars`。将其设置为"none"
以禁用get-var和save-var方法。
*"auto-commit"是是否应自动提交对数据库的更改;如果将其设置为"false"
,必须使用"commit"方法或"commit"keywoard参数提交更改。
*"adapt_and_convert"是是否应自动转换类型;使用
此on dates将插入为dates、lists as lists和&c。
最简单的"insert"调用如下所示。
dt.insert({"firstname":"thomas","lastname":"levine"})
您可以指定另一个表;
这将保存到表"diesel engineers"。
dt.insert({"firstname":"thomas","lastname":"levine"},"Diesel Engineers")
"lastname":"assange"}
]
dt.insert(data)
"authors":["robert bringhurst"]},
{"title":"how to read a book","authors":["mortimer adler","charles van doren"]}
]
dt.insert(data)
当您查询它时,它将返回为原始的python对象。
-简单的pickle接口。
pickle和unpickle为您的复杂对象。
E?"sf"amp;'`
空值
`无'字典值始终等于键不存在。
也就是说,这些插入命令是等效的。
dt=dumptruck()
dt.insert({u'foo':8,u'bar':none}
dt.insert({u'foo':8})
它们通过这个sql将值设置为默认值。
insert into foo default values
此命令不起任何作用。
dt.insert([])
但是,如果尝试将它们传递给"dumptruck.create廑table",则会出现一个错误。
每行字典
。它们被强制使用不同的python类型,具体取决于数据库类型。
您可以记录脚本的最后一次运行要到达的页。
dt.save_ar('last_au page',27)
27==dt.get_ar('last_au page')
它存储在"dumptruckvars"中。
数据库。
dt.table s()
`dumptruck.drop`删除表。
dt.drop("柴油工程师")
`dumptruck.dump`将整个特定表作为字典列表返回。
dt.execute('select*from`coal`;)
\您可以像这样使用"dumptruck.insert"方法
,方法是用"create_only=true"调用它。
例如,如果表"tools"不存在,下面的调用将用"toolname"和"weight"列创建表"tools",类型是"text"和"integer",
,但不会将字典值("jackhammer"和58)插入表中。
dt.创建表({"toolname":"jackhammer","weight":58},"tools")
传递ordereddict。
dt.create_table(ordereddict([("toolname","jackhammer"),("weight",58)),"tools")
>将按指定顺序创建列。
要创建索引,
首先创建一个空表。(请参见上面的"创建空表"。
然后,使用"dumptruck.create_index"方法。
dt.create_index(['toolname','tools')
这将在"tool"列上创建非唯一索引。到CR创建一个唯一的索引,使用关键字参数"unique=true"。
dt.创建索引(['toolname','tools',unique=true)
dt.还可以指定多列索引。
dumptruck根据相关表和列的名称。
上一示例中创建的索引可能命名为"dt_u tools_u toolname_u weight"。
但是这里
是相关的sqlite sql命令。
dt.execute('pragma index_info(dt_u tools_toolname_weight)')
###延迟提交
默认情况下,"insert"、"get-var"、"drop"和"execute"方法会自动提交更改。
您可以通过向方法传递"commit=false"来停止其中一个方法的提交。
使用"commit"方法手动提交。例如:
dt=dumptruck()
dt.insert({"name":"bagger 293","manufacturer":"takraf","height":95},commit=false)
dt.save_ar('页码',42,commit=false)
dt.commit()
quick start
——
install,保存数据并使用默认设置检索数据。
=dumptruck()
\save
最简单的"insert"调用如下所示。
dt.insert({"firstname":"thomas","lastname":"levine"})
它使用数据库"dumptruck.db"中的表"dumptruck"
。如果需要,它会创建或更改表。
如果插入一行,"dumptruck.insert"返回行的行ID。
dt.insert({"foo","bar"},"new table")==1
` dumptruck.insert`返回
新行的行ID列表。
dt.insert([{"foo","one"},{"foo","two"},"new table")==[2,3]
您可以使用'upsert'(使用
相同的语法)替换现有行。
每行一个字典。
=dumptruck(dbname="bucket wheel挖掘机.db")
实际上它最多需要四个关键字参数。
*`dbname'是要保存到的数据库文件;默认值为dumptruck.db.
*`vars_table`是用于'dumptruck.get_var`
和'dumptruck.save_var`;默认值为'u dumptruckvars`。将其设置为"none"
以禁用get-var和save-var方法。
*"auto-commit"是是否应自动提交对数据库的更改;如果将其设置为"false"
,必须使用"commit"方法或"commit"keywoard参数提交更改。
*"adapt_and_convert"是是否应自动转换类型;使用
此on dates将插入为dates、lists as lists和&c。
最简单的"insert"调用如下所示。
dt.insert({"firstname":"thomas","lastname":"levine"})
您可以指定另一个表;
这将保存到表"diesel engineers"。
dt.insert({"firstname":"thomas","lastname":"levine"},"Diesel Engineers")
"lastname":"assange"}
]
dt.insert(data)
"authors":["robert bringhurst"]},
{"title":"how to read a book","authors":["mortimer adler","charles van doren"]}
]
dt.insert(data)
当您查询它时,它将返回为原始的python对象。
-简单的pickle接口。
pickle和unpickle为您的复杂对象。
E?"sf"amp;'`
空值
`无'字典值始终等于键不存在。
也就是说,这些插入命令是等效的。
dt=dumptruck()
dt.insert({u'foo':8,u'bar':none}
dt.insert({u'foo':8})
它们通过这个sql将值设置为默认值。
insert into foo default values
此命令不起任何作用。
dt.insert([])
但是,如果尝试将它们传递给"dumptruck.create廑table",则会出现一个错误。
每行字典
。它们被强制使用不同的python类型,具体取决于数据库类型。
您可以记录脚本的最后一次运行要到达的页。
dt.save_ar('last_au page',27)
27==dt.get_ar('last_au page')
它存储在"dumptruckvars"中。
数据库。
dt.table s()
`dumptruck.drop`删除表。
dt.drop("柴油工程师")
`dumptruck.dump`将整个特定表作为字典列表返回。
dt.execute('select*from`coal`;)
\您可以像这样使用"dumptruck.insert"方法
,方法是用"create_only=true"调用它。
例如,如果表"tools"不存在,下面的调用将用"toolname"和"weight"列创建表"tools",类型是"text"和"integer",
,但不会将字典值("jackhammer"和58)插入表中。
dt.创建表({"toolname":"jackhammer","weight":58},"tools")
传递ordereddict。
dt.create_table(ordereddict([("toolname","jackhammer"),("weight",58)),"tools")
>将按指定顺序创建列。
要创建索引,
首先创建一个空表。(请参见上面的"创建空表"。
然后,使用"dumptruck.create_index"方法。
dt.create_index(['toolname','tools')
这将在"tool"列上创建非唯一索引。到CR创建一个唯一的索引,使用关键字参数"unique=true"。
dt.创建索引(['toolname','tools',unique=true)
dt.还可以指定多列索引。
dumptruck根据相关表和列的名称。
上一示例中创建的索引可能命名为"dt_u tools_u toolname_u weight"。
但是这里
是相关的sqlite sql命令。
dt.execute('pragma index_info(dt_u tools_toolname_weight)')
###延迟提交
默认情况下,"insert"、"get-var"、"drop"和"execute"方法会自动提交更改。
您可以通过向方法传递"commit=false"来停止其中一个方法的提交。
使用"commit"方法手动提交。例如:
dt=dumptruck()
dt.insert({"name":"bagger 293","manufacturer":"takraf","height":95},commit=false)
dt.save_ar('页码',42,commit=false)
dt.commit()