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


    复制代码

    完! 

  • 相关阅读:
    logstash收集nginx日志写入kafka
    Logstash收集日志写入Redis
    Nginx反向代理kibana实现认证访问
    logstash收集nginx日志写入kafka1
    201999:渗透测试,基础学习,windows基础命令,笔记
    2019910:渗透测试,基础学习
    中华吸血鬼恶意病毒分析
    磁碟机病毒分析
    利用SQL语句对不同数据库进行高效果分页
    TimeBased Blind SQL Injection with Heavy Queries
  • 原文地址:https://www.cnblogs.com/L-H-R-X-hehe/p/3815334.html
Copyright © 2011-2022 走看看