python簡單的使用以下sqlite 3

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()方法返回的是取出的數據長度,類型是列表
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章