sqlite3的基本操作学习

本文介绍如何使用Python操作SQLite数据库,包括数据库的创建、数据的增删改查等基本操作。

目录

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

<think>好的,用户想学习Django中SQLite3基本操作。我需要根据提供的引用内容来整理出一个清晰的教程。首先,用户可能对Django的数据库配置和模型操作不太熟悉,所以我应该从配置开始,逐步引导他们创建模型、生成数据库,以及进行数据的增删改查。 根据引用2和引用1,Django默认使用SQLite3,所以不需要额外配置,但用户可能需要知道在哪里查看配置。然后引用3提到了在models.py中定义模型,比如UserInfo类,这应该是创建数据表的基础步骤。接下来,引用4中的两个命令makemigrations和migrate非常重要,必须强调这两个步骤来生成数据库表。 用户可能还需要知道如何在视图中操作数据,引用5展示了在views.py中通过models来添加数据,应该包括创建、查询、更新和删除的示例。同时,引用3还提到了在admin后台注册模型,这部分可以指导用户如何通过admin界面管理数据。 需要注意的是,用户的问题可能不仅限于基本操作,还可能涉及数据库迁移到MySQL,但当前问题集中在SQLite3,所以暂时不需要深入迁移部分。另外,确保代码示例正确,比如使用get()和filter()的区别,以及保存和删除方法的使用。 最后,生成相关问题时要覆盖配置、模型定义、命令、数据操作和Admin管理,帮助用户进一步深入学习可能遇到的疑问。检查所有步骤是否符合Django的最佳实践,并确保引用标记正确对应。</think>Django SQLite3 基本操作教程(分步骤说明): 1. **配置数据库** Django默认使用SQLite3数据库,在settings.py中自动配置: ```python DATABASES = { &#39;default&#39;: { &#39;ENGINE&#39;: &#39;django.db.backends.sqlite3&#39;, &#39;NAME&#39;: BASE_DIR / &#39;db.sqlite3&#39;, } } ``` 无需修改即可直接使用[^2] 2. **创建数据模型** 在app的models.py中定义表结构: ```python from django.db import models class UserInfo(models.Model): username = models.CharField(max_length=32) password = models.CharField(max_length=32) age = models.IntegerField() ``` 每个类对应一张数据库表[^3] 3. **生成数据库表** 运行命令创建表结构: ```bash python manage.py makemigrations # 生成迁移文件 python manage.py migrate # 执行迁移创建表 ``` 这是Django操作数据库的关键步骤[^4] 4. **数据增删改查操作** 在views.py中操作数据: ```python # 添加数据 models.UserInfo.objects.create(username=&#39;admin&#39;, password=&#39;123&#39;, age=25) # 查询数据 user = models.UserInfo.objects.get(username=&#39;admin&#39;) # 获取单条 users = models.UserInfo.objects.filter(age__gt=18) # 条件查询 # 更新数据 user.age = 26 user.save() # 删除数据 user.delete() ``` 通过ORM实现数据库操作[^5] 5. **Admin后台管理** 在admin.py注册模型: ```python from django.contrib import admin from .models import UserInfo admin.site.register(UserInfo) ``` 登录/admin即可管理数据[^3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ftzchina

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值