简易Python小数据库操作指南 (python 小数据库)
随着信息时代的到来,数据大爆炸已成为不可避免的趋势。而管理这些海量的数据,数据库成为了必不可少的工具。Python作为一门功能强大的编程语言,也可以轻松的操作数据库。本篇文章将介绍如何利用Python对各种数据库进行简易操作。
1. SQLite数据库
SQLite 是一种轻型的嵌入式数据库,不需要单独的服务器进程或操作系统进程来维护。它适合使用在移动设备以及小型应用场景。
使用 Python 操作 SQLite,首先需要安装sqlite3模块,使用命令 pip install pysqlite3 即可安装。
接下来,我们首先需要建立数据库连接,并创建一个数据表,代码如下:
“`python
import sqlite3
def create_table():
conn = sqlite3.connect(‘test.db’)
print(“Opened database successfully”)
conn.execute(”’CREATE TABLE company
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL);”’)
print(“Table created successfully”)
conn.close()
“`
上述代码中,我们首先通过 sqlite3.connect() 打开一个已存在的数据库,如果数据库不存在,它将被创建,并在该连接上创建一个新表 company。
接下来,我们通过以下代码插入记录:
“`python
def insert_data():
conn = sqlite3.connect(‘test.db’)
print(“Opened database successfully”)
conn.execute(“INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (1, ‘Paul’, 32, ‘California’, 20230.00 )”)
conn.execute(“INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (2, ‘Allen’, 25, ‘Texas’, 15000.00 )”)
conn.execute(“INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (3, ‘Teddy’, 23, ‘Norway’, 20230.00 )”)
conn.execute(“INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (4, ‘Mark’, 25, ‘Rich-Mond’, 65000.00 )”)
conn.commit()
print(“Records created successfully”)
conn.close()
“`
执行完以上操作后,我们可以通过以下代码查询用户列表:
“`python
def select_data():
conn = sqlite3.connect(‘test.db’)
print(“Opened database successfully”)
cursor = conn.execute(“SELECT id, name, address, salary from company”)
for row in cursor:
print(“ID = “, row[0])
print(“NAME = “, row[1])
print(“ADDRESS = “, row[2])
print(“SALARY = “, row[3], “\n”)
print(“Operation done successfully”)
conn.close()
“`
2. MySQL数据库
MySQL是世界上更流行的开源数据库,因为它的性能卓越已成为广泛使用的开放源码数据库技术。
Python也提供了一个数据库API,用于连接和操作MySQL数据库。在使用Python操作MySQL之前,我们需要安装 PyMySQL, 如下所示:
“`python
pip install PyMySQL
“`
接下来,我们可以通过以下代码来创建数据库连接并操作数据库:
“`python
import pymysql
def create_table():
# 打开数据库连接
db = pymysql.connect(“localhost”, “root”, “password”, “test”)
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 如果数据表已经存在使用 execute() 方法删除表。
cursor.execute(“DROP TABLE IF EXISTS EMPLOYEE”)
# 创建数据表SQL语句
sql = “””CREATE TABLE EMPLOYEE (
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT )”””
cursor.execute(sql)
# 关闭数据库连接
db.close()
“`
通过以上代码,我们可以创建一个名为 EMPLOYEE 的表。
接下来,我们通过以下代码插入数据:
“`python
def insert_data():
# 打开数据库连接
db = pymysql.connect(“localhost”, “root”, “password”, “test”)
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 插入语句
sql = “””INSERT INTO EMPLOYEE(FIRST_NAME,
LAST_NAME, AGE, SEX, INCOME)
VALUES (‘Mac’, ‘Mohan’, 20, ‘M’, 2023)”””
try:
# 执行sql语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# 如果发生错误则回滚
db.rollback()
# 关闭数据库连接
db.close()
“`
通过以上代码,我们向 EMPLOYEE 表中插入了一条记录。
我们可以通过以下代码查询 EMPLOYEE 表中的数据:
“`python
def select_data():
# 打开数据库连接
db = pymysql.connect(“localhost”, “root”, “password”, “test”)
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 查询语句
sql = “SELECT * FROM EMPLOYEE \
WHERE INCOME > %s” % (1000)
try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
income = row[4]
# 打印结果
print(“fname=%s,lname=%s,age=%d,sex=%s,income=%d” % \
(fname, lname, age, sex, income))
except:
print(“Error: unable to fetch data”)
# 关闭数据库连接
db.close()
“`
以上就是Python对SQLite和MySQL数据库的操作步骤。
:
Python 为各种关系型数据库提供了 API 模块,比如 MySQLdb、cx_Oracle 等;还为大家提供了轻量级的数据库 SQLite3。Python将数据库访问封装在 Python 模块中,从而提供了一个统一的 Python 数据访问接口来访问各种不同的数据库,使用这些接口,可以轻易访问各种类型的数据库。