python查询sqlite
表 是 数据库必不可少的一部分,sqlite3当然有啦
创建表的方法
直接用sql语言
CREATETABLEdatabase_name.table_name(
column1datatypePRIMARYKEY(oneormorecolumns),
column2datatype,
column3datatype,
.....
columnNdatatype,
);
使用python的接口
importsqlite3
conn=sqlite3.connect('test.db')
cursor=conn.cursor()
cursor.execute('createtableuser(idvarchar(20)primarykey,namevarchar(20))')
㈡ python sqlite 事务
python自带的sqlite3模块遵循的是python的DB-API标准见
http://www.python.org/dev/peps/pep-0249/
import sqlite3
conn = sqlite3.connect('c:\\test.db3')
cur = conn.cursor()
#事务开始
cur.execute("insert ...")
cur.execute("insert ...")
#事务提交
conn.commit()
#事务2开始
cur.execute("insert ...")
#事务2提交
conn.commit()
#连接关闭
conn.close()
插入大量数据集体使用insert语句最后集中提交,应该就是sqlite的比较快的方式了,可能使用内存表,再attach,可能会快点,不过我没试过,估计不会快很多
sqlite比较是个小型数据库,
如果有大量的数据,不如使用mysql
如果有巨量数据,建议postgresql
你的
sqlite3数据库是用
SEE
加密的吗?
如果是了话,试一下通过python执行以下sqlite
pragma命令来提供解密key
PRAGMA key='your-secret-key';
根据
SEE的文档,通过
PRAGMA
命令也可以提供解密key,而不需 sqlite3_key_v2()
这个C
API。你试一下。
㈣ 如何在python程序中查看sqlite3某数据库中的表名
sqlite3数据库里表的信息存储在了一个名为sqlite_master的表中
因此可以通过这条语句来查看数据库中所有表的名称
SELECT name FROM sqlite_master WHERE type='table';
下面是Python的用法
con=sqlite3.connect('database.db')
cursor=con.cursor()
cursor.execute("SELECTnameFROMsqlite_masterWHEREtype='table';")
print(cursor.fetchall())
㈤ python sqlite3 怎么处理
要操作关系数据库,首先需要连接到数据库,一个数据库连接称为Connection;
连接到数据库后,需要打开游标,称之为Cursor,通过Cursor执行SQL语句,然后,获得执行结果。
Python定义了一套操作数据库的API接口,任何数据库要连接到Python,只需要提供符合Python标准的数据库驱动即可。
#导入SQLite驱动:
>>>importsqlite3
#连接到SQLite数据库
#数据库文件是test.db
#如果文件不存在,会自动在当前目录创建:
>>>conn=sqlite3.connect('test.db')
#创建一个Cursor:
>>>cursor=conn.cursor()
#执行一条SQL语句,创建user表:
>>>cursor.execute('createtableuser(idvarchar(20)primarykey,namevarchar(20))')
<sqlite3.Cursorobjectat0x10f8aa260>
#继续执行一条SQL语句,插入一条记录:
>>>cursor.execute('insertintouser(id,name)values('1','Michael')')
<sqlite3.Cursorobjectat0x10f8aa260>
#通过rowcount获得插入的行数:
>>>cursor.rowcount
1
#关闭Cursor:
>>>cursor.close()
#提交事务:
>>>conn.commit()
#关闭Connection:
>>>conn.close()
推荐学习资料:http://www.liaoxuefeng.com/wiki//