sqlite读写

Posted 知行Lee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlite读写相关的知识,希望对你有一定的参考价值。

#coding=utf-8
import sqlite3
import os
#创建数据库和游标
if os.path.exists(\' test.db\'):
    conn=sqlite3.connect(\' test.db\')
    cur=conn.cursor()
else:
    conn=sqlite3.connect(\' test.db\')
    cur=conn.cursor()

#创建表
cur.execute(\'CREATE TABLE IF NOT EXISTS customer (ID VARCHAR(300),NAME VARCHAR(300),\'
             \'SEX VARCHAR(300),TELEPHONE VARCHAR(300),PRIMARY KEY(ID))\')
try:
    #插入数据
    for t in [(\'1\',\'alex\',\'man\',\'189\'),(\'2\',\'tom\',\'man\',\'139\')]:
        conn.execute(\'INSERT INTO customer VALUES(?,?,?,?)\',t)
    #未出错commit提交后生效
    conn.commit()
except:
    #出错,回滚
    conn.rollback()
#关闭游标
cur.close()
#关闭数据库链接
conn.close()

使用游标查询数据库:

 游标对象有以下的操作:

execute()--执行sql语句   

executemany--执行多条sql语句   

close()--关闭游标   

fetchone()--从结果中取一条记录,并将游标指向下一条记录   

fetchmany()--从结果中取多条记录   

fetchall()--从结果中取出所有记录   

scroll()--游标滚动

 

1.查询

cur.execute("select * from customer")

cur. fetchall()

2.修改

cur.execute("update customer set sex=\'women\' where id = 1")

cx.commit()

3.删除

cur.execute("delete from customer where id = 1")  
conn.commit()

4.打印中文,须依次打印字符串

 for item in cur.fetchall():
     for element in item:
         print element

参考:
http://www.cnblogs.com/yuxc/archive/2011/08/18/2143606.html
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001388320596292f925f46d56ef4c80a1c9d8e47e2d5711000

以上是关于sqlite读写的主要内容,如果未能解决你的问题,请参考以下文章

java.lang.NullPointerException: Attempt to invoke virtual method ‘int android.database.sqlite异常(代码片段

SQLite 片段函数实现不会在 TextView 中将文本格式化为 HTML

当我从用户获取数据并将其保存到 SQLite 数据库中时,我应该怎么做才能使列表视图在片段中工作

Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段

Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段

如果我想从另一个片段中添加书签,为啥我的书签单词没有保存到 sqlite 数据库?