最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL mysql-connector的具體實現(xiàn)

 更新時間:2025年11月27日 08:58:14   作者:愚戲師  
本文主要介紹了MySQL mysql-connector的具體實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

一、安裝與 MySQL 8.0 適配

1. 驅動安裝

安裝命令:python -m pip install mysql-connector

驗證安裝(無報錯即成功):

import mysql.connector 

2. MySQL 8.0 版本用戶創(chuàng)建與遠程連接

MySQL 8.0 及以上版本(主流版本)需先創(chuàng)建用戶,再單獨授權(8.0 + 不再支持 GRANT 語句中直接設置密碼):

  • 步驟 1:創(chuàng)建用戶(指定允許遠程訪問的 IP)
-- 示例:創(chuàng)建用戶user_test,允許IP為xx.xx.xxx.xxx的主機遠程訪問
CREATE USER 'user_test'@'xx.xx.xxx.xxx' IDENTIFIED BY '你的復雜密碼';

若需允許任意 IP 遠程訪問(存在安全風險),將 IP 改為 %:

CREATE USER 'user_test'@'%' IDENTIFIED BY '你的復雜密碼'; 
  • 步驟 2:授予遠程訪問權限
-- 示例:授予用戶對所有數(shù)據(jù)庫的所有操作權限(可根據(jù)需求縮小權限范圍)
GRANT ALL PRIVILEGES ON *.* TO 'user_test'@'xx.xx.xxx.xxx' WITH GRANT OPTION;
  • 步驟 3:刷新權限使配置生效
FLUSH PRIVILEGES;

二、數(shù)據(jù)庫基礎操作

1. 創(chuàng)建數(shù)據(jù)庫

import mysql.connector
mydb = mysql.connector.connect(host="localhost", user="root", passwd="123456")
mycursor = mydb.cursor()
mycursor.execute("CREATE DATABASE runoob_db")

2. 查看所有數(shù)據(jù)庫

mycursor.execute("SHOW DATABASES")
for x in mycursor:
    print(x)

3. 直接連接指定數(shù)據(jù)庫

mydb = mysql.connector.connect(
    host="localhost",
    user="root",
    passwd="123456",
    database="runoob_db"
)

三、數(shù)據(jù)表操作

1. 創(chuàng)建數(shù)據(jù)表(需先連指定數(shù)據(jù)庫)

mycursor.execute("CREATE TABLE sites (name VARCHAR(255), url VARCHAR(255))")

2. 查看數(shù)據(jù)表

mycursor.execute("SHOW TABLES")
for x in mycursor:
    print(x)

3. 主鍵設置

  • 創(chuàng)建表時設置:mycursor.execute("CREATE TABLE sites (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), url VARCHAR(255))")
  • 表已創(chuàng)建后添加:mycursor.execute("ALTER TABLE sites ADD COLUMN id INT AUTO_INCREMENT PRIMARY KEY")

四、數(shù)據(jù)操作(增刪改查)

1. 插入數(shù)據(jù)

單條插入(需 commit() 提交):

sql = "INSERT INTO sites (name, url) VALUES (%s, %s)"
val = ("RUNOOB", "https://www.runoob.com")
mycursor.execute(sql, val)
mydb.commit()

批量插入(executemany()):

val = [('Google','https://www.google.com'), ('Github','https://www.github.com')]
mycursor.executemany(sql, val)
mydb.commit()

獲取插入記錄 ID:print(mycursor.lastrowid)

2. 查詢數(shù)據(jù)

查詢所有 / 指定字段:

mycursor.execute("SELECT * FROM sites")  # 所有字段
mycursor.execute("SELECT name, url FROM sites")  # 指定字段
myresult = mycursor.fetchall()  # 所有結果
for x in myresult: print(x)

單條結果:myresult = mycursor.fetchone()

條件查詢(防 SQL 注入用 % s 占位符):

sql = "SELECT * FROM sites WHERE name = %s"
mycursor.execute(sql, ("RUNOOB",))
  • 排序:ORDER BY 字段 [ASC/DESC](默認升序)
  • 限制條數(shù):LIMIT 數(shù)量 [OFFSET 起始位置](起始位從 0 開始)

3. 刪除數(shù)據(jù)(務必加 WHERE 條件)

sql = "DELETE FROM sites WHERE name = %s"
mycursor.execute(sql, ("stackoverflow",))
mydb.commit()

4. 更新數(shù)據(jù)(務必加 WHERE 條件)

sql = "UPDATE sites SET name = %s WHERE name = %s"
mycursor.execute(sql, ("Zhihu", "ZH"))
mydb.commit()

五、刪除數(shù)據(jù)表

mycursor.execute("DROP TABLE IF EXISTS sites") 
# IF EXISTS 避免表不存在報錯 

