python-操作MySQL
1、连接数据库基础代码
使用 pymysql.connect(host, user, passwd, db, port, charset='utf8') 连接数据库
使用 cursor() 方法获取操作游标
使用 execute(sql) 方法执行SQL语句
使用 fetchone() 方法获取一条数据
import pymysql # 打开数据库连接 db = pymysql.connect(host="192.168.120.78", user="test", passwd="Ddc@2019", db="user", port=3306, charset='utf8') # 使用cursor()方法获取操作游标 cursor = db.cursor() # 使用execute()方法执行SQL语句 cursor.execute("SELECT VERSION()") # 使用 fetchone() 方法获取一条数据 data = cursor.fetchone() print("Database version : %s " % data) # 关闭数据库连接 cursor.close() db.close()
2、创建数据库表,使用 execute(sql) 方法执行sql语句
import pymysql # 打开数据库连接 db = pymysql.connect(host="192.168.120.78", user="test", passwd="Ddc@2019", db="user", port=3306, charset='utf8') # 使用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 )""" # 使用execute方法执行SQL语句 cursor.execute(sql) # 关闭数据库连接 cursor.close() db.close()
3、数据库插入、更新、删除(只是sql语句变化)操作,使用 commit() 方法提交数据库执行,使用 rollback() 方法回滚数据库执行
import pymysql # 打开数据库连接 db = pymysql.connect(host="192.168.120.78", user="test", passwd="Ddc@2019", db="user", port=3306, charset='utf8') # 使用cursor()方法获取操作游标 cursor = db.cursor() # 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() # 关闭数据库连接 cursor.close() db.close()
4、数据库多行结果集查询,使用 fetchall() 方法接收全部的返回结果行
import pymysql # 打开数据库连接 db = pymysql.connect(host="192.168.120.78", user="test", passwd="Ddc@2019", db="user", port=3306, charset='utf8') # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 查询语句 sql = 'SELECT * from user_connect where platform_type="11";' # 执行SQL语句 cursor.execute(sql) # 获取所有记录列表 results = cursor.fetchall() for row in results: id = row[0] type = row[1] platform_type = row[2] state = row[3] connect_key = row[4] connect_account = row[5] user_id = row[6] create_time = row[7] update_time = row[8] is_delete = row[9] source_id = row[10] # 打印结果 print(id, type, platform_type, state, connect_key, connect_account, user_id, create_time, update_time, is_delete, source_id) # 关闭数据库连接 cursor.close() db.close()
5、数据库单行结果集查询,使用 fetchone() 方法获取一条数据,使用 rowcount 返回执行execute()方法后影响的行数
import pymysql # 打开数据库连接 db = pymysql.connect(host="192.168.120.78", user="test", passwd="Ddc@2019", db="user", port=3306, charset='utf8') # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 查询语句 sql = 'SELECT * from user_connect where connect_key="13825822582";' # 执行SQL语句 cursor.execute(sql) # 获取一条数据 results = cursor.fetchone() # 获取影响行数 count = cursor.rowcount # 打印结果 print(count) print(results) # 关闭数据库连接 cursor.close() db.close()