sqldict—您有一个无限容量的dict,它提供透明的对象序列化,现在由您决定。
sqldict的Python项目详细描述
欢迎使用,请阅读此简要文档。
下面的所有sqldict示例都将使用sqlalchemy引擎e。
某些数据库引擎将需要某些后端模块
,在大多数情况下,这些模块在*nix
发行版或.exe中作为包提供安装程序,请参阅下面的"安装"。
让我们创建引擎对象:
>;>;来自sqlalchemy import*
>;>;dburi='mysql://user:pass@localhost/sqldict'
>;>;e=创建引擎(dburi)
d dict d1和d2:
>;>d1=sqldict(e,"t1",create=1)
>;>d2=sqldict(e,"t2",create=1,keytype=string(50),valtype=integer)
sqldict()支持所有或最常见的dict操作,具体取决于选择的sqldict扩展名。
这是一些有用的sqldict实例化参数的选择:
echo-将所有执行的sql查询打印到stdout(bool)
create-创建数据库表(bool)
sort-0=不排序,1=键,2=值
serialize-transp对于分配给字符串类型列(bool)的非字符串类型值,不进行pickling
get row-获取整行而不只是val(bool)
keycol-键列的名称
valcol-val列的名称
key type-键的sqlalchemy列类型
val type-val的sqlalchemy列类型
例如:
更新..,插入..
>;>contents={"asd":123}
>;>d1.更新(contents)
>;>d2.更新(contents)
>;>assert d1["asd"]="123"
>;>assert d2["asd"]==123
>;>>;d2.drop()
>;>assert e.execute("创建表asd(i integer,s varchar(50))"
>;>assert e.execute("插入asd值(42,'gubbe')"
>;>assert e.execute("插入asd值(99,'hatt')"
>;>d3=sqldict(e,"as"d",keyccol="s",valcol="i")
>>gt;d4=sqldict(e,"asd",keyccol="i",valcol="s")
>>gt;
>>gt;d5=sqldict(e,"asd",keyccol="s",valgetter=lambda r:r)
>>gt;d3["gubbe"]==42
>>gt;d4[42]="gubbe"断言d4[42]=="gubbe"
>>gt>gt;e.e.e.e.e.e.e"asd",keyccol="s",valcol="s",valgetter=lambda r:r)
&前ecute("drop table asd")
>;>r/>>;>;d=sqldict(e,"laarge",create=1,serialize=1,keytype=integer)
>;>;d[42]="galning"
安装说明
我使用debian,因此我执行以下操作:
$sudo apt get install python setuptools python mysqldb
$easy_installsqlalchemy
$easy_安装sqldict
下面的所有sqldict示例都将使用sqlalchemy引擎e。
某些数据库引擎将需要某些后端模块
,在大多数情况下,这些模块在*nix
发行版或.exe中作为包提供安装程序,请参阅下面的"安装"。
让我们创建引擎对象:
>;>;来自sqlalchemy import*
>;>;dburi='mysql://user:pass@localhost/sqldict'
>;>;e=创建引擎(dburi)
d dict d1和d2:
>;>d1=sqldict(e,"t1",create=1)
>;>d2=sqldict(e,"t2",create=1,keytype=string(50),valtype=integer)
sqldict()支持所有或最常见的dict操作,具体取决于选择的sqldict扩展名。
这是一些有用的sqldict实例化参数的选择:
echo-将所有执行的sql查询打印到stdout(bool)
create-创建数据库表(bool)
sort-0=不排序,1=键,2=值
serialize-transp对于分配给字符串类型列(bool)的非字符串类型值,不进行pickling
get row-获取整行而不只是val(bool)
keycol-键列的名称
valcol-val列的名称
key type-键的sqlalchemy列类型
val type-val的sqlalchemy列类型
例如:
更新..,插入..
>;>contents={"asd":123}
>;>d1.更新(contents)
>;>d2.更新(contents)
>;>assert d1["asd"]="123"
>;>assert d2["asd"]==123
>;>>;d2.drop()
>;>assert e.execute("创建表asd(i integer,s varchar(50))"
>;>assert e.execute("插入asd值(42,'gubbe')"
>;>assert e.execute("插入asd值(99,'hatt')"
>;>d3=sqldict(e,"as"d",keyccol="s",valcol="i")
>>gt;d4=sqldict(e,"asd",keyccol="i",valcol="s")
>>gt;
>>gt;d5=sqldict(e,"asd",keyccol="s",valgetter=lambda r:r)
>>gt;d3["gubbe"]==42
>>gt;d4[42]="gubbe"断言d4[42]=="gubbe"
>>gt>gt;e.e.e.e.e.e.e"asd",keyccol="s",valcol="s",valgetter=lambda r:r)
&前ecute("drop table asd")
>;>r/>>;>;d=sqldict(e,"laarge",create=1,serialize=1,keytype=integer)
>;>;d[42]="galning"
安装说明
我使用debian,因此我执行以下操作:
$sudo apt get install python setuptools python mysqldb
$easy_installsqlalchemy
$easy_安装sqldict