python操作資料庫

來源:互聯網
上載者:User

標籤:python 操作mysql

下面是我word筆記裡面粘出來的,可能排版有些問題。


Windows下安裝MySQL-python

:https://pypi.python.org/pypi/MySQL-python/1.2.5 安裝到系統即可。

linux下安裝MySQL-python以串連MySQL:

:https://pypi.python.org/pypi/MySQL-python/

解壓後,進入目錄下,執行python setup.py install

安裝過程中,常會遇到的問題:

1、提示找不到mysql_config的話,一般是由於mysql採用的是lnmp一鍵安裝包安裝的,路徑

解決:locate mysql_config找到mysql_config這個檔案的位置,然後ln -s做個軟串連到/usr/bin/下。

2、Ubuntu下提示缺少‘x86_64-linux-gnu-gcc‘時,需要安裝python-dev包:

解決:sudo apt-get install python-dev -y

3、CentOS下提示command ‘gcc‘ failed with exit status 1

解決:yum install gcc python-devel -y


安裝完成後,進入python,執行import MySQLdb看匯入是否能成功。


補充:

我在ubuntu下操作時候,發現無法串連資料庫,ss -lnt發現mysql只監聽在迴環地址上的3306連接埠,需要修改下。

修改Ubuntu的mysql,將其監聽連接埠127.0.0.1:3306改為允許外部串連的方法:

編輯/etc/mysql/my.cnf(可能配置參數再此目錄下的其它檔案中,仔細找找)

修改bind-address = 0.0.0.0 表示允許任意IP訪問。

然後執行 /etc/init.d/mysql restart重啟mysqlserver服務即可


# 下面是一個Python操作資料庫的例子:#!/usr/bin/env python# -*- coding:utf8 -*-import MySQLdbconn = MySQLdb.connect(host = ‘192.168.2.14‘,port = 3306,user = ‘root‘,passwd = ‘123456‘,db = ‘demo‘,)# 操作資料庫首先需要建立遊標cur = conn.cursor()# 通過遊標cur操作execute()方法可以寫入純sql語句,如下:# 建立資料表# cur.execute("create table teacher (id int(5),name varchar(20),class varchar(20),age varchar(10))")# 插入資料# cur.execute("insert into teacher values(23,‘zhangsan‘,‘science‘,15)")# 修改資料# cur.execute("update teacher set id=100 where name=‘zhangsan‘")# 刪除資料# cur.execute("delete from teacher where id=100")#插入一條資料【也可以用像下面這種寫法】sqli="insert into teacher values(%s,%s,%s,%s)"cur.execute(sqli, (23,‘zhangsan‘,‘science‘,15))# 使用executemany一次性向資料表中插入多條值,傳回值為受影響的行數。sqli="insert into teacher values(%s,%s,%s,%s)"cur.executemany(sqli,[(11,‘wangwu‘,‘art‘,23),(8,‘john‘,‘math‘,22),(3,‘Tom‘,‘physical‘,25),])# 最後關閉遊標,執行提交操作,並關閉資料庫連接cur.close()conn.commit()conn.close()



檢索並輸出資料

#!/usr/bin/env python# -*- coding:utf8 -*-import MySQLdbconn = MySQLdb.connect(host = ‘192.168.2.14‘,port = 3306,user = ‘root‘,passwd = ‘123456‘,db = ‘demo‘,)cur = conn.cursor()# 獲得表中有多少條資料aa = cur.execute("select * from teacher")cur.fetchone() # fetchone()方法可以幫我們獲得表中的資料,但是每執行一次輸出一行滿足條件的值cur.fetchone()......cur.scroll(0,‘absolute‘)# 這樣能將遊標定位到表中的第一條資料info = cur.fetchmany(aa)for i in info:    print icur.close()conn.commit()conn.close()



本文出自 “小李的後花園” 部落格,請務必保留此出處http://lee90.blog.51cto.com/10414478/1757424

python操作資料庫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.