天天看點

MySQL——pymysql的使用MySQL——python對mysql操作

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()) # 擷取所有資料

                
MySQL——pymysql的使用MySQL——python對mysql操作

Python——對資料MySQL操作

# 增
SQL = "insert into user(username,password) values(%s,%s)"
rows = cursor.excute(sql,("jason","123"))

# 一次插入多汗記錄
res = cursor.excytemany(sql,[(),(),()])                
MySQL——pymysql的使用MySQL——python對mysql操作
# 改
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 >>>: ''
                    
MySQL——pymysql的使用MySQL——python對mysql操作
MySQL——pymysql的使用MySQL——python對mysql操作
MySQL——pymysql的使用MySQL——python對mysql操作

轉載于:https://www.cnblogs.com/king-home/p/10882124.html