sqlite3的基本操作学习

目录

1,数据库的创建

2,数据库的插入

3,数据库的查询

4,数据库的条目进行更改

5,数据库条目的删除


SQLite是一款轻型的数据库,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百k的内存就够了。本次对SQLite学习是以python语言来对数据库进行增删改查操作。Python SQLite数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身。

1,数据库的创建

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,'')

2,数据库的插入

数据库的插入执行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才能完成插入的操作

3,数据库的查询

数据库的查询执行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()

4,数据库的条目进行更改

数据库的查询执行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")

5,数据库条目的删除

数据库的查询执行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的创建以及增删改查基本操作,希望对大家学习有用!!!

你可能感兴趣的:(Others,sqlite3,python,数据库)