日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

快速使用Python连接MySQL数据库的方法

發(fā)布時(shí)間:2025/3/20 数据库 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 快速使用Python连接MySQL数据库的方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我是在Anaconda notebook中進(jìn)行連接實(shí)驗(yàn)的,環(huán)境Python3.6,當(dāng)然也可以在Python Shell里面進(jìn)行操作。

最常用也最穩(wěn)定的用于連接MySQL數(shù)據(jù)庫的python庫是PyMySQL,所以本文討論的是利用PyMySQL連接MySQL數(shù)據(jù)庫,以及如何存儲(chǔ)數(shù)據(jù)。

下面開始:

1、安裝PyMySQL庫

最簡單的方式:在命令行輸入 pip install pymysql

或者:下載whl文件進(jìn)行安裝,安裝過程自行百度。

2、安裝MySQL數(shù)據(jù)庫

MySQL數(shù)據(jù)庫類型有兩種:MySQL和MariaDB,我用的是后者M(jìn)ariaDB。

兩者在絕大部分性能上是兼容的,使用起來感覺不到啥區(qū)別。

給出下載地址:MySQL,MariaDB,安裝過程很簡單,一路Next Step,不過要記好密碼。

有個(gè)小插曲,MySQL和MariaDB相當(dāng)于姐姐妹妹的關(guān)系,兩者由同一個(gè)人(Widenius)創(chuàng)建的。MySQL被Oracle收購后,Widenius先生覺得不爽,于是搞了個(gè)MariaDB,可以完全替代MySQL。大牛就是任性。

3、SQL基本語法

下面要用SQL的表創(chuàng)建、查詢、數(shù)據(jù)插入等功能,這里簡要介紹一下SQL語言的基本語句。

  • 查看數(shù)據(jù)庫:SHOW DATABASES;

  • 創(chuàng)建數(shù)據(jù)庫:CREATE DATEBASE 數(shù)據(jù)庫名稱;

  • 使用數(shù)據(jù)庫:USE 數(shù)據(jù)庫名稱;

  • 查看數(shù)據(jù)表:SHOW TABLES;

  • 創(chuàng)建數(shù)據(jù)表:CREATE TABLE 表名稱(列名1 (數(shù)據(jù)類型1),列名2 (數(shù)據(jù)類型2));

  • 插入數(shù)據(jù):INSERT INTO 表名稱(列名1,列名2) VALUES(數(shù)據(jù)1,數(shù)據(jù)2);

  • 查看數(shù)據(jù):SELECT * FROM 表名稱;

  • 更新數(shù)據(jù):UPDATE 表名稱 SET 列名1=新數(shù)據(jù)1,列名2=新數(shù)據(jù)2 WHERE 某列=某數(shù)據(jù);

4、連接數(shù)據(jù)庫

安裝好必要得文件和庫后,接下來正式開始連接數(shù)據(jù)庫吧,雖然神秘卻不難哦!

#首先導(dǎo)入PyMySQL庫 import pymysql #連接數(shù)據(jù)庫,創(chuàng)建連接對(duì)象connection #連接對(duì)象作用是:連接數(shù)據(jù)庫、發(fā)送數(shù)據(jù)庫信息、處理回滾操作(查詢中斷時(shí),數(shù)據(jù)庫回到最初狀態(tài))、創(chuàng)建新的光標(biāo)對(duì)象 connection = pymysql.connect(host = 'localhost' #host屬性 user = 'root' #用戶名 password = '******' #此處填登錄數(shù)據(jù)庫的密碼 db = 'mysql' #數(shù)據(jù)庫名 )

執(zhí)行這段代碼就連接好了!

5.使用python代碼操作MySQL數(shù)據(jù)庫

首先來查看一下有哪些數(shù)據(jù)庫:

#創(chuàng)建光標(biāo)對(duì)象,一個(gè)連接可以有很多光標(biāo),一個(gè)光標(biāo)跟蹤一種數(shù)據(jù)狀態(tài)。#光標(biāo)對(duì)象作用是:、創(chuàng)建、刪除、寫入、查詢等等cur = connection.cursor()#查看有哪些數(shù)據(jù)庫,通過cur.fetchall()獲取查詢所有結(jié)果print(cur.fetchall())

打印出所有數(shù)據(jù)庫:

''' 學(xué)習(xí)中遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' (('information_schema',),('law',),('mysql',),('performance_schema',),('test',))

在test數(shù)據(jù)庫里創(chuàng)建表:

#使用數(shù)據(jù)庫test cur.execute('USE test') #在test數(shù)據(jù)庫里創(chuàng)建表student,有name列和age列 cur.execute('CREATE TABLE student(name VARCHAR(20),age TINYINT(3))')

向數(shù)據(jù)表student中插入一條數(shù)據(jù):

sql = 'INSERT INTO student (name,age) VALUES (%s,%s)' cur.execute(sql,('XiaoMing',23))

查看數(shù)據(jù)表student內(nèi)容:

''' 學(xué)習(xí)中遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' cur.execute('SELECT * FROM student') print(cur.fetchone()) 打印輸出為:('XiaoMing', 23)

Bingo!是我們剛剛插入的一條數(shù)據(jù)

最后,要記得關(guān)閉光標(biāo)和連接:

#關(guān)閉連接對(duì)象,否則會(huì)導(dǎo)致連接泄漏,消耗數(shù)據(jù)庫資源 connection.close() #關(guān)閉光標(biāo) cur.close()

OK了,整個(gè)流程大致如此。當(dāng)然這里都是很基礎(chǔ)的操作,更多的使用方法需要在PyMySQL官方文檔里去尋找。

補(bǔ)充:

Oracle數(shù)據(jù)庫連接

1、下載安裝外包c(diǎn)x_Oracle,方式:在命令行輸入 pip install cx_Oracle

2、連接

conn = oracle.connect('username/password@host:port/sid')#分別填用戶名/密碼/數(shù)據(jù)庫所在IP地址:port/sid

3、獲取光標(biāo)對(duì)象curser

cur = conn.cursor()

4、使用cursor進(jìn)行各種操作

cur.execute(sql語句)

5、關(guān)閉cursur、conn

cursor.close() conn.close()

總結(jié)

以上是生活随笔為你收集整理的快速使用Python连接MySQL数据库的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。