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


    完! 

  • 相关阅读:
    C#中正则表达式的分组构造
    CompressionModule压缩模块
    BS程序代码与安全与基本攻击/防御模式
    mssql 性能优化的一些认识
    sql语句基础
    利用.net2.0中的GZip或Deflate压缩文件
    一个完整的ID生成器,并极大地降低了并发重复的概率,转换成十六进制 时间戳
    IE中的条件注释表
    DevExpress的10个使用技巧
    几种检查调试CSS布局的有效方法
  • 原文地址:https://www.cnblogs.com/itech/p/2559556.html
Copyright © 2011-2022 走看看