zoukankan      html  css  js  c++  java
  • python+sqlite3

    一个小例子,

    # -*- 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()
    

      

  • 相关阅读:
    二进制求和
    删除排序数组中的重复项--leetcode算法题
    vue render
    数字实现千分位分隔符
    用nodejs实现向文件的固定位置插入内容
    工作中用到的正则表达式
    组件toast(类似于element-ui的message组件)的实现
    用svg实现一个环形进度条
    批量删除当前文件夹下面的.svn文件夹
    windows下的包管理器scoop
  • 原文地址:https://www.cnblogs.com/juedui0769/p/4859958.html
Copyright © 2011-2022 走看看