<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 第二節:數據庫操作 # 操作數據庫 ## Django配置連接數據庫: 在操作數據庫之前,首先先要連接數據庫。這里我們以配置`MySQL`為例來講解。`Django`連接數據庫,不需要單獨的創建一個連接對象。只需要在`settings.py`文件中做好數據庫相關的配置就可以了。示例代碼如下: ``` <pre class="calibre12">``` DATABASES = { <span class="hljs-string">'default'</span>: { <span class="hljs-title"># 數據庫引擎(是mysql還是oracle等)</span> <span class="hljs-string">'ENGINE'</span>: <span class="hljs-string">'django.db.backends.mysql'</span>, <span class="hljs-title"># 數據庫的名字</span> <span class="hljs-string">'NAME'</span>: <span class="hljs-string">'dfz'</span>, <span class="hljs-title"># 連接mysql數據庫的用戶名</span> <span class="hljs-string">'USER'</span>: <span class="hljs-string">'root'</span>, <span class="hljs-title"># 連接mysql數據庫的密碼</span> <span class="hljs-string">'PASSWORD'</span>: <span class="hljs-string">'root'</span>, <span class="hljs-title"># mysql數據庫的主機地址</span> <span class="hljs-string">'HOST'</span>: <span class="hljs-string">'127.0.0.1'</span>, <span class="hljs-title"># mysql數據庫的端口號</span> <span class="hljs-string">'PORT'</span>: <span class="hljs-string">'3306'</span>, } } ``` ``` ## 在Django中操作數據庫: 在`Django`中操作數據庫有兩種方式。第一種方式就是使用原生`sql`語句操作,第二種就是使用`ORM`模型來操作。這節課首先來講下第一種。 在`Django`中使用原生`sql`語句操作其實就是使用`python db api`的接口來操作。如果你的`mysql`驅動使用的是`pymysql`,那么你就是使用`pymysql`來操作的,只不過`Django`將數據庫連接的這一部分封裝好了,我們只要在`settings.py`中配置好了數據庫連接信息后直接使用`Django`封裝好的接口就可以操作了。示例代碼如下: ``` <pre class="calibre12">``` <span class="hljs-title"># 使用django封裝好的connection對象,會自動讀取settings.py中數據庫的配置信息</span> <span class="hljs-keyword">from</span> django.db <span class="hljs-keyword">import</span> connection <span class="hljs-title"># 獲取游標對象</span> cursor = connection.cursor() <span class="hljs-title"># 拿到游標對象后執行sql語句</span> cursor.execute(<span class="hljs-string">"select * from book"</span>) <span class="hljs-title"># 獲取所有的數據</span> rows = cursor.fetchall() <span class="hljs-title"># 遍歷查詢到的數據</span> <span class="hljs-keyword">for</span> row <span class="hljs-keyword">in</span> rows: print(row) ``` ``` 以上的`execute`以及`fetchall`方法都是`Python DB API`規范中定義好的。任何使用`Python`來操作`MySQL`的驅動程序都應該遵循這個規范。所以不管是使用`pymysql`或者是`mysqlclient`或者是`mysqldb`,他們的接口都是一樣的。更多規范請參考:[https://www.python.org/dev/peps/pep-0249/。](https://www.python.org/dev/peps/pep-0249/%E3%80%82) ## Python DB API下規范下cursor對象常用接口: 1. `description`:如果`cursor`執行了查詢的`sql`代碼。那么讀取`cursor.description`屬性的時候,將返回一個列表,這個列表中裝的是元組,元組中裝的分別是`(name,type_code,display_size,internal_size,precision,scale,null_ok)`,其中`name`代表的是查找出來的數據的字段名稱,其他參數暫時用處不大。 2. `rowcount`:代表的是在執行了`sql`語句后受影響的行數。 3. `close`:關閉游標。關閉游標以后就再也不能使用了,否則會拋出異常。 4. `execute(sql[,parameters])`:執行某個`sql`語句。如果在執行`sql`語句的時候還需要傳遞參數,那么可以傳給`parameters`參數。示例代碼如下: ``` <pre class="calibre12">``` cursor.execute(<span class="hljs-string">"select * from article where id=%s"</span>,(<span class="hljs-params">1</span>,)) ``` ``` 5. `fetchone`:在執行了查詢操作以后,獲取第一條數據。 6. `fetchmany(size)`:在執行查詢操作以后,獲取多條數據。具體是多少條要看傳的`size`參數。如果不傳`size`參數,那么默認是獲取第一條數據。 7. `fetchall`:獲取所有滿足`sql`語句的數據。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看