Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Python SQlite数据库操作

# coding:utf-8
# Practice of oprating SQLite with Python
# by redice 2010.11.09
 
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
 
import sqlite3
 
# 连接数据库,数据库文件不存在则创建
conn = sqlite3.connect("users.db")
conn.text_factory = lambda x: unicode(x, "utf-8", "replace")
curs = conn.cursor()
 
# 检查users表是否存在,不存在则创建
# 很强大,不需要使用管理工具事先创建
#curs.execute(create table users(username VARCHAR(20) UNIQUE,password VARCHAR(32),groupe INTEGER);)
curs.execute("""create table if not exists users(username VARCHAR(20) UNIQUE,password VARCHAR(32),groupe INTEGER)""")
# 对数据库有修改的操作要调用commit提交事务
conn.commit()
 
# insert data
# 采用这种方法插入数据,不用担心数据要转义。数据库接口会自动帮你转义
curs.execute("insert into users values(?,?,?);", ("redice",123456,1))
curs.execute("insert into users values(?,?,?);", ("qipeng",123456,0))
curs.execute("insert into users values(?,?,?);", ("zhangsan",123456,0))
curs.execute("insert into users values(?,?,?);", ("laowu",123456,0))
curs.execute("insert into users values(?,?,?);", ("lisi",123456,0))
curs.execute("insert into users values(?,?,?);", ("wangwu",123456,0))     
conn.commit()
       
# 查找数据
# 对数据库没有修改的操作不需要用commit提交事务
curs.execute("select * from users where username=?;" ,(raw_input("input user name:"),))
row = curs.fetchone()
if row:
    print row
 
conn.close()