91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python數據庫MYSQL的用法講解

發布時間:2021-09-16 10:01:51 來源:億速云 閱讀:176 作者:chen 欄目:大數據

本篇內容主要講解“Python數據庫MYSQL的用法講解”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python數據庫MYSQL的用法講解”吧!

1、創建數據庫連接

import mysql.connector
config = {
    'host': 'localhost',
    'port': '3306',
    'user': 'root',
    'password': '',
    'database': 'python'
}
con = mysql.connector.connect(**config)
cursor = con.cursor() #游標,用于執行sql語句

2、創建數據表

create_table_sql = "CREATE TABLE `browser` (">

3、創建索引

_index1 = "ALTER TABLE `browser` ADD UNIQUE INDEX name(name)" #唯一索引
_index2 = "CREATE INDEX url ON `browser`(url)" #普通索引
for sql in [_index1, _index2]:
   cursor.execute(sql)

Python數據庫MYSQL的用法講解

創建表結構和添加字段索引個人建議客戶端手動操作,一行一行代碼操作效率實在太低。這邊公眾號回復"mysql"獲取相關資源。

4、數據增刪查改

#插入單條數據
insert_sql = "INSERT INTO `browser`(name, url) VALUES (%s, %s)"
values = ('Chrome', "http://www.google.cn/chrome/")
cursor.execute(insert_sql, values) 

#插入多條數據
values = [
    ('Chrome', "http://www.google.cn/chrome/"),
    ('Firefox', "http://www.firefox.com/"),
    ('Safari2', "https://www.apple.com.cn/safari/")
]
cursor.executemany(insert_sql, values) 

#查詢數據
select_sql = "SELECT * FROM `browser`"
cursor.execute(select_sql)
print(cursor.fetchone()) #獲取單條數據
print(cursor.fetchall()) #獲取全部數據

#更新數據
update_sql = "UPDATE `browser` SET `url`='http://www.firefox.com.cn' WHERE `name`='Firefox';"
cursor.execute(update_sql)

#刪除數據
delete_sql = "DELETE FROM `browser` WHERE `name` = %s"
cursor.execute(delete_sql, ['Safari'])

5、關于抵御注入攻擊

由于Sql語句是解釋性語言,所以在拼接Sql語句的時候,容易被注入惡意的Sql語句。

sql語句編譯過程中,關鍵字被解析過,所以向編譯后的sql語句傳入參數,都被當字符串處理,數據庫不會解析其中注入的sql語句。

Python數據庫MYSQL的用法講解

6、事務控制與異常處理

try:
    con.start_transaction()
    cursor = con.cursor()
    delete_sql = "DELETE FROM `browser` WHERE `name` = %s"
    cursor.execute(delete_sql, ['Firefox'])
except Exception as e:
    con.rollback() #回滾
else:
    con.commit() #提交

7、實現數據庫連接池

如果每次進行操作前都去做連接請求,是非常消耗資源的,尤為考慮到并發問題的時候。

數據庫連接池預先創建出一些數據庫連接,然后緩存起來,避免出現重復創建和銷毀連接付出昂貴的代價,很好的解決這個問題。

import mysql.connector.pooling
config = {...}
pool = mysql.connector.pooling.MySQLConnectionPool(
    **config,
    pool_size=10
)
con_pool = pool.get_connection()

到此,相信大家對“Python數據庫MYSQL的用法講解”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

玉龙| 富顺县| 台北县| 吉水县| 东阿县| 江华| 新和县| 波密县| 沈丘县| 磐石市| 积石山| 格尔木市| 南丹县| 孟连| 江孜县| 晋城| 大田县| 株洲市| 红河县| 姚安县| 永善县| 自贡市| 浦县| 安福县| 江都市| 开鲁县| 海兴县| 塘沽区| 鲜城| 屏山县| 遂川县| 启东市| 泽普县| 柘城县| 苏州市| 广元市| 华安县| 南投市| 临清市| 巴楚县| 普兰店市|