python的DB-API可以操作多种类型的数据库,sqlite类型属于轻量级的数据库文件。
简单示例
import sqlite3
baseConnect = sqlite3.connect('./database/futuresData.db3')
cur = baseConnect.cursor()
#cur.execute('DROP TABLE a1009')
cur.execute('CREATE TABLE a1009(dataTime REAL PRIMARY KEY, value REAL)')
cur.execute('CREATE TABLE if not exists b1002(dataTime REAL, value REAL)')
cur.execute('INSERT INTO a1009 VALUES(1,2)')
cur.execute('INSERT INTO a1009 VALUES(2,3)')
cur.execute('INSERT INTO b1002 VALUES(1,2)')
cur.execute('INSERT INTO b1002 VALUES(2,3)')
cur.execute('UPDATE b1002 set value=4 WHERE dataTime=2')
cur.execute('DELETE FROM b1002 WHERE dataTime=1')
cur.execute('SELECT dataTime FROM a1009')
for eachOne in cur.fetchall():
print(eachOne)
pass
cur.close()
baseConnect.commit()
baseConnect.close()
注释说明
sqlite3.connect()连接数据库文件,如果数据库文件不存在,则会创建新的文件,创建游标对象。
cur.execute(),执行SQL语法的数据库操作命令。
cur.fetchall()返回上一给命令的所有数据结果。cur.fetchone()接口可以用来一条条获取结果。
baseConnect.commint()将操作结果更新数据库。
SQL命令
常用操作包括,table的创建删除、插入元素insert、删除delete 、修改update、获取selete等。注意SQL命令大小写不敏感,简单示例如下:
#table的创建和删除
cur.execute('CREATE TABLE 名称(元素1 类型,元素2 类型)')
cur.execute('DROP TABLE 名称')
#插入元素
cur.execute('INSERT INTO table名称 VALUES(,...)'
#删除元素
cur.execute('DELETE FROM table名称 WHERE 元素=条件值')
#更新元素
cur.execute('UPDATE table名称 set 元素=新值 WHERE 元素=条件 ')
#获取元素
cur.execute('SELECT 元素1,元素2 FROM table名')#在用fetchall()或fetchone得到具体结果
几个小知识
#获取数据库中所有的table名称
cur.execute("SELECT tbl_name FROM sqlite_master WHERE type='table'")
#如果不存在才创建table的操作
cur.execute('CREATE TABLE if not exists b1002(dataTime REAL, value REAL)')
#获取table中所有元素
cur.execute('SELECT * FROM table名称')