日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

左外连接的sql语句_Django数据库连接和使用原生sql语句

發(fā)布時(shí)間:2024/10/8 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 左外连接的sql语句_Django数据库连接和使用原生sql语句 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在操作數(shù)據(jù)庫之前,首先先要連接數(shù)據(jù)庫。這里我們以配置 MySQL

為例來講解。 Django連接數(shù)據(jù)庫,不需要單獨(dú)的創(chuàng)建一個(gè)連接對(duì)象。只需要在 settings.py

文件中做好數(shù)據(jù)庫相關(guān)的配置就可以了。示例代碼如下:

DATABASES = { 'default': { # 數(shù)據(jù)庫引擎(是mysql還是oracle等) 'ENGINE': 'django.db.backends.mysql', # 數(shù)據(jù)庫的名字 'NAME': 'dfz', # 連接mysql數(shù)據(jù)庫的用戶名 'USER': 'root', # 連接mysql數(shù)據(jù)庫的密碼 'PASSWORD': 'root', # mysql數(shù)據(jù)庫的主機(jī)地址 'HOST': '127.0.0.1', # mysql數(shù)據(jù)庫的端口號(hào) 'PORT': '3306', }}

在Django中操作數(shù)據(jù)庫:

在 Django中操作數(shù)據(jù)庫有兩種方式。第一種方式就是使用原生 sql語句操作,第二種就是使用 ORM模型來操作。這節(jié)課首先來講下第一種。

在 Django中使用原生 sql語句操作其實(shí)就是使用 python db api的接口來操作。如果你的 mysql驅(qū)動(dòng)使用的是 pymysql,那么你就是使用 pymysql來操作的,只不過 Django將數(shù)據(jù)庫連接的這一部分封裝好了,我們只要在 settings.py中配置好了數(shù)據(jù)庫連接信息后直接使用 Django封裝好的接口就可以操作了。示例代碼如下:

# 使用django封裝好的connection對(duì)象,會(huì)自動(dòng)讀取settings.py中數(shù)據(jù)庫的配置信息from django.db import connection# 獲取游標(biāo)對(duì)象cursor = connection.cursor()# 拿到游標(biāo)對(duì)象后執(zhí)行sql語句cursor.execute("select * from book")# 獲取所有的數(shù)據(jù)rows = cursor.fetchall()# 遍歷查詢到的數(shù)據(jù)for row in rows: print(row)

以上的 execute以及 fetchall方法都是 Python DB API規(guī)范中定義好的。任何使用 Python來操作 MySQL的驅(qū)動(dòng)程序都應(yīng)該遵循這個(gè)規(guī)范。所以不管是使用 pymysql或者是 mysqlclient或者是 mysqldb,他們的接口都是一樣的。

Python DB API下規(guī)范下cursor對(duì)象常用接口:

description:如果 cursor執(zhí)行了查詢的 sql代碼。

那么讀取 cursor.description屬性的時(shí)候,將返回一個(gè)列表,這個(gè)列表中裝的是元組,元組中裝的分別是(name,type_code,display_size,internal_size,precision,scale,null_ok),其中 name代表的是查找出來的數(shù)據(jù)的字段名稱,其他參數(shù)暫時(shí)用處不大。

rowcount:代表的是在執(zhí)行了 sql語句后受影響的行數(shù)。

close:關(guān)閉游標(biāo)。關(guān)閉游標(biāo)以后就再也不能使用了,否則會(huì)拋出異常。

execute(sql[,parameters]):執(zhí)行某個(gè) sql語句。

如果在執(zhí)行 sql語句的時(shí)候還需要傳遞參數(shù),那么可以傳給 parameters參數(shù)。

示例代碼如下:

cursor.execute("select * from article where id=%s

總結(jié)

以上是生活随笔為你收集整理的左外连接的sql语句_Django数据库连接和使用原生sql语句的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。