目录
1,数据库的创建
2,数据库的插入
3,数据库的查询
4,数据库的条目进行更改
5,数据库条目的删除
SQLite是一款轻型的数据库,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百k的内存就够了。本次对SQLite学习是以python语言来对数据库进行增删改查操作。Python SQLite数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身。
Python开发sqlite3首先需要导入该模块,即import sqlite3。调用connect函数来创建一个sqlite数据库,在调用connect函数的时候,指定库名称,如果指定的数据库存在就直接打开这个数据库,如果不存在则创建一个再打开。下面代码为创建一个名为book.db的数据库。数据库以书名为索引,即name为PRIMARY KEY,不可为空,记录书的价格(price)和书的所有者(owner)。Execute函数中执行sql语句。
import sqlite3
import os
DbPath = './book.db'
def IsDBExists():
if(os.path.exists(DbPath) == True):
return True
else:
return False
def CreateDB():
if(IsDBExists() == True):
return (False,"the book.db is already exists!")
conn = sqlite3.connect(DbPath)
conn.execute("""
CREATE TABLE BOOK (
name TEXT PRIMARY KEY NOT NULL,
price FLOAT,
owner TEXT
)
""")
print("The book.db create sucessfully")
conn.close()
return (True,'')
数据库的插入执行execute中的sql插入语句
SQL INSERT INTO语句
INSERT INTO 表名称 VALUES (值1,值2,...)
也可以指定所要插入数据的列:
INSERT INTO table_name (列1,列2,...) VALUES (值1,值2,...)
def InsertDB(name,price=0,owner=''):
conn = sqlite3.connect(DbPath)
conn.execute("INSERT INTO BOOK (name,price,owner) VALUES (?,?,?)",(name,price,owner))
conn.commit()
print("The insert Items:%s,%f,%s" % (name,price,owner))
conn.close()
return (True,'')
需要注意的是,在插入之后只有commit才能完成插入的操作
数据库的查询执行execute中的sql查询语句
SQL SELECT语句
SELECT语句用于从表中选取数据。
SQL SELECT 语法:
SELECT列名称 FROM 表名称
以及
SELECT * FROM 表名称
以下代码的QueryBook(name,type)函数是对书的价格或者所有者进行查询,QueryAllBook()是对数据库中所有书的记录进行查询
def QueryBook(name,type):
conn = sqlite3.connect(DbPath)
cursor = conn.execute("SELECT * FROM BOOK WHERE name=?",(name,))
Result = []
for row in cursor:
Result.append((row[0],row[1],row[2]))
if (type == 'price'):
print("The price of book %s is %f" % (name,Result[0][1]))
elif (type == 'owner'):
print("The owner of book %s is %s" % (name,Result[0][2]))
conn.close()
return (True,"Query sucessful")
def QueryAllBook():
conn = sqlite3.connect(DbPath)
cursor = conn.execute("SELECT * FROM BOOK")
Result = []
for row in cursor:
Result.append((row[0],row[1],row[2]))
print(Result)
conn.close()
数据库的查询执行execute中的sql更改语句
SQL UPDATE 语句
UPDATE语句用于修改表中的数据
SQL UPDATE语法:
UPDATE 表名称 SET 列名称=新值 WHERE 列名称=某值
以下代码是对数据库中的书的价格和所有者进行更改
def UpdateDB(name,type,content):
conn = sqlite3.connect(DbPath)
if (type == 'price'):
conn.execute("UPDATE BOOK SET price=? WHERE name LIKE ?",(content,name))
elif (type == 'owner'):
conn.execute("UPDATE BOOK SET owner=? WHERE name LIKE ?",(content,name))
else:
print("Error: Not a correct data type!")
return (False,'Not a correct data type!')
if(type == 'price'):
print("The update Items:%s,%s,%f",(name,type,content))
else:
print("The update Items:%s,%s,%s",(name,type,content))
conn.commit()
conn.close()
return (True,"UpdateDB sucessful")
数据库的查询执行execute中的sql删除语句
SQL DELETE语句
DELETE语句用于删除表中的所有行
SQL DELETE 语法
DELETE FROM 表名称 WHERE 列名称=值
以下代码是对给定的书名进行删除操作
def DeleteBook(name):
conn = sqlite3.connect(DbPath)
conn.execute("DELETE FROM BOOK WHERE name=?",(name,))
conn.commit()
print("The Delete of book is %s" % name)
conn.close()
return (True,"delete sucessful")
!!!以上就是sqlite3的创建以及增删改查基本操作,希望对大家学习有用!!!