1. 程式人生 > >MySQLdb模組中的常用方法

MySQLdb模組中的常用方法

終於騰出一個下午好好看看自己專案中的東西。前兩天在QQ上問我,你的專案做的怎麼樣了?我第一反應是,臥槽我啥都沒做這兩個禮拜只顧著好好聽課努力做作業給自己的程式碼debug,剩下的時間就是健身看直播看劇發神經,所以我和老師說,我很努力地學會了怎麼在MySQL裡建立一個屬於自己的資料庫,以及怎麼在自己的資料庫裡建立一個表。

老師當時的心裡估計就是一萬頭草泥馬奔騰而過,但是他發來一個微笑的表情,說繼續努力,我樂呵呵地說好的。

BULL SHIT. 相信有點MySQL基礎的人都知道懂得建立一個數據庫是怎麼樣的水平,好比在C語言裡學會#include<stdio.h>之後傻叉呵呵地去邀功一樣。所以在這個週日的下午,我終於擠出了一個下午的時間好好研究Python呼叫MySQLdb模組了。僅以此文記錄該模組中一些可能會用到的方法:

1、連線與關閉資料庫:這個毋用多說,畢竟在程式語言中涉及對檔案的輸入輸出過程中都需要用到開啟和關閉。

db = MySQLdb.connect(host = "localhost",user = "root",passwd = "*****",db = "test",port = 3306,charset = 'utf8')
db.close()
MySQLdb模組中使用connect與close方法來連線與關閉資料庫,連線資料庫過程中傳入多個引數:資料庫主機名(預設為本地主機),資料庫登入名(預設為當前使用者),資料庫密碼(預設為空),要開啟的資料庫名稱(無預設,可預設),MySQL使用的TCP埠(預設為3306,可預設),資料庫字元編碼(可預設)

2、獲取遊標:估計遊標就是指滑鼠游標吧,在之後的對資料庫操作過程中都是使用遊標的execute方法來執行指令。

cursor = db.cursor()

3、執行資料庫指令:對遊標進行execute操作,可以在資料庫中執行原有的指令。如:檢視所有資料庫

cursor.execute("show databases")
注:在填寫資料庫指令過程中不需要打分號來標誌語句結束

4、獲取資料庫中顯示的資訊:目前我知道有兩個方法可以用來分別返回資料庫中響應操作指令後的一條與所有資訊。

data = cursor.fetchone()
datas = cursor.fetchall()
前者用來獲取一條資訊,後者用來獲取所有的資訊。

注1:使用fetchone()方法獲取的資訊(data)是元組型別,裡面是響應操作指令後的第一條返回的資料庫資訊,以字串形式儲存在元組中,但是奇怪的一點是,在該元組的以字串形式儲存的資訊後有一個逗號,卻沒有第二個元組元素,這可能是我python學的太淺根本不知道這是個什麼玩意的緣故(如果有知道的朋友請在我這個沒有人光顧的部落格下面留言解釋哦跪謝),返回示例如下:

('student',)

使用fetchall()方法,顧名思義,能返回所有響應指令後返回的資訊,返回的型別是一個元組,其中的每一個元組元素都是一個使用fetchone()方法返回的元組,返回示例如下:
(('information_schema',), ('mysql',), ('performance_schema',), ('sakila',), ('studentinfo',), ('sys',), ('world',))

注2:目前已知形如 use studentinfo 這類的語句沒有返回值(即返回元組為空)。

5、提交資料庫執行:針對一些插入資料到資料庫的語句,需要進行提交後才會儲存到資料庫中

db.commit()

6、資料庫事務回滾:在語句執行錯誤時,使用回滾操作來撤銷該語句的執行。例:建立一個不知道是否存在的表。

try:
<span style="white-space:pre">	</span>cursor.execute("create database python")
<span style="white-space:pre">	</span>db.commit()
except:
<span style="white-space:pre">	</span>db.rollback()

在我的預期中,以上操作應該能滿足專案的絕大部分需求,以下是我所認為的在針對MySQL的操作上專案所需要的知識點的歸納:

1、資料庫與表的建立:基本操作,建立了之後只管往裡面插入資料就好,所以不需要費心;

2、資料庫與表的刪除:在我所做的專案內根本用不到;

3、插入資料到表中:執行頻度會非常高;

insert into 表名 (資料名,資料名,...,資料名) values(資料值,資料值,...,資料值)

4、資料庫內容查詢:估計在使用R語言做分析的時候需要用到,在一般情況下只需要desc table就能看到所有儲存的資料,本知識點在需要的時候可以進行google。

相關推薦

MySQLdb模組常用方法

終於騰出一個下午好好看看自己專案中的東西。前兩天在QQ上問我,你的專案做的怎麼樣了?我第一反應是,臥槽我啥都沒做這兩個禮拜只顧著好好聽課努力做作業給自己的程式碼debug,剩下的時間就是健身看直播看劇發神經,所以我和老師說,我很努力地學會了怎麼在MySQL裡建立一個屬於自己

