Navicat使用,pymysql模塊

Navicat使用

掌握:
#1. 測試+連接數據庫
#2. 新建庫
#3. 新建表,新增字段+類型+約束
#4. 設計表:外鍵
#5. 新建查詢
#6. 創建表模型

#注意:
批量加註釋:ctrl+?鍵
批量去註釋:ctrl+shift+?鍵

快速建表

#準備表、記錄  >>> 命令行
mysql> create database db1;
mysql> use db1;
mysql> source /root/init.sql

# navicat建表

pymysql模塊

# 1.安裝:pip3 insatll pymysql

# 2.代碼連接
import pymysql
#連接
conn=pymysql.connect(
  host='localhost',
  user='root',
  password='123',
  database='egon',
  charset='utf8')
#遊標
cursor=conn.cursor() #執行完畢返回的結果集默認以元組顯示
#cursor=conn.cursor(cursor=pymysql.cursors.DictCursor)  # 以字典的方式顯示數據

# 3.pymysql操做數據庫
#執行sql語句
user = input(">>>:").strip()
pwd = input(">>>:").strip()
sql='select * from userinfo where name="%s" and password="%s"' %(user,pwd) #注意%s須要加引號

rows=cursor.execute(sql) #執行sql語句,返回sql查詢成功的記錄數目
# 獲取真實數據cursor.fetchone(),cursor.fetchall(),cursor.fetchmany(),相似管道取值,獲取一條,全部,多條

cursor.scroll(1,'relative')  # 相對移動
cursor.scroll(3,'absolute')  # 絕對移動


cursor.close()
conn.close()

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 >>>: ''

增刪改

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

# 修改
sql = "update user set username='jasonDSB' where id=1"
rows = cursor.excute(sql)

"""
增和改單單執行excute並不會真正影響到數據,須要再執行conn.commit()才能夠完成真正的增改
"""

# 一次插入多行記錄
res = cursor,excutemany(sql,[(),(),()]
相關文章
相關標籤/搜索