最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

跟老齊學Python之通過Python連接數(shù)據(jù)庫

 更新時間:2014年10月28日 17:07:11   投稿:hebedich  
現(xiàn)在在做python的時候需要用到數(shù)據(jù)庫,于是自己重新整理了一下數(shù)據(jù)庫的知識,并且熟悉了python中MysqlDB模塊的功能和函數(shù)等接口,現(xiàn)在系統(tǒng)地來總結一下吧

用Python來編寫網(wǎng)站,必須要能夠通過python操作數(shù)據(jù)庫,所謂操作數(shù)據(jù)庫,就是通過python實現(xiàn)對數(shù)據(jù)的連接,以及對記錄、字段的各種操作。上一講提到的那種操作方式,是看官直接通過交互模式來操作數(shù)據(jù)庫。

安裝python-MySQLdb

要想通過python來操作數(shù)據(jù)庫,還需要在已經(jīng)安裝了mysql的基礎上安裝一個稱之為mysqldb的庫,它是一個接口程序,python通過它對mysql數(shù)據(jù)實現(xiàn)各種操作。

在編程中,會遇到很多類似的接口程序,通過接口程序對另外一個對象進行操作,比較簡單。接口程序就好比鑰匙,如果要開鎖,人直接用手指去捅,肯定是不行的,那么必須借助工具,插入到鎖孔中,把所打開,打開所之后,門開了,就可以操作門里面的東西了。那么打開所的工具就是接口程序。而打開所的工具會有便利與否之分,如果用這鎖的鑰匙,就便利,如果用別的工具,或許不便利(其實還分人,也就是人開鎖的水平,如果是江洋大盜或者小毛賊什么的,擅長開鎖,用別的工具也便利了),也就是接口程序不同,編碼水平不同,都是考慮因素。

這里下載python-mysqldb:https://pypi.python.org/pypi/MySQL-python/

下載之后就可以安裝了。

我這里只能演示ubuntu下安裝的過程。

復制代碼 代碼如下:

sudo apt-get install python-MySQLdb

在shell中輸入上面的命令行,就安裝了??纯?,多么簡潔的安裝,請快快用ubuntu吧。我愿意做ubuntu的免費代言。哈哈。

不管什么系統(tǒng),安裝不是難題。安裝之后,怎么知道安裝的結果呢?

復制代碼 代碼如下:

>>> import MySQLdb

在python的交互模式中,輸入上面的指令,如果不報錯,恭喜你,已經(jīng)安裝好了。如果報錯,恭喜你,可以借著錯誤信息提高自己的計算機水平了,請求助于google大神。

交互模式下操作數(shù)據(jù)庫之連接數(shù)據(jù)庫

操作數(shù)據(jù)庫的前提是先有數(shù)據(jù)庫。

先建立一個數(shù)據(jù)庫。

復制代碼 代碼如下:

qw@qw-Latitude-E4300:~$ mysql -u root -p
Enter password:  

打開數(shù)據(jù)庫,正確輸入密碼之后,呈現(xiàn)下面的結果

復制代碼 代碼如下:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 373
Server version: 5.5.38-0ubuntu0.14.04.1 (Ubuntu)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

在這個狀態(tài)下,輸入如下命令,建立一個數(shù)據(jù)庫:

復制代碼 代碼如下:

mysql> create database qiwsirtest character set utf8;
Query OK, 1 row affected (0.00 sec)

注意上面的指令,如果僅僅輸入:create database qiwsirtest,也可以,但是,我在后面增加了character set utf8,意思是所建立的數(shù)據(jù)庫qiwsirtest,編碼是utf-8的,這樣存入漢字就不是亂碼了。

看到那一行提示:Query OK, 1 row affected (0.00 sec),就說明這個數(shù)據(jù)庫已經(jīng)建立好了,名字叫做:qiwsirtest

數(shù)據(jù)庫建立之后,就可以用python通過已經(jīng)安裝的mysqldb來連接這個名字叫做qiwsirtest的庫了。進入到python交互模式(現(xiàn)在這個實驗室做實驗)。

復制代碼 代碼如下:

>>> import MySQLdb
>>> conn = MySQLdb.connect(host="localhost",user="root",passwd="123123",db="qiwsirtest",port=3306,charset="utf8")

逐個解釋上述命令的含義:

host:等號的后面應該填寫mysql數(shù)據(jù)庫的地址,因為就數(shù)據(jù)庫就在本機上(也稱作本地),所以使用localhost,注意引號。如果在其它的服務器上,這里應該填寫ip地址。一般中小型的網(wǎng)站,數(shù)據(jù)庫和程序都是在同一臺服務器(計算機)上,就使用localhost了。

user:登錄數(shù)據(jù)庫的用戶名,這里一般填寫"root",還是要注意引號。當然,如果是比較大型的服務,數(shù)據(jù)庫會提供不同的用戶,那時候可以更改為相應用戶。但是,不同用戶的權限可能不同,所以,在程序中,如果要操作數(shù)據(jù)庫,還要注意所擁有的權限。在這里用root,就放心了,什么權限都有啦。不過,這樣做,在大型系統(tǒng)中是應該避免的。

passwd:上述user賬戶對應的登錄mysql的密碼。我在上面的例子中用的密碼是"123123"。不要忘記引號。

db:就是剛剛通create命令建立的數(shù)據(jù)庫,我建立的數(shù)據(jù)庫名字是"qiwsirtest",還是要注意引號??垂偃绻⒌臄?shù)據(jù)庫名字不是這個,就寫自己所建數(shù)據(jù)庫名字。

