Python使用sqlite數據庫

SQLite簡介

SQLite 是一個軟件庫,實現了自給自足的、無服務器的、零配置的、事務性的 SQL 數據庫引擎。SQLite 是在世界上最廣泛部署的 SQL 數據庫引擎。SQLite 源代碼不受版權限制。SQLite是輕量級數據庫,在Andorid和iOS設備上廣泛使用。

Python的SQLite

Python自帶SQLite數據庫,無需額外安裝,使用SQLite數據庫需要導入sqlite3模塊

import sqlite3

create

import sqlite3

conn = sqlite3.connect("test.db")
cur = conn.cursor()
cur.execute("create table test(name text,age int,gender text)")
conn.commit()
cur.close()
conn.close()
print('創建數據庫%s成功' % db)

insert

import sqlite3

conn = sqlite3.connect("test.db")
cur = conn.cursor()
name = "小明"
age = 10
gender = "男"
cur.execute("insert into test values('%s',%d,'%s')" % (name, age, gender))
conn.commit()
cur.close()
conn.close()
print('添加數據成功')

delete

import sqlite3

sql = "delete from test where name='小明'"
conn = sqlite3.connect("test.db")
cur = conn.cursor()
cur.execute(sql)
conn.commit()
cur.close()
conn.close()
print('刪除數據成功')

update

import sqlite3

sql = "update test set name='小張' where name='小明'"
conn = sqlite3.connect("test.db")
cur = conn.cursor()
cur.execute(sql)
conn.commit()
cur.close()
conn.close()
print('更新數據成功')

query

import sqlite3

conn = sqlite3.connect("test.db")
cur = conn.cursor()
sql = "select * from test"
cur.execute(sql)
for row in cur.fetchall():
    print(row)
cur.close()
conn.close()
print('查詢數據成功')

完整代碼

# coding=utf-8
import sqlite3


def createTable(db='test.db'):
    """
    創建表
    """
    conn = sqlite3.connect(db)
    cur = conn.cursor()
    cur.execute("create table test(name text,age int,gender text)")
    conn.commit()
    cur.close()
    conn.close()
    print('創建數據庫%s成功' % db)


def addData(name, age, gender, db='test.db'):
    """
    添加數據
    :param name: 姓名
    :param age: 年齡
    :param gender: 性別
    """
    conn = sqlite3.connect(db)
    cur = conn.cursor()
    cur.execute("insert into test values('%s',%d,'%s')" % (name, age, gender))
    conn.commit()
    cur.close()
    conn.close()
    print('添加數據成功')


def removeData(sql, db='test.db'):
    conn = sqlite3.connect(db)
    cur = conn.cursor()
    cur.execute(sql)
    conn.commit()
    cur.close()
    conn.close()
    print('刪除數據成功')


def queryAll(db='test.db'):
    conn = sqlite3.connect(db)
    cur = conn.cursor()
    sql = "select * from test"
    cur.execute(sql)
    for row in cur.fetchall():
        print(row)
    cur.close()
    conn.close()
    print('查詢數據成功')


def updateData(sql, db='test.db'):
    conn = sqlite3.connect(db)
    cur = conn.cursor()
    cur.execute(sql)
    conn.commit()
    cur.close()
    conn.close()
    print('更新數據成功')


if __name__ == '__main__':
    createTable()
    addData('小明', 10, '男')
    addData('小紅', 12, '女')
    addData('小王', 13, '男')
    queryAll()
    updateData("update test set name='小張', age=10, gender='女' where name='小紅'")
    queryAll()
    removeData("delete from test where name='小王'")
    queryAll()

運行結果:
運行結果

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