python类库26[sqlite]


一 sqlite 与 python 的类型对应

 python类库26[sqlite]_第1张图片

 

二 实例

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


 

 

完! 

 

 

 

 

你可能感兴趣的:(python类库26[sqlite])