port:一般情況,mysql的默認端口是3306,當mysql被安裝到服務器之后,為了能夠允許網(wǎng)絡訪問,服務器(計算機)要提供一個訪問端口給它。

charset:這個設置,在很多教程中都不寫,結果在真正進行數(shù)據(jù)存儲的時候,發(fā)現(xiàn)有亂碼。這里我將qiwsirtest這個數(shù)據(jù)庫的編碼設置為utf-8格式,這樣就允許存入漢字而無亂碼了。注意,在mysql設置中,utf-8寫成utf8,沒有中間的橫線。但是在python文件開頭和其它地方設置編碼格式的時候,要寫成utf-8。切記!

注:connect中的host、user、passwd等可以不寫,只有在寫的時候按照host、user、passwd、db(可以不寫)、port順序寫就可以,注意端口號port=3306還是不要省略的為好,如果沒有db在port前面,直接寫3306會報錯.

其實,關于connect的參數(shù)還不少,下面摘抄來自mysqldb官方文檔的內(nèi)容,把所有的參數(shù)都列出來,還有相關說明,請看官認真閱讀。不過,上面幾個是常用的,其它的看情況使用。

相關文章

  • 深入理解Python中的函數(shù)參數(shù)傳遞機制

    深入理解Python中的函數(shù)參數(shù)傳遞機制

    在Python中,對于函數(shù)的參數(shù)傳遞,有兩種主要的方式:傳值和傳引用。事實上,Python的參數(shù)傳遞是一種“傳對象引用”的方式,本文呢我們將詳細介紹Python的函數(shù)參數(shù)傳遞機制,這對理解Python編程語言的底層實現(xiàn)以及優(yōu)化你的代碼都非常有幫助
    2023-07-07
  • Python中re.findAll()、re.sub()、set()的使用

    Python中re.findAll()、re.sub()、set()的使用

    本文主要介紹了Python中re.findAll()、re.sub()、set()的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • Python中的魔法方法深入理解

    Python中的魔法方法深入理解

    這篇文章主要介紹了Python中的魔法方法深入理解,本文通過分析WEB框架Flask的源碼來分析Python中的魔法方法,需要的朋友可以參考下
    2014-07-07
  • python語言開發(fā)垃圾回收機制原理教程

    python語言開發(fā)垃圾回收機制原理教程

    這篇文章主要為大家介紹了python語言開發(fā)垃圾回收機制原理的教程有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • Python實現(xiàn)批量下載文件的示例代碼

    Python實現(xiàn)批量下載文件的示例代碼

    下載文件是我們在日常工作中常常要做的一件事情,當我們需要從互聯(lián)網(wǎng)上批量下載大量文件時,手動一個一個去下載顯然不夠高效,所以本文為大家介紹一下如何利用python批量下載文件吧
    2023-11-11
  • Python可視化神器pyecharts繪制柱狀圖

    Python可視化神器pyecharts繪制柱狀圖

    這篇文章主要介紹了Python可視化神器pyecharts繪制柱狀圖,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-07-07
  • Python OpenCV對圖像進行模糊處理詳解流程

    Python OpenCV對圖像進行模糊處理詳解流程

    OpenCV是一個基于BSD許可(開源)發(fā)行的跨平臺計算機視覺庫,可以運行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。它輕量級而且高效——由一系列 C 函數(shù)和少量 C++ 類構成,同時提供了Python、Ruby、MATLAB等語言的接口,實現(xiàn)了圖像處理和計算機視覺方面很多通用算法
    2021-10-10
  • Python 專題一 函數(shù)的基礎知識

    Python 專題一 函數(shù)的基礎知識

    本文從系統(tǒng)提供的內(nèi)部函數(shù)、第三方提供函數(shù)庫+簡單爬出代碼及安裝httplib2模塊過程和用戶自定函數(shù)三個方面進行講述。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • python命令行參數(shù)argparse模塊基本用法詳解

    python命令行參數(shù)argparse模塊基本用法詳解

    argparse?是python自帶的命令行參數(shù)解析包,可以用來方便地讀取命令行參數(shù),這篇文章主要介紹了python命令行參數(shù)-argparse模塊基本用法,需要的朋友可以參考下
    2023-01-01
  • Python合并列表、字典、字符串、CSV文件、多文件技巧

    Python合并列表、字典、字符串、CSV文件、多文件技巧

    在 Python 中,有多種方法可以實現(xiàn)數(shù)據(jù)合并,無論是合并列表、合并字典、合并字符串、合并CSV文件還是合并多個文件夾中的文件,都可以使用簡單而強大的Python技巧來實現(xiàn),通過合并數(shù)據(jù),可以更方便地進行數(shù)據(jù)處理和分析
    2024-03-03

最新評論

额尔古纳市| 罗甸县| 托克逊县| 麟游县| 东阳市| 米林县| 永济市| 敦化市| 惠水县| 平武县| 攀枝花市| 灯塔市| 昔阳县| 苗栗县| 米脂县| 宁海县| 夏津县| 崇州市| 蓬溪县| 定陶县| 治县。| 南靖县| 泰宁县| 靖宇县| 乌苏市| 彭州市| 新民市| 工布江达县| 贺兰县| 黄平县| 灌阳县| 平乐县| 磐石市| 石河子市| 工布江达县| 安国市| 西充县| 喀喇沁旗| 个旧市| 洪湖市| 二手房|