sqlite 2.5之後都有了內置的嵌入式sqlite數據庫
python代碼如下,註釋寫的很清楚,可以直接粘貼複製以下去執行
如果想要看更加詳細的介紹,建議看一下大佬的文章,簡潔明瞭,值得學習
淺談Python自帶數據庫SQLite3模塊的使用(全面詳細)
# coding=utf-8
import sqlite3
# 建立數據庫
# 在項目文件中建立
conn = sqlite3.connect("Test.db")
# 在硬盤上建立
# conn = sqlite3.connect("E:\Test.db")
# 在內存上建立,不用commit
# conn = sqlite3.connect("memory")
# 創建遊標
cur = conn.cursor()
# 執行sql語句
# CREATE TABLE IF NOT EXISTS test(id INTEGER PRIMARY KEY,name TEXT,age INTEGER)
cur.execute("create table if not exists test(id integer primary key,name text,age integer)")
cur.execute("insert into test values (?,?,?)",(1,"william_x_f_wang",22))
# 不commit是不會進行存入的
conn.commit()
cur.execute("select * from test")
for item in cur:
print item
# 三種方式
# cur.execute("insert into test values (%s)"%data)
# cur.execute("insert into test values (?,?,?)",(1,"william_x_f_wang",22))
# cur.execute("insert into test values (?,?,?)",[(1,"william_x_f_wang",22),(2,"william_x_f_wang_2",22)])
執行結果
sqlite好像注入攻擊解決起來挺簡單的,因爲這個原因
you can only execute one statement at a time
一次性只能寫入一條語句,所以別人加條語句,也是會報錯,無法執行的
或者你會問,如果去除的爲空,怎麼判斷呢?
cur.fetchall()
方法返回的是取出的數據長度,類型是列表