Python3学习笔记06-数据库之SQLite篇

    Python3自带了SQLite3数据库,使用前引入即可。

import sqlite3  
  
con = sqlite3.connect('d:/test.db3')  #test.db3存在则直接读取,不存在则创建
cur=con.cursor()  #游标,可以认为类似于recordset
cur.execute('CREATE TABLE Student(Stuid TEXT, Age INTERGER, Name TEXT)')

cur.execute('INSERT INTO Student VALUES("00001", 20, "Lucy")')
cur.execute('INSERT INTO Student VALUES("00002", 21, "Lily")')
con.commit()
cur.execute('SELECT * FROM Student')

con.text_factory = str  #sqlite默认为unicode输出,此处指定为str,即python默认的utf-8
print(cur.fetchone())
print(cur.fetchall())
cur.close()
con.close()

下面是展现Python轻盈、简洁的时候了,可以用下述方式插入数据:

mylist = [("00003", 20, "David"), ("00004", 21, "Richard"),
      ("00005", 22, "qxzy")]
for s in mylist:
    cur.execute('INSERT INTO Student VALUES(?, ?, ?)', (s[0], s[1], s[2]))
con.commit()

最后说明一下SQLite和Python的数据类型对应关系:

SQLite Python 说明
NULL NontType 啥也不知道
INTEGER int或long 整数
REAL float 8字节浮点数
TEXT unicode或str 字符串
BLOB buffer 二进制数据(Binary Large OBject)

你可能感兴趣的:(Python编程手札)