import pymysql# 关上数据库连贯db = pymysql.connect(host='localhost', user='root', password='root', database='test')# 查问SQL 版本# 像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )完结,该行之后的一行或多行代码形成代码组。def searchVersion(): # 应用 cursor() 办法创立一个游标对象 cursor cursor = db.cursor() # 应用 execute() 办法执行 SQL 查问 cursor.execute("SELECT VERSION()") # 应用 fetchone() 办法获取单条数据. data = cursor.fetchone() print("Database version : %s " % data) # 敞开数据库连贯 db.close()# SQL 插入语句# Python 通常是一行写完一条语句,但如果语句很长,咱们能够应用反斜杠 \ 来实现多行语句def InsertSql(sql): # sql = """INSERT INTO EMPLOYEE(FIRST_NAME, # LAST_NAME, AGE, SEX, INCOME) # VALUES ('Mac', 'Mohan', 20, 'M', 2000)""" try: # 应用 cursor() 办法创立一个游标对象 cursor cursor = db.cursor() # 执行sql语句 cursor.execute(sql) # 提交到数据库执行 db.commit() except: # 如果产生谬误则回滚 db.rollback() # 敞开数据库连贯 db.close()# SQL 查问语句def SearchSql(sql): # sql = "SELECT * FROM EMPLOYEE \ # WHERE INCOME >100" try: # 应用 cursor() 办法创立一个游标对象 cursor cursor = db.cursor() # 执行SQL语句 cursor.execute(sql) # 获取所有记录列表 results = cursor.fetchall() for row in results: fname = row[0] lname = row[1] age = row[2] sex = row[3] income = row[4] # 打印后果 print("fname=%s,lname=%s,age=%s,sex=%s,income=%s" % \ (fname, lname, age, sex, income)) except: print("Error: unable to fetch data") # 敞开数据库连贯 db.close()# SQL 更新语句def updateSql(sql): # sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = '%c'" % ('M') try: cursor = db.cursor() # 执行SQL语句 cursor.execute(sql) # 提交到数据库执行 db.commit() except: # 产生谬误时回滚 db.rollback() # 敞开数据库连贯 db.close()# SQL 删除语句def DeleteSql(sql): # sql = "DELETE FROM EMPLOYEE WHERE AGE > %s" % (20) try: cursor = db.cursor() # 执行SQL语句 cursor.execute(sql) # 提交批改 db.commit() except: # 产生谬误时回滚 db.rollback() # 敞开连贯 db.close()# 查问sqlsqlStr = "SELECT * FROM EMPLOYEE WHERE INCOME >100"SearchSql(sqlStr)