python web應(yīng)用程序之Django數(shù)據(jù)庫(kù)詳解
python-web應(yīng)用程序-Django數(shù)據(jù)庫(kù)-操作表
原始方法:
import pymysql
#1.鏈接mysql
conn = pymysql.connect(host='127.0.0.1',port = 2206,user = 'root',passwd = 'root123',charset = 'utf8',db = 'unicom')
cursor = conn.cursor(cursor = pymysql.cursors.DictCursor)
#2.發(fā)送指令
cursor.execute('insert into admin(username,password,mobile)values('yulin','123456','13888888888')')
conn.commit()
#3.關(guān)閉
cursor.close()
conn.close()- 游標(biāo)(Cursor)對(duì)象是數(shù)據(jù)庫(kù)編程中的一個(gè)重要概念。它提供了一種從數(shù)據(jù)庫(kù)結(jié)果集中逐行讀取數(shù)據(jù)的方法。游標(biāo)就像數(shù)據(jù)庫(kù)服務(wù)器和應(yīng)用程序之間的橋梁,允許應(yīng)用程序執(zhí)行SQL語(yǔ)句并處理返回的結(jié)果集。
游標(biāo)的主要作用包括:
- 執(zhí)行SQL語(yǔ)句:通過游標(biāo)執(zhí)行SQL查詢、插入、更新和刪除操作。
- 檢索結(jié)果集:在SELECT查詢后,通過游標(biāo)逐行提取結(jié)果。
- 管理事務(wù):游標(biāo)通常用于事務(wù)管理,如提交或回滾事務(wù)。
Django開發(fā)操作數(shù)據(jù)庫(kù)
內(nèi)部提供了ORM框架
原始方法是寫代碼,使用pymysql使用數(shù)據(jù)庫(kù)
Django的ORM框架則集成了pymysql或mysqlclient或MysqlDB,在其之上寫代碼,將會(huì)更加簡(jiǎn)潔
安裝mysqlclinet
pip install mysqlclient
使用ORM
創(chuàng)建、修改、刪除數(shù)據(jù)庫(kù)中的表(不用你寫SQL語(yǔ)句),但無法創(chuàng)建數(shù)據(jù)庫(kù)
1.啟動(dòng)mysql服務(wù)
2.創(chuàng)建新的數(shù)據(jù)庫(kù)pymysql
3.Django鏈接數(shù)據(jù)庫(kù)-settings.py中修改配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}上述鏈接的是sqlite3 還可以鏈接mysql如下:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'pymysql',#數(shù)據(jù)庫(kù)名字
'USER':'root',#數(shù)據(jù)庫(kù)user
'PASSWORD':'123456',#數(shù)據(jù)庫(kù)密碼
'HOST':'127.0.0.1',#本地服務(wù)器可以是遠(yuǎn)程數(shù)據(jù)庫(kù)
'PORT':'3306'#數(shù)據(jù)庫(kù)端口號(hào)
}
}甚至可以鏈接postgresql、oracle等數(shù)據(jù)庫(kù)
操作表(寫在models.py文件中)
創(chuàng)建表
1.需要根據(jù)數(shù)據(jù)庫(kù)來添加類與表結(jié)構(gòu)對(duì)應(yīng)
在models.py:
from django.db import models
# Create your models here.
class UserInfo(models.Model):
name = models.CharField(max_length=10)
password = models.CharField(max_length = 40)
age = models.IntegerField(max_length = 3)2.在命令行執(zhí)行下列命令后會(huì)Django會(huì)根據(jù)類自動(dòng)創(chuàng)建表
python manage.py makemigrations python manage.py migrate

注意,如果創(chuàng)建了一個(gè)表后還需要增加字段,需要給默認(rèn)值(最好給NULL)。
name = models.CharField(null = True,blank = True)
name = models.CharField(null = True,blank = True)
到此這篇關(guān)于python web應(yīng)用程序之Django數(shù)據(jù)庫(kù)詳解的文章就介紹到這了,更多相關(guān)python Django數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 使用python和Django完成博客數(shù)據(jù)庫(kù)的遷移方法
- python django 增刪改查操作 數(shù)據(jù)庫(kù)Mysql
- Python的Django框架中使用SQLAlchemy操作數(shù)據(jù)庫(kù)的教程
- 在Python的Django框架中更新數(shù)據(jù)庫(kù)數(shù)據(jù)的方法
- Python的Django框架中的數(shù)據(jù)庫(kù)配置指南
- Python的Django框架可適配的各種數(shù)據(jù)庫(kù)介紹
- 用實(shí)例詳解Python中的Django框架中prefetch_related()函數(shù)對(duì)數(shù)據(jù)庫(kù)查詢的優(yōu)化
相關(guān)文章
利用Python和OpenCV庫(kù)將URL轉(zhuǎn)換為OpenCV格式的方法
這篇文章主要介紹了利用Python和OpenCV庫(kù)將URL轉(zhuǎn)換為OpenCV格式的方法,同時(shí)用到了NumPy和urllib,需要的朋友可以參考下2015-03-03
selenium 安裝與chromedriver安裝的方法步驟
這篇文章主要介紹了selenium 安裝與chromedriver安裝的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-06-06
10 行Python 代碼實(shí)現(xiàn) AI 目標(biāo)檢測(cè)技術(shù)【推薦】
這篇文章主要介紹了10 行Python 代碼,實(shí)現(xiàn) AI 目標(biāo)檢測(cè)技術(shù),看完了代碼,我們?cè)谝黄鹆牧哪繕?biāo)檢測(cè)背后的技術(shù)背景,并解讀這10行Python代碼的由來和實(shí)現(xiàn)原理。感興趣的朋友跟隨小編一起看看吧2019-06-06
Python中的startswith和endswith函數(shù)使用實(shí)例
這篇文章主要介紹了Python中的startswith和endswith函數(shù)使用實(shí)例,特別是endswith函數(shù),有了它,判斷文件的擴(kuò)展名、文件的類型在容易不過了,需要的朋友可以參考下2014-08-08
selenium框架中driver.close()和driver.quit()關(guān)閉瀏覽器
這篇文章主要介紹了selenium框架中driver.close()和driver.quit()關(guān)閉瀏覽器,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Python實(shí)現(xiàn)將PDF文檔轉(zhuǎn)換為圖片的示例代碼
在文檔處理和自動(dòng)化工作流中,將 PDF 轉(zhuǎn)換為圖片是一項(xiàng)常見且實(shí)用的需求,本文將深入探討如何使用 Python 將 PDF 文檔的每一頁(yè)轉(zhuǎn)換為高質(zhì)量的圖片格式,有需要的可以了解下2026-03-03

