zoukankan      html  css  js  c++  java
  • python类库26[sqlite]


    一 sqlite 与 python 的类型对应

     

    二 实例

    import sqlite3

    def sqlite_basic():
        # Connect to db
        conn = sqlite3.connect('test.db')
        # create cursor
        c = conn.cursor()
        # Create table
        c.execute('''
                  create table if not exists stocks
                  (date text, trans text, symbol text,
                  qty real, price real)
                  
    '''
                 )
        # Insert a row of data
        c.execute('''
                  insert into stocks
                  values ('2006-01-05','BUY','REHT',100,35.14)
                  
    '''
                 )
        # query the table
        rows  = c.execute("select * from stocks")
        # print the table
        for row in rows:
          print(row)
        # delete the row
        c.execute("delete from stocks where symbol=='REHT'")
        # Save (commit) the changes
        conn.commit()
        # Close the connection
        conn.close()
        
    def sqlite_adv():
        conn = sqlite3.connect('test2.db')
        c = conn.cursor()
        c.execute('''
                  create table if not exists employee
                  (id text, name text, age inteage)
                  
    ''')
        # insert many rows
        for t in [('1''itech', 10),
                  ('2''jason', 10),
                  ('3''jack', 30),
                 ]:
            c.execute('insert into employee values (?,?,?)', t)
        # create index
        create_index = 'CREATE INDEX IF NOT EXISTS idx_id ON employee (id);'
        c.execute(create_index)
        # more secure
        t = ('jason',)
        c.execute('select * from employee where name=?', t)
        # fetch query result
        for row in c.fetchall():
          print(row)
        conn.commit()
        conn.close()
        
    def sqlite_adv2():
        # memory db
        con = sqlite3.connect(":memory:")
        cur = con.cursor()
        # execute sql 
        cur.executescript('''
        create table book(
            title,
            author,
            published
        );
        insert into book(title, author, published)
        values (
            'AAA book',
            'Douglas Adams',
            1987
        );
        
    ''')
        rows = cur.execute("select * from book")
        for row in rows:
          print("title:" + row[0])
          print("author:" + row[1])
          print("published:" + str(row[2]))
          
    def sqlite_adv3():
        import datetime

        # Converting SQLite values to custom Python types
        # Default adapters and converters for datetime and timestamp
        con = sqlite3.connect(":memory:", detect_types=sqlite3.PARSE_DECLTYPES|sqlite3.PARSE_COLNAMES)
        cur = con.cursor()
        cur.execute("create table test(d date, ts timestamp)")

        today = datetime.date.today()
        now = datetime.datetime.now()

        cur.execute("insert into test(d, ts) values (?, ?)", (today, now))
        cur.execute("select d, ts from test")
        row = cur.fetchone()
        print today, "=>", row[0], type(row[0])
        print now, "=>", row[1], type(row[1])

        cur.execute('select current_date as "d [date]", current_timestamp as "ts [timestamp]" from test')
        row = cur.fetchone()
        print "current_date", row[0], type(row[0])
        print "current_timestamp", row[1], type(row[1])

          
    #sqlite_basic()
    #
    sqlite_adv()
    #
    sqlite_adv2()
    #sqlite_adv3()


    完! 

  • 相关阅读:
    LVS+KEEPALIVED(2/3)
    LVS+KEEPALIVED(1/3)
    DRF之权限源码详解
    DRF认证之源码详解
    Django REST framework之JWT
    Restful_Framework之插件
    求两个有序数组的中位数,要求时间复杂度log(m+n)
    Django_Restful_Framework视图与路由
    Django_Restful_Framework
    restFul接口设计规范
  • 原文地址:https://www.cnblogs.com/itech/p/2559556.html
Copyright © 2011-2022 走看看