Django 使用原生sql語句操作數據庫


Django配置連接數據庫:

只需要在 settings.py 文件中做好數據庫相關的配置就可以了

DATABASES = {
	'default': {
   		'ENGINE': 'django.db.backends.mysql',   #數據庫引擎
    	'NAME': 'book_manager1',                #數據庫的名字
    	'USER': 'root',                         #連接mysql數據庫的用戶名
    	'PASSWORD': '123456',                   #連接mysql數據庫的密碼
    	'HOST': '127.0.0.1',                    #mysql數據庫的主機地址
    	'PORT': '3306',                         #mysql數據庫的端口號
	}
}	

Django使用原生sql語句操作數據庫

在 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)
    

常用接口

1.rowcount

代表的是在執行了 sql 語句后受影響的行數。

2.close

關閉游標。關閉游標以后就再也不能使用了,否則會拋出異常。

3.execute(sql[,parameters])

執行某個sql語句。如果在執行sql語句的時候還需要傳遞參數,那么可以傳給parameters參數。示例代碼如下:

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

3.fetchaone

在執行了查詢操作以后,獲取第一條數據

4.fetchmany(size)

在執行查詢操作以后,獲取多條數據。具體是多少條要看傳的size參數。如果不傳 size 參數,那么默認是獲取第一條數據。

5.fetchall

獲取所有滿足sql語句的數據


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM