SQLite3数据库的介绍和使用教程
什么是SQLite3数据库
SQLite 是一种关系型数据库管理系统,是一个开源的轻型数据库系统,它的存储是基于文件系统的。
一般情况下,SQLite3 被认为是以文件为载体的数据库,它的操作速度快,文件占用内存小,适用于小型应用程序(如手机App等)。但是,SQLite3 并不是不支持应用程序的高并发访问,只是sqlite3采用的是锁机制限制同时访问的进程数。
SQLite3 使用 SQL 作为其操作语言。SQLite3 内置了一个命令行程序(sqlite3),它允许用户在没有第三方监测工具的情况下创建、使用和管理 SQLite 数据库。
SQLite3数据库的安装
在绝大多数系统版本的操作系统中,SQLite都已经预装了。如果没有,可以参考以下步骤进行安装。
Windows系统下安装SQLite3
-
下载 SQLite3下载链接,选择最新的编译版本。推荐下载 sqlite-dll-win64-x64-[版本号].zip。
-
解压下载后的文件。
-
将解压后的文件夹添加至系统环境变量的PATH中。具体步骤是:选中“此电脑”(该电脑),右键选择“属性”,选择“高级系统设置”,选择“环境变量”,找到“系统变量”中的“Path”,选择编辑,将SQLite解压路径添加就可以。
-
打开cmd命令行,输入sqlite3,如果出现以下提示,则说明安装成功。
bash
SQLite version 3.33.0 2020-08-14 13:23:32
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite>
Linux系统下安装SQLite3
- 打开终端,输入以下命令:
bash
sudo apt-get update
sudo apt-get install sqlite3 libsqlite3-dev
- 如果成功则输入以下命令可查看是否安装成功:
bash
sqlite3
SQLite3数据库的基本操作
1. 创建数据库
可以通过如下命令创建一个名为test.db的SQLite3数据库。
sqlite3 test.db
此时,新建的数据库会自动保存在当前目录下。
2. 创建表格
创建表格的语法如下:
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns )
);
例如,我们创建一个名为Employee的表,列名分别为ID、Name、Salary和Department。
CREATE TABLE Employee(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
3. 插入数据
插入数据的语法如下:
INSERT INTO table_name (column1,column2 ,column3,...columnN)
VALUES (value1,value2 ,value3,...valueN);
例如,我们向Employee表插入一条数据,该数据ID为1,姓名为"张三",年龄为22,地址为"浙江省杭州市",工资为8888.50。
INSERT INTO Employee (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, '张三', 22, '浙江省杭州市', 8888.50);
4. 查询数据
查询数据的语法如下:
SELECT column1, column2, columnN FROM table_name;
例如,我们查找Employee表中的所有数据。
SELECT * FROM Employee;
5. 更新数据
更新数据的语法如下:
UPDATE table_name SET column1 = value1, column2 = value2...., columnN = valueN WHERE [condition];
例如,我们将Employee表中的Address字段中ID为1的数据地址修改为"浙江省宁波市"。
UPDATE Employee SET ADDRESS = '浙江省宁波市' WHERE ID = 1;
6. 删除数据
删除数据的语法如下:
DELETE FROM table_name WHERE [condition];
例如,我们删除Employee表中ID为1的一条记录。
DELETE FROM Employee WHERE ID = 1;
SQLite3数据库应用示例
示例一:Python使用SQLite3进行操作
Python自带SQLite3库,我们可以在Python中轻易地对SQLite3数据库进行操作。
在前提需要先安装sqlite库:
pip install pysqlite3
接着,我们新建test.db数据库,并在该数据库中创建Employee表。代码如下:
import sqlite3
# 连接数据库
conn = sqlite3.connect('test.db')
# 创建游标
c = conn.cursor()
# 创建Employee表
c.execute('''CREATE TABLE Employee (
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL);''')
# 向Employee表中插入一条数据
c.execute("INSERT INTO Employee (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, '张三', 22, '浙江省杭州市', 8888.50);")
# 查询Employee表中的所有数据
result = c.execute("SELECT * FROM Employee;")
for row in result:
print(row)
# 提交
conn.commit()
# 关闭连接
conn.close()
执行之后,将输出Employee表中的所有数据。
示例二:SQLite3使用Django进行操作
Django是Python Web框架,它也内置了SQLite3数据库。我们可以在Django项目中使用SQLite3数据库。
首先,需要新建一个Django项目:
django-admin startproject test_django
接着,我们在项目的settings.py中添加数据库配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
然后,我们新建一个应用:
python manage.py startapp testapp
接着,我们在该应用的models.py中定义一个表格:
from django.db import models
# 创建Employee表
class Employee(models.Model):
ID = models.AutoField(primary_key=True)
NAME = models.CharField(max_length=20)
AGE = models.IntegerField()
ADDRESS = models.CharField(max_length=50)
SALARY = models.DecimalField(max_digits=10, decimal_places=2)
class Meta:
db_table = "employee"
接着,我们在该应用的views.py中定义一个查询函数,查询Employee表中的所有数据:
from testapp.models import Employee
def listEmployee(request):
list = Employee.objects.all()
return render(request, 'index.html', {'list': list})
最后,我们在templates文件夹中新建一个index.html文件,展示查询到的数据:
<!DOCTYPE html>
<html>
<head>
<title>查询结果</title>
</head>
<body>
<table>
<thead>
<tr>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
<th>地址</th>
<th>工资</th>
</tr>
</thead>
<tbody>
{% for item in list %}
<tr>
<td>{{ item.ID }}</td>
<td>{{ item.NAME }}</td>
<td>{{ item.AGE }}</td>
<td>{{ item.ADDRESS }}</td>
<td>{{ item.SALARY }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</body>
</html>
执行 python manage.py runserver
启动Django开发服务器,访问http://127.0.0.1:8000
,则可以看到查询到的结果。
至此,我们已经学会了如何在Python中使用SQLite3库进行操作,以及如何在Django项目中使用SQLite3数据库。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SQLite3数据库的介绍和使用教程(面向业务编程-数据库) - Python技术站