码迷,mamicode.com
首页 > 数据库 > 详细

python+sqlite3

时间:2015-10-08 06:52:30      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:

一个小例子,

# -*- coding:utf-8 -*-
‘‘‘
Created on 2015年10月8日
(1.1)Python 2.7 Tutorial Pt 12 SQLite - 
https://www.youtube.com/watch?v=Ll_ufNL5rDA
(1.2) sqlite3.connect(":memory:") 这个是亮点.
(1.3)
[Python] 74 Creating a database with SQLite 3 - 
https://www.youtube.com/watch?v=n-Rtfd1Vv_M 
    db.row_factory = sqlite3.Row 
    在我电脑上,是否加上上面这句没什么影响.

(2.1)存储中文时,同样的必须加 u . 但是直接打印出来的是 \uxxxx 格式的内容
(2.2)如果不加 u ,报错如下:
sqlite3.ProgrammingError: 
    You must not use 8-bit bytestrings unless you use a text_factory 
    that can interpret 8-bit bytestrings (like text_factory = str). 
    It is highly recommended that you instead just switch your application to Unicode strings.
‘‘‘
import sqlite3

# con = sqlite3.connect("sample.db")
# con = sqlite3.connect(":memory:")

def main():
    db = sqlite3.connect(":memory:")
    db.row_factory = sqlite3.Row
    db.execute("drop table if exists test")
    db.execute("create table test (t1 text, i1 int)")
    db.execute(‘insert into test (t1, i1) values(?,?)‘, (u‘一‘, 1))
    db.execute(‘insert into test (t1, i1) values(?,?)‘, (‘two‘, 2))
    db.execute(‘insert into test (t1, i1) values(?,?)‘, (‘three‘, 3))
    db.execute(‘insert into test (t1, i1) values(?,?)‘, (‘four‘, 4))
    db.commit()
    cursor = db.execute(‘select i1, t1 from test order by i1‘)
    for row in cursor:
        print(row)
        
    db.close()
if __name__ == "__main__": main()

  

python+sqlite3

标签:

原文地址:http://www.cnblogs.com/juedui0769/p/4859958.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!