简易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 数据访问接口来访问各种不同的数据库,使用这些接口,可以轻易访问各种类型的数据库。


数据运维技术 » 简易Python小数据库操作指南 (python 小数据库)