Python学习:数据库操作篇
在这个信息爆炸的时代,数据库就像是一个个巨大的宝藏库,里面藏着无数珍贵的数据宝石。而Python,就是那把能够打开这些宝藏库的神奇钥匙。在这一章中,我们将一起学习如何使用Python来操作数据库,包括SQLite、ORM(对象关系映射)以及NoSQL数据库。
1. SQLite
SQLite是一个轻量级的数据库,它不需要独立的服务器进程,数据库文件就是它存储数据的地方。在Python中,我们可以使用sqlite3
模块来操作SQLite数据库。
创建SQLite数据库:
在Python中,你可以通过sqlite3
模块连接到一个SQLite数据库,如果数据库不存在,它将自动创建。
import sqlite3
def create_connection(db_file):
""" 创建到SQLite数据库的连接 """
conn = None
try:
conn = sqlite3.connect(db_file)
return conn
except Exception as e:
print(e)
def create_table(conn):
""" 创建表 """
try:
c = conn.cursor()
c.execute("""
CREATE TABLE IF NOT EXISTS users (
id integer PRIMARY KEY,
name text NOT NULL,
age integer
);
""")
except Exception as e:
print(e)
# 创建数据库连接
conn = create_connection("mydatabase.db")
if conn is not None:
create_table(conn)
else:
print("无法创建数据库连接。")
在这个例子中,我们创建了一个名为mydatabase.db
的SQLite数据库,并在其中创建了一个名为users
的表。
插入数据:
你可以使用execute
方法来插入数据。
def insert_user(conn, user):
""" 新增用户 """
sql = ''' INSERT INTO users(name, age)
VALUES(?,?) '''
cur = conn.cursor()
cur.execute(sql, user)
conn.commit()
return cur.lastrowid
# 插入数据
user = ('Kimi', 30)
id = insert_user(conn, user)
print(f"用户ID:{
id}")
在这个例子中,我们向users
表中插入了一个新的用户。
查询数据:
你可以使用execute
方法来查询数据。
def select_all_users(conn):
""" 查询所有用户 """
cur = conn.cursor()
cur.execute("SELECT * FROM users")
rows = cur.fetchall()
for row in rows: