python 连接mysql数据库操作
import pymysql.cursors # 连接数据库 connect = pymysql.Connect( host='localhost', port=3306, user='root', passwd='magicimage', db='student', charset='utf8' ) # 获取游标 cursor = connect.cursor() ''' 删除表,创建表 ''' # 使用 execute() 方法执行 SQL,如果表存在则删除 cursor.execute("DROP TABLE IF EXISTS EMPLOYEE") # 使用预处理语句创建表 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 = "INSERT INTO student (name, sex, class_id) VALUES ( '%s', '%s', '%s' )" data = ('雷军', 0, 1) try: # 执行sql语句 cursor.execute(sql % data) connect.commit() print('成功插入', cursor.rowcount, '条数据') except: connect.rollback() ''' 显示结果 成功插入 1 条数据 ''' ''' 数据库查询操作 fetchone() 方法获取单条数据, fetchall() 方法获取多条数据。 rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。 ''' # SQL 查询语句 sql = "SELECT * FROM student \ WHERE class_id > %s" % (1) try: # 执行SQL语句 cursor.execute(sql) # 获取所有记录列表 results = cursor.fetchall() for row in results: id = row[0] name = row[1] sex = row[2] class_id = row[3] # 打印结果 print ("id=%s,name=%s,sex=%s,class_id=%s" % \ (id, name, sex,class_id )) except: print ("Error: unable to fetch data") ''' 结果 id=2,name=雪,sex=1,class_id=2 id=3,name=于,sex=0,class_id=3 id=5,name=孙,sex=0,class_id=2 ''' ''' 数据库更新操作 ''' # SQL 更新语句 sql = "UPDATE student SET name = '雷' WHERE id = '%s'" % (7) try: # 执行SQL语句 cursor.execute(sql) # 提交到数据库执行 connect.commit() print('成功更新', cursor.rowcount, '条数据') except: # 发生错误时回滚 connect.rollback() ''' 删除操作 ''' # SQL 删除语句 sql = "DELETE FROM student WHERE id = '%s'" % (7) try: # 执行SQL语句 cursor.execute(sql) # 提交修改 connect.commit() print('成功删除', cursor.rowcount, '条数据') except: # 发生错误时回滚 connect.rollback() # 关闭数据库连接 connect.close()