📜  Python SQLite-简介(1)

📅  最后修改于: 2023-12-03 15:19:01.102000             🧑  作者: Mango

Python SQLite-简介

简介

SQLite是一款轻型的关系数据库管理系统,被广泛应用在移动设备和嵌入式系统中。SQLite的特点是占用资源少、响应速度快、可嵌入性强、支持SQL语法等,这些优点让SQLite成为一款被广泛使用的数据库管理软件。

Python内置了SQLite的支持,通过sqlite3模块可以方便地对SQLite进行操作。

安装

Python内置了sqlite3模块,一般不需要单独安装。如果需要使用sqlite3的GUI,可以通过以下命令安装:

pip install sqlite_bro
使用SQLite
创建连接

要使用SQLite,我们需要先创建一个连接对象。连接对象是通过sqlite3.connect()方法创建的。

import sqlite3

# 创建连接
conn = sqlite3.connect('example.db')

在上面的代码中,我们将创建一个example.db的SQLite数据库文件,并且通过调用sqlite3.connect()方法来创建一个连接对象conn。 如果这个文件不存在,SQLite会自动创建它。

创建表

创建表之前,我们需要了解一下SQLite的数据类型。 SQLite支持以下数据类型:

  • NULL:空值
  • INTEGER:带符号整数类型,根据值的大小存储在1, 2, 3, 4, 6或8字节中,取决于值的大小。
  • REAL:存储浮点数值,使用8字节存储,是IEEE浮点数标准的64位。
  • TEXT:字符串类型,使用编码(UTF-8,UTF-16BE或者UTF-16LE)存储。
  • BLOB:二进制数据类型,使用二进制方式存储。

以下是创建表的语法:

c.execute('''CREATE TABLE table_name
             (col1 data_type, col2 data_type, col3 data_type)''')

下面是一个创建表的例子:

import sqlite3

# 创建连接
conn = sqlite3.connect('example.db')

# 创建游标对象
c = conn.cursor()

# 创建表
c.execute('''CREATE TABLE employees
             (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')

# 保存更改
conn.commit()

# 关闭游标
c.close()

# 关闭连接
conn.close()

在上面的代码中,我们通过调用游标对象的execute()方法并传入CREATE TABLE的SQL语句来创建了一个表。employees表包含三列:id,name和age。id列是员工的唯一标识符,并通过PRIMARY KEY关键字指定。其它两列分别存储员工的姓名和年龄。

插入数据

插入数据需要使用INSERT INTO语句。下面是一个插入数据的例子:

import sqlite3

# 创建连接
conn = sqlite3.connect('example.db')

# 创建游标对象
c = conn.cursor()

# 插入数据
c.execute("INSERT INTO employees VALUES (1, 'John Smith', 25)")

# 保存更改
conn.commit()

# 关闭游标
c.close()

# 关闭连接
conn.close()

在上面的代码中,我们通过execute()方法,并传入INSERT INTO的SQL语句来插入了一条员工数据。

查询数据

查询数据需要使用SELECT语句。下面是一个查询数据的例子:

import sqlite3

# 创建连接
conn = sqlite3.connect('example.db')

# 创建游标对象
c = conn.cursor()

# 查询数据
c.execute("SELECT * FROM employees")

# 获取查询结果
results = c.fetchall()

# 输出结果
for row in results:
    print(row)

# 关闭游标
c.close()

# 关闭连接
conn.close()

在上面的代码中,我们通过execute()方法,并传入SELECT的SQL语句来查询了employees表中所有的数据,并通过fetchall()方法获取了查询结果。最后使用for循环输出结果。

更新数据

更新数据需要使用UPDATE语句。下面是一个更新数据的例子:

import sqlite3

# 创建连接
conn = sqlite3.connect('example.db')

# 创建游标对象
c = conn.cursor()

# 更新数据
c.execute("UPDATE employees SET age = 30 WHERE name='John Smith'")

# 保存更改
conn.commit()

# 关闭游标
c.close()

# 关闭连接
conn.close()

在上面的代码中,我们通过execute()方法,并传入UPDATE的SQL语句来更新了employees表中名字为'John Smith'的员工的年龄。

删除数据

删除数据需要使用DELETE语句。下面是一个删除数据的例子:

import sqlite3

# 创建连接
conn = sqlite3.connect('example.db')

# 创建游标对象
c = conn.cursor()

# 删除数据
c.execute("DELETE FROM employees WHERE age=30")

# 保存更改
conn.commit()

# 关闭游标
c.close()

# 关闭连接
conn.close()

在上面的代码中,我们通过execute()方法,并传入DELETE的SQL语句来删除了employees表中年龄为30的所有员工。

总结

SQLite是一款轻型的关系数据库管理系统,被广泛应用在移动设备和嵌入式系统中。Python内置了SQLite的支持,通过sqlite3模块可以方便地对SQLite进行操作。在使用前,我们需要先创建一个连接对象。创建表需要使用CREATE TABLE语句,插入数据需要使用INSERT INTO语句,查询数据需要使用SELECT语句,更新数据需要使用UPDATE语句,删除数据需要使用DELETE语句。