day03 MYSQL與PYTHON的互動

2021-10-03 23:05:25 字數 1435 閱讀 3579

一、pymysql介紹

python中與mysql互動的乙個庫

windows安裝: pip install pymysql

二、pymysql庫的基本使用

1.建立connec物件

用於建立與資料庫的連線

con= pymysql.connect(host,port,database,user,password,charset)

2.建立cursor物件

用於執行sql語句(相當於建立了乙個客戶端)

cur = con.cursor()

3.執行sql語句

cur.execute(""" sql語句 「」")

返回受影響的行數

4.檢視執行後資料表中的資料

cur.fetchone()

注:每執行一次,返回一條新記錄,預設從第一條記錄返回

cur. fetchmany(num) #num為指定的行數

注:返回的資料型別為元組中巢狀元組型,元組中的每乙個元組是一條記錄

cur. fetchall()

注:返回的資料型別也是元組中巢狀元組型,元組中的每乙個元組是一條記錄

5.提交操作

con.commit()

注:如果sql語句為select查詢語句,則不需要提交語句,預設執行提交語句;如果是除查詢之外的sql語句,則必須要執行提交語句才能奏效

6.關閉連線操作

cur.close() #相當於關閉客戶端

con.close() #相當於關閉連線

注:cur物件必須先關閉,即con物件不能在cur物件關閉前關閉

三、sql注入

介紹:有些網客會利用sql語句的漏洞,查詢並竊取資料庫中的所有資料

舉例:

select * from 表名 where 條件 or 『1=1』 or 『1』;

此sql語句可實現對資料庫所有資料的讀取操作

cur.execute(sql語句,[使用者輸入])

說明:利用sql語句的引數化,將sql語句中的引數個數與使用者輸入的引數個數相比較,進而實現有效避免

day03 Mysql資料庫 索引

幾乎所有的索引都是建立在字段之上.索引 系統根據某種演算法,將已有的資料 未來可能新增的資料 單獨建立乙個檔案 檔案能夠實現快速的匹配資料,並且能夠快速的找到對應表中的記錄.索引的意義 1.提公升查詢資料的效率 2.約束資料的有效性 唯一性等 增加索引的前提條件 索引本身會產生索引檔案 有時候有可能...

小王學習Mysql之旅Day03

mysql不區分大小寫 create database if not exists 名稱drop database if exists 名稱use 名稱 show database 檢視所有的資料庫1.對照sqlyog視覺化歷史記錄檢視sql 2.固定的語法或者關鍵字必須要強行記住!數值 1.tin...

Oracle學習筆記day03 許可權與角色

許可權,oracle中許可權主要分為兩種,系統許可權和實體許可權。系統許可權 系統規定使用者使用資料庫的許可權。系統許可權是對使用者而言 授予系統許可權 檢視oracle所有系統許可權語法 select from system privilege map 說明 要實現授予系統許可權只能由dba使用者...