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ǔ)句:通過(guò)游標(biāo)執(zhí)行SQL查詢、插入、更新和刪除操作。
- 檢索結(jié)果集:在SELECT查詢后,通過(guò)游標(biāo)逐行提取結(jié)果。
- 管理事務(wù):游標(biāo)通常用于事務(wù)管理,如提交或回滾事務(wù)。
Django開(kāi)發(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ǔ)句),但無(wú)法創(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ù)來(lái)添加類與表結(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騷操作之動(dòng)態(tài)定義函數(shù)
這篇文章主要介紹了Python騷操作之動(dòng)態(tài)定義函數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03Docker部署Python爬蟲項(xiàng)目的方法步驟
這篇文章主要介紹了Docker部署Python爬蟲項(xiàng)目的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01Python OpenCV實(shí)現(xiàn)基本圖形繪制
這篇文章主要介紹了Python OpenCV實(shí)現(xiàn)基本圖形繪制,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04Python爬蟲獲取整個(gè)站點(diǎn)中的所有外部鏈接代碼示例
這篇文章主要介紹了Python爬蟲獲取整個(gè)站點(diǎn)中的所有外部鏈接代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下2017-12-12Python使用Docling庫(kù)玩轉(zhuǎn)文檔處理
Docling?是一個(gè)強(qiáng)大的?Python?第三方庫(kù),專注于文檔處理和轉(zhuǎn)換,所以本文將帶大家深入了解?Docling?的強(qiáng)大功能,展示它如何幫助我們高效處理文檔,感興趣的可以了解下2025-02-02Pycharm 2020.1 版配置優(yōu)化的詳細(xì)教程
這篇文章主要介紹了更新Pycharm 2020.1 版配置優(yōu)化的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08Tensorflow tf.nn.depthwise_conv2d如何實(shí)現(xiàn)深度卷積的
這篇文章主要介紹了Tensorflow tf.nn.depthwise_conv2d如何實(shí)現(xiàn)深度卷積的,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04利用Python找出序列中出現(xiàn)最多的元素示例代碼
這篇文章主要給大家介紹了關(guān)于利用Python找出序列中出現(xiàn)最多的元素的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12