python sqlite3

#!usr/local/bin python

#-*- coding: UTF-8-*-
import sqlite3

def main():
    cx = sqlite3.connect("/data/freenas-v1.db")
    cu = cx.cursor()
    for i in range(2,400):
        cu.execute("INSERT INTO vtopmanage_vtopnode(id, host_uuid, host_name, vtop_user, vtop_pass, ip_address, version, t
ype, register_time, last_checkin, status, host_manufacturer, host_model, cpu_manufacturer, cpu_number, cpu_type, cpu_frequ
ency, disk_total, disk_engine, disk_vm, memory_total, memory_engine, memory_vm, memory_available) VALUES(%d, '%d', 'host_%
d', 'root', 'vtop_pass', '192.168.1.62', 'r4', 'vTop', 2014, 2014, 1, 'halsign', 'model', 'amd', 12, 'i3', '2ghz', 4, 5, 6
, 2222, 3, 5, 1)" %(i, i, i))
        cx.commit()

if __name__ == '__main__':
    main()

写了一个插入400条数据的脚本。其中用到了sqlite3,有几个问题需要注意:

1-数据库的一般操作流程:

cx = sqlite3.connect("/data/freenas-v1.db")

先连接一个数据库文件,如果存在则连接,不存在则会新建一个。

cu = cx.cursor()

然后绑定一个cursor,用游标来操作数据库。

cu.execute(INSERT INTO table_name(columns_name1, columns_name2, ...) VALUES(val1, val2, val3, ...)")

然后插入数据,

cu.commit()

最后执行。

2-table_name(columns_name)中的columns_name最好不要省略,有的博客中写的省略了,但是在本人的编程中,出现了错误,加上后,能够通过。

3-如何插入变量(http://ipython.iteye.com/blog/328225):

cur.execute("insert into tablename1 values ('%d','%s')" % (num,string)) 
cur.execute("insert into g values ('%d','%s')"  % (a,b)) 

 

COMMING SOON..

posted @ 2014-08-06 16:01  Runbbit  阅读(234)  评论(0编辑  收藏  举报