1. 什么是数据库

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它是一种把数据以结构化的方式组织起来的软件系统。数据库系统提供了一种集中存储和管理数据的方法,使得数据可以被多个用户安全地访问和共享。

2. Python操作数据库的方式

Python操作数据库的方式主要有两种,一种是使用Python自带的sqlite3模块,另一种是使用第三方库如MySQLdb、pymysql等。

3. Python使用sqlite3模块操作数据库

sqlite3模块是Python自带的模块,可以直接使用,不需要安装任何第三方库。sqlite3模块提供的API可以用来执行SQL语句,实现对数据库的增删改查操作。下面是一个使用sqlite3模块操作数据库的示例:

import sqlite3

# 连接到SQLite数据库
# 数据库文件是test.db
# 如果文件不存在,会自动在当前目录创建:
conn = sqlite3.connect('test.db')

# 创建一个Cursor:
cursor = conn.cursor()

# 执行一条SQL语句,创建user表:
cursor.execute('create table user (id varchar(20) primary key, name varchar(20))')

# 继续执行一条SQL语句,插入一条记录:
cursor.execute('insert into user (id, name) values (\'1\', \'Michael\')')

# 通过rowcount获得插入的行数:
print(f'rowcount = {cursor.rowcount}')

# 关闭Cursor:
cursor.close()

# 提交事务:
conn.commit()

# 关闭Connection:
conn.close()

4. Python使用第三方库操作数据库

Python中也可以使用第三方库来操作数据库,比如MySQLdb、pymysql等,它们提供的API和sqlite3模块类似,也可以实现对数据库的增删改查操作。下面是一个使用MySQLdb操作MySQL数据库的示例:

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用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)

# SQL 插入语句
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
         LAST_NAME, AGE, SEX, INCOME)
         VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
try:
   # 执行sql语句
   cursor.execute(sql)
   # 提交到数据库执行
   db.commit()
except:
   # 如果发生错误则回滚
   db.rollback()

# 关闭数据库连接
db.close()