python使用mysql資料庫

發表於2016-08-23

一,安裝mysql

如果是windows 使用者,mysql 的安裝非常簡單,直接下載安裝檔案,雙擊安裝檔案一步一步進行操作即可。

Linux 下的安裝可能會更加簡單,除了下載安裝包進行安裝外,一般的linux 倉庫中都會有mysql ,我們只需要通過一個命令就可以下載安裝:

Ubuntudeepin

>>sudo apt-get install mysql-server

>>Sudo apt-get install  mysql-client

centOS/redhat

>>yum install mysql

二,安裝MySQL-python

要想使python可以操作mysql 就需要MySQL-python驅動,它是python 操作mysql必不可少的模組。

下載地址:https://pypi.python.org/pypi/MySQL-python/

下載MySQL-python-1.2.5.zip 檔案之後直接解壓。進入MySQL-python-1.2.5目錄:

>>python setup.py install

三,測試

測試非常簡單,檢查MySQLdb 模組是否可以正常匯入。

沒有報錯提示MySQLdb模組找不到,說明安裝OK ,下面開始使用python 運算元據庫之前,我們有必要來回顧一下mysql的基本操作:

四,mysql 的基本操作

$ mysql -u root -p  (有密碼時)

$ mysql -u root     (無密碼時)

五,python 操作mysql資料庫基礎

>>> conn = MySQLdb.connect(host=’localhost’,port = 3306,user=’root’, passwd=’123456′,db =’test’,)

Connect() 方法用於建立資料庫的連線,裡面可以指定引數:使用者名稱,密碼,主機等資訊。

這只是連線到了資料庫,要想運算元據庫需要建立遊標。

>>> cur = conn.cursor()

通過獲取到的資料庫連線conn下的cursor()方法來建立遊標。

>>> cur.execute(“create table student(id int ,name varchar(20),class varchar(30),age varchar(10))”)

通過遊標cur 操作execute()方法可以寫入純sql語句。通過execute()方法中寫如sql語句來對資料進行操作。

>>>cur.close()

cur.close() 關閉遊標

>>>conn.commit()

conn.commit()方法在提交事物,在向資料庫插入一條資料時必須要有這個方法,否則資料不會被真正的插入。

>>>conn.close()

Conn.close()關閉資料庫連線

六,插入資料

通過上面execute()方法中寫入純的sql語句來插入資料並不方便。如:

>>>cur.execute(“insert into student values(‘2′,’Tom’,’3 year 2 class’,’9′)”)

我要想插入新的資料,必須要對這條語句中的值做修改。我們可以做如下修改:

假如要一次向資料表中插入多條值呢?

executemany()方法可以一次插入多條值,執行單挑sql語句,但是重複執行引數列表裡的引數,返回值為受影響的行數。

七,查詢資料

也許你已經嘗試了在python中通過

>>>cur.execute(“select * from student”)

來查詢資料表中的資料,但它並沒有把表中的資料列印出來,有些失望。

來看看這條語句獲得的是什麼

>>>aa=cur.execute(“select * from student”)

>>>print aa

5

它獲得的只是我們的表中有多少條資料。那怎樣才能獲得表中的資料呢?進入python shell

fetchone()方法可以幫助我們獲得表中的資料,可是每次執行cur.fetchone() 獲得的資料都不一樣,換句話說我沒執行一次,遊標會從表中的第一條資料移動到下一條資料的位置,所以,我再次執行的時候得到的是第二條資料。

scroll(0,’absolute’) 方法可以將遊標定位到表中的第一條資料。

還是沒解決我們想要的結果,如何獲得表中的多條資料並列印出來呢?

通過之前的print aa 我們知道當前的表中有5條資料,fetchmany()方法可以獲得多條資料,但需要指定資料的條數,通過一個for迴圈就可以把多條資料列印出啦!執行結果如下:

相關文章