MySQL——python對mysql操作
pymysql 子產品
# 1.子產品的安裝:pip install pymysql 或者進入setting
# 2.代碼連接配接
import pymysql
# 連接配接
conn = pymysql.connect(
host="127.0.0.1",
port=3306,
user="root",
password='',
database="day41",
charset = "utf8"
)
# 遊标操作
cursor = conn.cursor()# 預設以元組的形式傳回是傳回
# cursor = conn.cursor(pymysql.cursors.DictCursor)# 參數規定以字典形式傳回
3.對資料庫的操作
res = cursor.excute('select * from class') # 發送指令到mysql
print(res) # 查詢到資料的總調條數不是所有詳細資訊(rows)
print (cursor.fetchone()) # 擷取一個查詢的結果,同時遊标往後移動一個
print (cursor.fetchone())
cursor.scroll(1,"absloute") # 絕對位置,參照開始位置1
# cursor.scroll(1,"relative") # 相對位置
print (cursor.fetchone())
print('---------------------------------------------------')
# # print(cursor.fetchall()) # 擷取所有資料
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLwYTO4IzNmBDZxI2YwQDZkNWNvwlNx8CX1AzLclTMwIzLcRXZu5Sas9Gbuk2Lc9CX6MHc0RHaiojIsJye.png)
Python——對資料MySQL操作
# 增
SQL = "insert into user(username,password) values(%s,%s)"
rows = cursor.excute(sql,("jason","123"))
# 一次插入多汗記錄
res = cursor.excytemany(sql,[(),(),()])
# 改
sql = "update user set username= jasonDSB where id=1"
rows = cuesor.excute(sql)
# 注: 需要在确認資料無誤後,commit執行後才會将資料真正的修改到資料庫
conn.commit()
使用者名密碼例子
import pymysql
conn = pymysql.connect(
host='127.0.0.1',
port=3306,
user='root',
password='',
charset='utf8'
)
cursor = conn.cursor(pymysql.cursors.DictCursor)
username = input('name:')
password = input('password')
# 新增使用者
# sql = "insert into userinfo (name,password) values(%s,%s)"
# 更改使用者資訊
# sql = "update userinfo set name ='jasonDSB' where id =1 "
# 檢視資訊
sql = "select * from userinfo where name=%s and password=%s "
# res = cursor.excute(sql,(username,password)) # 有mysql來執行資料的導入
res = cursor.execute(sql)
conn.commit() # 确認資料正确後,commit執行後才導入數真正的修改資料庫
if res:
print(cursor.fetchone())
else:
print('使用者名密碼錯誤')
SQL 注入問題
# 不要手動去拼接查詢sql語句
username = input(">>>:").strip()
password = input(">>>:").strip()
sql = "select * from user where username='%s' and password='%s'"%(username,password)
# 使用者名正确
username >>>: jason' -- jjsakfjjdkjjkjs
# 使用者名密碼都不對的情況
username >>>: xxx' or 1=1 --asdjkdklqwjdjkjasdljad
password >>>: ''
轉載于:https://www.cnblogs.com/king-home/p/10882124.html