python datetime、time、calendar模組常用方法

python高階應用與資料分析學習筆記 06 # -*- coding: utf-8 -*- from datetime import * # 引入datetime模組 import

python列表常用方法

方法 指定 元素 reverse mov 排序 計算 索引 位置 #Author:yue#列表li=[1,2,3,4,5]# 1.值的追加# li.append(5)# print(li)# [1, 2, 3, 4, 5, 5]# li.append(‘yue‘)#

time 與 datetime 模組常用方法

時間格式 一個名詞: UTC(Coordinated Universal Time):格林威治天文時,世界標準時間。中國為東八區 UTC+8 在程式設計的世界中,一定要了解的幾種時間格式: 1、時間戳   從 1970-1-1 00:00:00 開始按秒計算的浮點型偏移量。 2、格式化的時間字串

Python MySQLdb模組的ping()

本文轉自:http://www.cnblogs.com/bugmaker/articles/2444905.html MySQLdb.connection.ping()函式可以用來檢測在訪問前檢測資料庫的連線是否存在 使用help函式獲得幫助資訊如下: Checks whether or

python爬蟲系列(1.1-urllib常用方法的介紹)

一、關於urllib中常用方法的介紹 1、urlopen網路請求 urlopen方法是網路請求的方法,預設是get請求,如果傳遞了data是post請求 from urllib import request  

HttpServletRequest介面常用方法

     HttpServletRequest介面繼承於ServletRequest介面。HttpServletRequest物件代表客戶端的請求,當客戶端通過HTTP協議訪問伺服器時,http請求頭中的所有資訊都封裝在這個物件中,通過HttpServletReques

SQL:mapper常用方法

resultMap 中定義實體類的名稱 方法名 方法 引數 返回值 分頁查詢 findByPage 實體類物件 List

js常用方法集合

1、 var post = new Array(); post['class'] = '1'; post['type'] = '2'; post['id'] = '3'; var postjson = JSON.stringify(post); console.log(postjson);

os.path 模組常用方法

os.path 中的常用方法: 1.os.path.abspath(path)  返回path規範化的絕對路徑。    >>> os.path.abspath('test.csv')  'C:\\Python35\\test.csv'&n

Java常用API(四)——所有類的超類Object常用方法的重寫

    先定義一個Point類用於測試(含全引數構造方法、getters和setters)。 public class Point { private int x; private int y; /**getters and setters: * getter返

String常用方法介紹

本章介紹一些字串中的常用方法,直接看程式碼註釋 public class Test1 { public static void main(String[] args) { String str1 = "abcDRef";

Pycharm安裝MySQLdb模組的解決方法

一 提出問題 執行python程式時,出現下面問題。 Error loading MySQLdb module: No module named MySQLdb 說明缺這個包。 二 分析問題 通過pip去下載這個包。 遺憾的是pycharm找不到這個包。

Pythonrandom模組方法介紹

random模組: Python標準庫中的random函式,可以生成隨機浮點數、整數、字串,甚至幫助你隨機選擇列表序列中的一個元素,打亂一組資料等。 random模組中的重要方法: random.random(): random.random()方法返回一個隨機數,隨

ServletContext常用方法(getRsource和getResourceAsStream)

轉自:http://blog.csdn.net/yakson/article/details/9203267 一、.獲取Tomcat的Context的初始化引數。 1.獲取Tomcat的server.xml中設定Context的初始化引數。 例如: <Contextpath=

pickle 模組學習 常用方法

內容提要:     1: pickle的主要作用       pickle主要用於python 於python 之間進行檔案傳出,網路傳輸       他同json 一樣也是有4個函式         pickle.dumps(iterable)       

Python sys模組常用方法

sys模組包括了一組非常實用的服務,內含很多函式方法和變數,用來處理Python執行時配置以及資源,從而可以與前當程式之外的系統環境互動,如:Python直譯器。 1. 匯入sys模組 首先,開啟終端模擬器進入Python直譯器或者開啟IDE編輯器建立一個新的.py字尾

re 模組常用的元字元

元字元 描述 .(點號) 匹配除換行符(\n \r)以外的所有字元。要匹配包括“\r\n”在內的任何字元,使用“[\s\S]”的模式。 ^ 從字串首位匹配。書寫時

OC學習四-----NSObject常用方法

isEqual方法:判斷兩個指標變數是否指向同一個物件 NSObject *obj1 = [[NSObject alloc] init]; NSOBject *obj2 = [[NSObject alloc] init]; if([obj1 isEqual:obj2]){//也可直接用 == 判

python的urllib模組方法

python urllib.request之urlopen函式 urllib是基於http的高層庫,它有以下三個主要功能: (1)request處理客戶端的請求 (2)response處理服務端的響應 (3)parse會解析ur