一、连接数据库
在使用Python操作数据库之前,我们需要先连接数据库。Python中很多第三方库可以支持数据库连接,如PyMySQL、psycopg2等。
以PyMySQL为例,在使用之前需要先安装PyMySQL库。
pip install PyMySQL
连接数据库需要提供数据库的地址、用户名、密码、数据库名等信息,具体代码如下:
import pymysql
db = pymysql.connect(
host='localhost',
user='root',
password='password',
database='database_name'
)
上述代码中,db就是所连接的数据库
二、创建表
在连接数据库之后,我们可以通过Python代码创建表。创建表需要使用SQL语句,使用Python的MySQLCursor.execute()方法执行SQL语句即可。
import pymysql
db = pymysql.connect(
host='localhost',
user='root',
password='password',
database='database_name'
)
cursor = db.cursor()
# SQL语句
sql = '''
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
'''
# 执行SQL语句
cursor.execute(sql)
# 提交到数据库
db.commit()
# 关闭游标和数据库连接
cursor.close()
db.close()
上述代码中,我们使用了CREATE TABLE语句创建了一个名为users的表,表中包含了id、name、age、email四个字段。
三、插入数据
在创建了表之后,我们可以使用Python代码向表中插入数据。插入数据同样需要使用SQL语句,Python的MySQLCursor.execute()方法同样可以执行插入数据的SQL语句。
import pymysql
db = pymysql.connect(
host='localhost',
user='root',
password='password',
database='database_name'
)
cursor = db.cursor()
# SQL语句
sql = "INSERT INTO `users`(`name`, `age`, `email`) VALUES ('Tom', 20, 'tom@example.com')"
# 执行SQL语句
cursor.execute(sql)
# 提交到数据库
db.commit()
# 关闭游标和数据库连接
cursor.close()
db.close()
上述代码中,我们使用INSERT INTO语句向users表中插入了一条数据。
四、查询数据
在向表中插入了数据之后,我们可以使用Python代码查询数据。查询数据同样需要使用SQL语句,Python的MySQLCursor.execute()方法同样可以执行查询数据的SQL语句。查询数据之后需要使用MySQLCursor.fetchall()方法获取查询结果,并且必须在查询完毕之后关闭游标。
import pymysql
db = pymysql.connect(
host='localhost',
user='root',
password='password',
database='database_name'
)
cursor = db.cursor()
# SQL语句
sql = "SELECT * FROM `users`"
# 执行SQL语句
cursor.execute(sql)
# 获取查询结果
results = cursor.fetchall()
for row in results:
id = row[0]
name = row[1]
age = row[2]
email = row[3]
print(f"id={id}, name={name}, age={age}, email={email}")
# 关闭游标和数据库连接
cursor.close()
db.close()
上述代码中,我们使用SELECT语句查询了users表中的所有数据,并将查询结果打印输出。
五、更新数据
在查询到数据之后,我们也可以使用Python代码更新数据。更新数据同样需要使用SQL语句,并且需要使用Python的MySQLCursor.execute()方法执行更新数据的SQL语句。
import pymysql
db = pymysql.connect(
host='localhost',
user='root',
password='password',
database='database_name'
)
cursor = db.cursor()
# SQL语句
sql = "UPDATE `users` SET `email`='tom_new@example.com' WHERE `name`='Tom'"
# 执行SQL语句
cursor.execute(sql)
# 提交到数据库
db.commit()
# 关闭游标和数据库连接
cursor.close()
db.close()
上述代码中,我们使用UPDATE语句将users表中name为Tom的记录的email字段更新为tom_new@example.com。
六、删除数据
在删除数据之前,我们需要知道需要删除哪些数据,并且需要使用SQL语句执行删除数据的操作。Python的MySQLCursor.execute()方法同样可以执行删除数据的SQL语句。
import pymysql
db = pymysql.connect(
host='localhost',
user='root',
password='password',
database='database_name'
)
cursor = db.cursor()
# SQL语句
sql = "DELETE FROM `users` WHERE `name`='Tom'"
# 执行SQL语句
cursor.execute(sql)
# 提交到数据库
db.commit()
# 关闭游标和数据库连接
cursor.close()
db.close()
上述代码中,我们使用DELETE语句将users表中name为Tom的记录删除。