環境:python3.6
庫:pip install pymysql
鏈接mysql數據庫的常用方法↓↓↓:
import pymysql
#python3中不支持mysqldb
conn=pymysql.connect(host='數據庫地址',
user='name',
passwd='****',
db='庫名',
port=3306,
charset='utf8')
cur=conn.cursor() #光標
SQL="""sql語句"""
cur.execute(SQL)
conn.commit()#提交事務
conn.close()# 斷開與數據庫的鏈接
id | username | password |
10 | zhangsan | 12345 |
11 | liushan | 22222 |
12 | zhaowu | 35f4y5 |
查詢操作↓↓↓
在tablename表中查看id=10,id=11,id=12的這些數據
sql = "select * from tablename where id in ('10','11','12')"
try:
cur.execute(sql) # 執行sql語句
results = cur.fetchall() # 獲取查詢的所有記錄
print("id", "username", "password")
# 遍歷結果
for row in results:
id = row[0]
username = row[1]
password = row[2]
print(id, username, password)
except Exception as e:
raise e
finally:
db.close() # 關閉連接
插入操作↓↓↓
將兩條數據插入tablename表中
sql_insert ="""insert into tablename (id,username,password) values(4,'liu','1234')(5,'zhang','2234)"""
try:
cur.execute(sql_insert)
#提交
db.commit()
except Exception as e:
#錯誤回滾
db.rollback()
finally:
db.close()
更新操作↓↓↓
將tablename表中id=10的這條數據,username更新爲'liusan'
sql_update ="update tablename set username = '%s' where id = %s"%('liusan','10')
try:
cur.execute(sql_update % ("xiongda",3)) #像sql語句傳遞參數
#提交
db.commit()
except Exception as e:
#錯誤回滾
db.rollback()
finally:
db.close()
刪除操作↓↓↓
刪除tablename表中id=10 的數據
sql_delete ="delete from tablename where id = '10'"
try:
cur.execute(sql_delete % (3)) #像sql語句傳遞參數
#提交
db.commit()
except Exception as e:
#錯誤回滾
db.rollback()
finally:
db.close()