數據分析離不開資料庫,如何使用python連接資料庫呢?聽我娓娓道來哈
該筆記參考了PyMySQL官方文檔和《python數據採集》關於數據存儲的部分,歡迎大家去閱讀原著,相信會理解的更加透徹。

補充:文末增加Oracle資料庫的連接方式,大同小異。
背景:
我是在Anaconda notebook中進行連接實驗的,環境Python3.6,當然也可以在Python Shell裡面進行操作。
最常用也最穩定的用於連接MySQL資料庫的python庫是PyMySQL,所以本文討論的是利用PyMySQL連接MySQL資料庫,以及如何存儲數據。

下面開始:
1、安裝PyMySQL庫
最簡單的方式:在命令行輸入 pip install pymysql
或者:下載whl文件進行安裝,安裝過程自行百度。
2、安裝MySQL資料庫
MySQL資料庫類型有兩種:MySQL和MariaDB,我用的是後者MariaDB。
兩者在絕大部分性能上是兼容的,使用起來感覺不到啥區別。
給出下載地址:MySQL,MariaDB,安裝過程很簡單,一路Next Step,不過要記好密碼。
有個小插曲,MySQL和MariaDB相當於姐姐妹妹的關係,兩者由同一個人(Widenius)創建的。MySQL被Oracle收購後,Widenius先生覺得不爽,於是搞了個MariaDB,可以完全替代MySQL。大牛就是任性。
3、SQL基本語法
下面要用SQL的表創建、查詢、數據插入等功能,這裡簡要介紹一下SQL語言的基本語句。
查看資料庫:SHOW DATABASES;
創建資料庫:CREATE DATEBASE 資料庫名稱;
使用資料庫:USE 資料庫名稱;
查看數據表:SHOW TABLES;
創建數據表:CREATE TABLE 表名稱(列名1 (數據類型1),列名2 (數據類型2));
插入數據:INSERT INTO 表名稱(列名1,列名2) VALUES(數據1,數據2);
查看數據:SELECT * FROM 表名稱;
更新數據:UPDATE 表名稱 SET 列名1=新數據1,列名2=新數據2 WHERE 某列=某數據;
4、連接資料庫
安裝好必要得文件和庫後,接下來正式開始連接資料庫吧,雖然神秘卻不難哦!
#首先導入PyMySQL庫
import pymysql
#連接資料庫,創建連接對象connection
#連接對象作用是:連接資料庫、發送資料庫信息、處理回滾操作(查詢中斷時,資料庫回到最初狀態)、創建新的游標對象
connection = pymysql.connect(host = 'localhost' #host屬性
user = 'root' #用戶名
password = '******' #此處填登錄資料庫的密碼
db = 'mysql' #資料庫名
)
執行這段代碼就連接好了!
5.使用python代碼操作MySQL資料庫
首先來查看一下有哪些資料庫:
#創建游標對象,一個連接可以有很多游標,一個游標跟蹤一種數據狀態。
#游標對象作用是:、創建、刪除、寫入、查詢等等
cur = connection.cursor()
#查看有哪些資料庫,通過cur.fetchall()獲取查詢所有結果
print(cur.fetchall())
列印出所有資料庫:
((‘information_schema’,),
(‘law’,),
(‘mysql’,),
(‘performance_schema’,),
(‘test’,))
在test資料庫里創建表:
#使用資料庫test
cur.execute('USE test')
#在test資料庫里創建表student,有name列和age列
cur.execute('CREATE TABLE student(name VARCHAR(20),age TINYINT(3))')
向數據表student中插入一條數據:
sql = 'INSERT INTO student (name,age) VALUES (%s,%s)'
cur.execute(sql,('XiaoMing',23))
查看數據表student內容:
cur.execute('SELECT * FROM student')
print(cur.fetchone())
列印輸出為:(‘XiaoMing’, 23)
Bingo!是我們剛剛插入的一條數據
最後,要記得關閉游標和連接:
#關閉連接對象,否則會導致連接泄漏,消耗資料庫資源
connection.close()
#關閉游標
cur.close()
OK了,整個流程大致如此。當然這裡都是很基礎的操作,更多的使用方法需要在PyMySQL官方文檔里去尋找。
補充:
Oracle資料庫連接

1、下載安裝外包cx_Oracle,方式:在命令行輸入 pip install cx_Oracle
2、連接
conn = oracle.connect('username/password@host:port/sid')#分別填用戶名/密碼/資料庫所在IP地址:port/sid
3、獲取游標對象curser
cur = conn.cursor()
4、使用cursor進行各種操作
cur.execute(sql語句)
5、關閉cursur、conn
cursor.close()
conn.close()
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/252749.html