MySQL-pymysql模塊

Navicat軟件

安裝html

 

下載地址:
https://www.cr173.com/soft/126934.html
    

navicat可以充當多個數據庫的客戶端


navicat圖形化界面有時候反應速度較慢 你能夠選擇刷新或者關閉當前窗口再次打開便可

當你有一些需求該軟件沒法知足的時候 你就本身動手寫sql

提示

"""
1 MySQL是不區分大小寫的
    驗證碼忽略大小寫
        內部統一轉大寫或者小寫比較便可
            upper
            lower

2 MySQL建議全部的關鍵字寫大寫

3 MySQL中的註釋 有兩種
    --
    #

4 在navicat中如何快速的註釋和解註釋
    ctrl + ?  加註釋
    ctrl + ?  基於上述操做再來一次就是解開註釋
    若是你的navicat版本不一致還有多是
    ctrl + shift + ?解開註釋
"""

pymysql模塊

"""
支持python代碼操做數據庫MySQL
"""
pip3 install pymysql

sql注入

"""
利用一些語法的特性 書寫一些特色的語句實現固定的語法
MySQL利用的是MySQL的註釋語法
select * from user where name='jason' -- jhsadklsajdkla' and password=''

select * from user where name='xxx' or 1=1 -- sakjdkljakldjasl' and password=''
"""
平常生活中不少軟件在註冊的時候都不能含有特殊符號
由於怕你構造出特定的語句入侵數據庫 不安全

# 敏感的數據不要本身作拼接 交給execute幫你拼接便可
# 結合數據庫完成一個用戶的登陸功能?
import pymysql


conn = pymysql.connect(
    host = '127.0.0.1',
    port = 3306,
    user = 'root',
    password = '123456',
    database = 'day48',
    charset = 'utf8'  # 編碼千萬不要加-
)  # 連接數據庫
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

username = input('>>>:')
password = input('>>>:')
sql = "select * from user where name=%s and password=%s"
# 不要手動拼接數據 先用%s佔位 以後將須要拼接的數據直接交給execute方法便可
print(sql)
rows = cursor.execute(sql,(username,password))  # 自動識別sql裏面的%s用後面元組裏面的數據替換
if rows:
    print('登陸成功')
    print(cursor.fetchall())
else:
    print('用戶名密碼錯誤')
相關文章
相關標籤/搜索