sqlite3 数据库学习笔记 (基础知识 + 操作技巧 + 案例实践)
一、sqlite3 数据库的基础知识
sqlite3 是一个零配置的数据库,它不需要单独的服务器进程,而是将数据库文件存储在本地文件系统中。它支持 SQL 语言,并且可以与多种编程语言集成,如 Python、Java、C++ 等。在使用 sqlite3 之前,我们需要了解一些基本概念,如数据库、表、字段、索引等。
二、sqlite3 数据库的操作技巧
1. 创建数据库和表
使用 sqlite3 命令行工具或编程语言中的 sqlite3 模块,可以轻松创建数据库和表。以下是一个创建表的示例代码:
```sql
CREATE TABLE students (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER,
grade REAL
);
```
2. 插入数据
可以使用 INSERT INTO 语句向表中插入数据。以下是一个插入数据的示例代码:
```sql
INSERT INTO students (name, age, grade) VALUES ('张三',
18, 90.5);
```
3. 查询数据
使用 SELECT 语句可以从表中查询数据。以下是一个查询数据的示例代码:
```sql
SELECT FROM students;
```
4. 更新数据
使用 UPDATE 语句可以更新表中的数据。以下是一个更新数据的示例代码:
```sql
UPDATE students SET age = 19 WHERE name = '张三';
```
5. 删除数据
使用 DELETE FROM 语句可以从表中删除数据。以下是一个删除数据的示例代码:
```sql
DELETE FROM students WHERE name = '张三';
```
三、sqlite3 数据库的案例实践
1. 创建学生管理系统
我们可以使用 sqlite3 数据库创建一个简单的学生管理系统,包括学生信息的添加、查询、更新和删除功能。以下是一个使用 Python 语言实现的学生管理系统示例代码:
```python
import sqlite3
# 连接数据库
conn = sqlite3.connect('students.db')
# 创建游标
cursor = conn.cursor()
# 创建表
cursor.execute('''
CREATE TABLE IF NOT EXISTS students (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER,
grade REAL
)
''')
# 添加学生信息
def add_student(name, age, grade):
cursor.execute("INSERT INTO students (name, age, grade) VALUES
(
?,
?,?)", (name, age, grade))
conn.commit()
# 查询学生信息
def get_students():
cursor.execute("SELECT FROM students")
students = cursor.fetchall()
return students
# 更新学生信息
def update_student(id, name, age, grade):
cursor.execute("UPDATE students SET name=
?, age=
?, grade=? WHERE id=?", (name, age, grade, id))
conn.commit()
# 删除学生信息
def delete_student(id):
cursor.execute("DELETE FROM students WHERE id=?", (id,))
conn.commit()
# 测试
add_student('李四',
20, 85.0)
add_student('王五',
19, 92.5)
students = get_students()
for student in students:
print(student)
update_student
(1, '李四',
21, 88.0)
students = get_students()
for student in students:
print(student)
delete_student(2)
students = get_students()
for student in students:
print(student)
# 关闭连接
conn.close()
```
2. 创建图书管理系统
同样,我们可以使用 sqlite3 数据库创建一个图书管理系统,包括图书信息的添加、查询、更新和删除功能。以下是一个使用 Python 语言实现的图书管理系统示例代码:
```python
import sqlite3
# 连接数据库
conn = sqlite3.connect('books.db')
# 创建游标
cursor = conn.cursor()
# 创建表
cursor.execute('''
CREATE TABLE IF NOT EXISTS books (
id INTEGER PRIMARY KEY,
title TEXT,
author TEXT,
price REAL
)
''')
# 添加图书信息
def add_book(title, author, price):
cursor.execute("INSERT INTO books (title, author, price) VALUES
(
?,
?,?)", (title, author, price))
conn.commit()
# 查询图书信息
def get_books():
cursor.execute("SELECT FROM books")
books = cursor.fetchall()
return books
# 更新图书信息
def update_book(id, title, author, price):
cursor.execute("UPDATE books SET title=
?, author=
?, price=? WHERE id=?", (title, author, price, id))
conn.commit()
# 删除图书信息
def delete_book(id):
cursor.execute("DELETE FROM books WHERE id=?", (id,))
conn.commit()
# 测试
add_book('Python 从入门到实践', 'Eric Matthes', 89.0)
add_book'数据结构与算法分析', 'Mark Allen Weiss', 120.0)
books = get_books()
for book in books:
print(book)
update_book
(1, 'Python 从入门到精通', 'Eric Matthes', 99.0)
books = get_books()
for book in books:
print(book)
delete_book(2)
books = get_books()
for book in books:
print(book)
# 关闭连接
conn.close()
```
通过以上两个案例实践,我们可以看到 sqlite3 数据库在实际应用中的强大功能。无论是学生管理系统还是图书管理系统,都可以轻松地使用 sqlite3 数据库实现。
sqlite3 数据库是一款简单易用、高效稳定的嵌入式数据库,它支持 SQL 语言,并且可以与多种编程语言集成。在学习和使用 sqlite3 数据库时,我们需要掌握基础知识,如数据库、表、字段、索引等,同时还需要掌握一些操作技巧,如创建数据库和表、插入数据、查询数据、更新数据和删除数据等。通过实际案例实践,我们可以更好地理解和掌握 sqlite3 数据库的使用方法,为我们的开发工作提供有力的支持。
问答: 1. sqlite3 数据库与其他数据库相比有什么优势? 2. 如何在 Python 中使用 sqlite3 数据库? 3. sqlite3 数据库的常用操作有哪些? 4. 如何创建和管理 sqlite3 数据库中的表?