Python呼叫MySQL模組初試
當然了,我學習還是蠻浮躁的,總是喜歡循序漸進,深入淺出那種,希望短時間的學習能夠看到成效,比如做出幾個demo,寫出幾個演算法之類的。
所以我把書先放下,換了個思路來想,如果我學習一門語言,怎麼樣會和目前的工作結合起來更多呢,bingo,那就呼叫MySQL吧。
其實mysql模組有點類似於JDBC的一種角色,提供了訪問資料庫的一個介面,通過呼叫相應的介面來訪問和運算元據庫。那麼這個模組就相當於一個jdbc的jar包一般,我們就需要做相應的配置,在Linux裡面我們就下載安裝即可。
下載的連結是:https://pypi.python.org/pypi/MySQL-python/
目前最新的版本是1.2.5,我們選擇原始碼版本,在Linux下安裝。
其實安裝很簡單,就是一個python setup.py install即可。
但是實際操作的時候還是有一點問題。
第一個是提示mysql_config不存在,這個主要就是環境變數中訪問不到,我們配置一下即可,比如新增軟連結。
ln -s /usr/local/mysql_5.7/bin/mysql_config /usr/bin/mysql_config
然後繼續呼叫下面的命令。
python setup.py install
這次的錯誤有點奇怪,看起來是gcc的過程報錯了,找不到兩個檔案。
gcc
-pthread -fno-strict-aliasing -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC
-fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
-D_GNU_SOURCE -fPIC -fwrapv -fPIC -Dversion_info=(1,2,5,'final',1)
-D__version__=1.2.5 -I/usr/local/mysql_5.7/include
-I/usr/include/python2.6 -c _mysql.c -o
build/temp.linux-x86_64-2.6/_mysql.o
_mysql.c:29:20: error: Python.h: No such file or directory
_mysql.c:40:26: error: structmember.h: No such file or directory
_mysql.c:74: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
_mysql.c:75: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
這個可以通過安裝軟體包python-devel來解決。
yum install python-devel
安裝好之後,就是做一個基本的驗證,看看模組是否可以正常的載入。
當然還是有點曲折,報錯了。
>>> import MySQLdb
/usr/lib64/python2.6/site-packages/MySQL_python-1.2.5-py2.6-linux-x86_64.egg/_mysql.py:3:
UserWarning: Module _mysql was already imported from
/usr/lib64/python2.6/site-packages/MySQL_python-1.2.5-py2.6-linux-x86_64.egg/_mysql.pyc,
but /U01/soft1/soft/MySQL-python-1.2.5 is being added to sys.path
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "MySQLdb/__init__.py", line 19, in <module>
import _mysql
File "build/bdist.linux-x86_64/egg/_mysql.py", line 7, in <module>
File "build/bdist.linux-x86_64/egg/_mysql.py", line 6, in __bootstrap__
ImportError: libmysqlclient.so.20: cannot open shared object file: No such file or directory
>>>
這個錯誤還是這個連結訪問不了,我們重新配置一下。
ln -s /usr/local/mysql_5.7/lib/libmysqlclient.so.20 /usr/lib64/libmysqlclient.so.20
再次嘗試載入模組,如下的方式說明就是成功了。
>>> import MySQLdb
>>>
接下來就是呼叫MySQL了。
就簡單些一個呼叫的指令碼,連線到資料庫然後建立表,插入資料,刪除,退出。
#coding=utf-8import MySQLdb
conn = MySQLdb.connect(host='127.0.0.1',port=22804,user='root', passwd='',db ='test',)
cur = conn.cursor()
#建立資料表
cur.execute("create table student(id int ,name varchar(20),class varchar(30),age varchar(10))")
#插入一條資料
cur.execute("insert into student values('2','Tom','xxxx','9')")
#修改查詢條件的資料
cur.execute("update student set class='xxxx' where name = 'Tom'")
#刪除查詢條件的資料
cur.execute("delete from student where age='9'")
cur.close()
conn.commit()
conn.close()
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2149014/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- R呼叫python模組Python
- 初試PythonPython
- python初試Python
- linux下python 模組呼叫LinuxPython
- python初試七Python
- python初試二Python
- python初試三Python
- python初試四Python
- python初試五Python
- python初試六Python
- Python呼叫C模組以及效能分析Python
- Python爬蟲初試Python爬蟲
- Python重試模組retryingPython
- python如何呼叫subprocess模組實現外部命令?Python
- Python Scrapy 爬蟲(二):scrapy 初試Python爬蟲
- python 3呼叫paramiko模組報錯AttributeError: modulePythonError
- 初試python的socket程式設計--ftpPython程式設計FTP
- Python 快速教程(Django01):初試天涯PythonDjango
- python3 筆記17.呼叫模組from...import...Python筆記Import
- python使用ctypes呼叫擴充套件模組的例項方法Python套件
- java中呼叫npm模組JavaNPM
- ReactNative呼叫原生模組React
- 呼叫mysqlMySql
- MySQL - 初識MySQLMySql
- MySQL資料庫初識——初窺MySQLMySql資料庫
- Kafka初試Kafka
- github 初試Github
- 初試 GithubGithub
- Nodejs如何呼叫Dll模組NodeJS
- Python 自動化測試 必會模組 UnittestPython
- JavaScript 模組(1):初學者指南JavaScript
- 《最新出爐》系列初窺篇-Python+Playwright自動化測試-31-JavaScript的呼叫執行-上篇PythonJavaScript
- 《最新出爐》系列初窺篇-Python+Playwright自動化測試-32-JavaScript的呼叫執行-下篇PythonJavaScript
- 初識mysqlMySql
- itchat—python實現呼叫微信介面的第三方模組Python
- Python學習【第十一篇】不同目錄間模組的呼叫Python
- 初試Gevent – 高效能的Python併發框架Python框架
- 模組測試