MySQL與Python的互動學習筆記
MySQL Connector
官方的驅動模組,相容性好
建立連線
1、import mysql.connector
con=mysql.connector.connect(
host="localhost",port="3306",
user = 'root',password="abc1",
database="demo");
2、import mysql.connector
config={
"host":"localhost",
"port":3306,
"user" :'root',
"password":"abc1",
"database":"demo"};
con=mysql.connector.connect(**config)
利用遊標來執行SQL語句,而查詢的結果集也儲存在遊標中
cursor=con.cursor()
cursor.execute(sql語句)
SQL語句是解釋型語言,拼接SQL語句的時候,容易被注入惡意的SQL語句。
SQL預編譯機制
預編譯就是將資料庫提前把SQL語句編譯成二進位制,反覆執行童一條SQL語句的效率就會提高。
SQL語句被編譯後,傳入引數都被當做字串處理,資料庫不會解釋注入SQL語句。
防注入
sql="SELECT COUNT(*) FROM t_user WHERE username=%s AND AES_DECRYPT(UNHEX(password),‘helloword’)=%s";
cursor.execute(sql,(username,password));
print(cursor.fetchone()[0])
事務控制
con.start_transaction([事務的隔離級別])
con.commit()
con.rollback()
異常處理
try:
......
except Exception as e:
..[con.rollback()]
finally:
if "con" in dir():con.close()
資料庫最昂貴的是資料庫連線,併發尤為突出
TCP連線需要三次握手,四次回首,然後資料庫還要驗證使用者資訊。
資料庫連線池:預先建立一些資料庫連線,然後快取,避免程式語言反覆建立
import mysql.connector.pooling
config={...}
pool=mysql.connector.pooling.MySQLConnectionPool(**config,pool_size=10)
con=pool.get_connection()
EXECUTEMANY()函式可以反覆執行一條SQL語句。
cursor.executemany(sql,data)
create table t_emp_new AS (select * from t_emp)複製資料表
create table t_emp_new like t_emp 複製資料表結構(內容空)
cursor.fetchall() 查出全部資料
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4550/viewspace-2824519/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL學習筆記——建立與約束MySql筆記
- MySql學習筆記MySql筆記
- Python高階 -- 08 MySQL與Python互動PythonMySql
- python資料庫-MySQL與python的互動(52)Python資料庫MySql
- python與mysql資料庫互動PythonMySql資料庫
- 【記錄】MySQL 學習筆記MySql筆記
- [記錄] MySQL 學習筆記MySql筆記
- python與mysql互動中的各種坑PythonMySql
- Python學習筆記Python筆記
- 【學習筆記】python筆記Python
- MySql學習筆記06MySql筆記
- mysql學習筆記3MySql筆記
- MySQL學習筆記:鎖MySql筆記
- MySQL學習筆記2MySql筆記
- 筆記:前端與後臺互動筆記前端
- mysql學習筆記之備份與恢復MySql筆記
- Python學習筆記6——動態型別Python筆記型別
- 一千行 MySQL 詳細學習筆記(值得學習與收藏)MySql筆記
- python學習筆記(1Python筆記
- Python學習筆記 - queuePython筆記
- Effective Python學習筆記Python筆記
- python——Matplotlib學習筆記Python筆記
- python學習筆記4Python筆記
- Python學習筆記 - asyncioPython筆記
- Python 學習筆記(一)Python筆記
- Python學習筆記 - aiohttpPython筆記AIHTTP
- python學習筆記(二)Python筆記
- Python學習筆記(2)Python筆記
- python——numpy學習筆記Python筆記
- Python學習筆記(三)Python筆記
- python學習筆記 列表的切片Python筆記
- MySQL學習筆記之一MySql筆記
- mysql8.0學習筆記MySql筆記
- MySQL學習筆記:索引失效MySql筆記索引
- flask筆記:flask與資料庫的互動Flask筆記資料庫
- MySQL:Innodb恢復的學習筆記MySql筆記
- Python 3 學習筆記之類與例項Python筆記
- Python學習筆記|Python之程式Python筆記