左外连接的sql语句_Django数据库连接和使用原生sql语句
在操作數據庫之前,首先先要連接數據庫。這里我們以配置 MySQL
為例來講解。 Django連接數據庫,不需要單獨的創建一個連接對象。只需要在 settings.py
文件中做好數據庫相關的配置就可以了。示例代碼如下:
DATABASES = { 'default': { # 數據庫引擎(是mysql還是oracle等) 'ENGINE': 'django.db.backends.mysql', # 數據庫的名字 'NAME': 'dfz', # 連接mysql數據庫的用戶名 'USER': 'root', # 連接mysql數據庫的密碼 'PASSWORD': 'root', # mysql數據庫的主機地址 'HOST': '127.0.0.1', # mysql數據庫的端口號 'PORT': '3306', }}在Django中操作數據庫:
在 Django中操作數據庫有兩種方式。第一種方式就是使用原生 sql語句操作,第二種就是使用 ORM模型來操作。這節課首先來講下第一種。
在 Django中使用原生 sql語句操作其實就是使用 python db api的接口來操作。如果你的 mysql驅動使用的是 pymysql,那么你就是使用 pymysql來操作的,只不過 Django將數據庫連接的這一部分封裝好了,我們只要在 settings.py中配置好了數據庫連接信息后直接使用 Django封裝好的接口就可以操作了。示例代碼如下:
# 使用django封裝好的connection對象,會自動讀取settings.py中數據庫的配置信息from django.db import connection# 獲取游標對象cursor = connection.cursor()# 拿到游標對象后執行sql語句cursor.execute("select * from book")# 獲取所有的數據rows = cursor.fetchall()# 遍歷查詢到的數據for row in rows: print(row)以上的 execute以及 fetchall方法都是 Python DB API規范中定義好的。任何使用 Python來操作 MySQL的驅動程序都應該遵循這個規范。所以不管是使用 pymysql或者是 mysqlclient或者是 mysqldb,他們的接口都是一樣的。
Python DB API下規范下cursor對象常用接口:
description:如果 cursor執行了查詢的 sql代碼。
那么讀取 cursor.description屬性的時候,將返回一個列表,這個列表中裝的是元組,元組中裝的分別是(name,type_code,display_size,internal_size,precision,scale,null_ok),其中 name代表的是查找出來的數據的字段名稱,其他參數暫時用處不大。
rowcount:代表的是在執行了 sql語句后受影響的行數。
close:關閉游標。關閉游標以后就再也不能使用了,否則會拋出異常。
execute(sql[,parameters]):執行某個 sql語句。
如果在執行 sql語句的時候還需要傳遞參數,那么可以傳給 parameters參數。
示例代碼如下:
cursor.execute("select * from article where id=%s
總結
以上是生活随笔為你收集整理的左外连接的sql语句_Django数据库连接和使用原生sql语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 货物年周转量是怎么计算的
- 下一篇: 屋面保温材料有哪些