1、连接数据库基础代码
使用 pymysql.connect(host, user, passwd, db, port, charset='utf8') 连接数据库
使用 cursor() 方法获取操作游标
使用 execute(sql) 方法执行SQL语句
使用 fetchone() 方法获取一条数据
importpymysql#打开数据库连接
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语句
importpymysql#打开数据库连接
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() 方法回滚数据库执行
importpymysql#打开数据库连接
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() 方法接收全部的返回结果行
importpymysql#打开数据库连接
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 inresults:
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()方法后影响的行数
importpymysql#打开数据库连接
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()