就像Java连接数据库需要JDBC一样,连接数据库的时候, python 也需要相应的支持。
Python2的话,一般用mysqldb;而Python3的时候,就需要使用PyMySQL这个组件了,本文我们选择PyMy SQL 进行简单讲解。安装的话,使用 Pycharm 来弄的话非常简单,具体方法可以参照前文,再次不赘述。
准备工作
与数据库连接之前,需要了解数据库的基本信息,这其中包含:
数据库服务器 的IP,端口(mysql默认3306)
访问的用户名/密码
数据库的名称
本文使用的信息如下: localhost (本机)、admin/123456、home。下面请大家跟着这些例子来体会一下python进行数据库的增删改查。至于 commit 和rollback的概念,这里面有利用到,后续的篇章中会详细讲解。
1.创建用户表(user)
import pymy sql # 打开数据库连接 db = pymysql. connect ("localhost", "admin", "123456", "home") # 使用 cursor() 方法创建一个 游标 对象 cursor cursor = db.cursor() # 使用 execute() 方法执行 SQL,如果表存在则删除 cursor.execute("DROP TABLE IF EXISTS USER") # 使用预处理语句创建表 sql = """CREATE TABLE USER ( NAME CHAR(20) NOT NULL, AGE INT, SEX CHAR(1) )""" cursor.execute(sql) # 关闭数据库连接 db. close ()
2.INSERT/UPDATE/DELETE操作
import pymysql # 打开数据库连接 db = pymysql.connect("localhost", "admin", "123456", "home") # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # SQL 插入语句 sql = """INSERT INTO USER(NAME, AGE, SEX) VALUES ('Andy', 20, 'M')""" try: # 执行 sql语句 cursor.execute(sql) # 提交到数据库执行 db.commit() except : # 如果发生错误则回滚 db.rollback() # 关闭数据库连接 db.close()
注:update和delete操作留给大家去思考。
3.SELECT操作
import pymysql # 打开数据库连接 db = pymysql.connect("localhost", "admin", "123456", "home") # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # SQL 查询语句 sql = "SELECT * FROM USER \ WHERE NAME like 'A%'" try: # 执行SQL语句 cursor.execute(sql) # 获取所有记录列表 results = cursor.fetchall() for row in results: name = row[0] age = row[1] sex = row[2] # 打印结果 print ("name=%s,age=%d,sex=%s" % \ (name, age, sex )) except: print ("Error: unable to fetch data") # 关闭数据库连接 db.close()