六、核心注意事項

  1. 增 / 刪 / 改數(shù)據(jù)后,必須執(zhí)行 mydb.commit() 才能生效;
  2. MySQL 8.0 需適配認證插件,否則無法正常連接;
  3. 條件操作(查 / 刪 / 改)用 % s 占位符,防止 SQL 注入;
  4. 刪除 / 更新操作必須加 WHERE 條件,避免誤操作全表數(shù)據(jù)。

到此這篇關于MySQL mysql-connector的具體實現(xiàn)的文章就介紹到這了,更多相關MySQL mysql-connector內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MySQL中存儲過程(procedure)的使用及說明

    MySQL中存儲過程(procedure)的使用及說明

    存儲過程是預先定義的SQL語句集合,可在數(shù)據(jù)庫中重復調用,它們提供事務性、高效性和安全性,MySQL和Java中均可創(chuàng)建和調用存儲過程,示例展示了如何在MySQL中創(chuàng)建和調用存儲過程,以及如何在Java中實現(xiàn)存儲過程的調用
    2025-11-11
  • Mysql常見問題集錦

    Mysql常見問題集錦

    Mysql在使用過程中難免會遇到一些問題,在本文把常見問題做個記錄方便以后發(fā)現(xiàn)問題查看,感興趣的朋友也可以了解下
    2013-09-09
  • Mysql聯(lián)表update數(shù)據(jù)的示例詳解

    Mysql聯(lián)表update數(shù)據(jù)的示例詳解

    這篇文章主要介紹了Mysql聯(lián)表update數(shù)據(jù)的示例詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • 登錄mysql報錯Can‘t connect to MySQL server on ‘localhost:3306‘ (10061)解決方法

    登錄mysql報錯Can‘t connect to MySQL server&n

    這篇文章主要給大家介紹了登錄mysql報錯 Can‘t connect to MySQL server on ‘localhost:3306‘ (10061)解決方法,文中有詳細的解決步驟,需要的朋友可以參考下
    2023-09-09
  • MySQL數(shù)據(jù)庫設計概念及多表查詢和事物操作

    MySQL數(shù)據(jù)庫設計概念及多表查詢和事物操作

    數(shù)據(jù)庫設計就是根據(jù)業(yè)務系統(tǒng)具體需求,結合我們所選用的DBMS,為這個業(yè)務系統(tǒng)構造出最優(yōu)的數(shù)據(jù)存儲模型,本文給大家介紹MySQL數(shù)據(jù)庫設計概念及多表查詢和事物操作,感興趣的朋友一起看看吧
    2022-05-05
  • MySQL提升大量數(shù)據(jù)查詢效率的優(yōu)化神器

    MySQL提升大量數(shù)據(jù)查詢效率的優(yōu)化神器

    這篇文章主要介紹了MySQL提升大量數(shù)據(jù)查詢效率的優(yōu)化神器,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • 分析Mysql表讀寫、索引等操作的sql語句效率優(yōu)化問題

    分析Mysql表讀寫、索引等操作的sql語句效率優(yōu)化問題

    今天小編就為大家分享一篇關于分析Mysql表讀寫、索引等操作的sql語句效率優(yōu)化問題,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 詳解用SELECT命令在MySQL執(zhí)行查詢操作的教程

    詳解用SELECT命令在MySQL執(zhí)行查詢操作的教程

    這篇文章主要介紹了詳解用SELECT命令在MySQL執(zhí)行查詢操作的教程,本文中還給出了基于PHP腳本的操作演示,需要的朋友可以參考下
    2015-05-05
  • 解析MYSQL顯示表信息的方法

    解析MYSQL顯示表信息的方法

    本篇文章是對MYSQL顯示表信息的方法進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL不可忽視的數(shù)據(jù)庫約束(維護數(shù)據(jù)秩序)

    MySQL不可忽視的數(shù)據(jù)庫約束(維護數(shù)據(jù)秩序)

    數(shù)據(jù)庫約束是數(shù)據(jù)庫管理中不可或缺的一部分,它們在維護數(shù)據(jù)秩序、保證數(shù)據(jù)完整性和一致性方面發(fā)揮著重要作用,本文給大家介紹MySQL不可忽視的數(shù)據(jù)庫約束,感興趣的朋友一起看看吧
    2025-05-05

最新評論

固原市| 田林县| 原平市| 镇安县| 通渭县| 开鲁县| 蒙山县| 广汉市| 中宁县| 葵青区| 金川县| 周宁县| 苗栗市| 黄冈市| 津南区| 子长县| 济阳县| 杭锦后旗| 淮南市| 巴里| 象山县| 砀山县| 丹江口市| 黑山县| 九龙县| 无棣县| 酒泉市| 巴楚县| 临沭县| 金沙县| 都兰县| 澎湖县| 新巴尔虎右旗| 澎湖县| 呈贡县| 宁乡县| 黔江区| 龙州县| 浪卡子县| 龙南县| 应用必备|