国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

django使用mysql數(shù)據(jù)庫

這篇具有很好參考價(jià)值的文章主要介紹了django使用mysql數(shù)據(jù)庫。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Django開 發(fā)操作數(shù)據(jù)庫比使用pymysql操作更簡(jiǎn)單,內(nèi)部提供了ORM框架。
下面是pymysql 和orm操作數(shù)據(jù)庫的示意圖,pymysql就是mysql的驅(qū)動(dòng),代碼直接操作pymysql ,需要自己寫增刪改查的語句
django 就是也可以使用pymysql、mysqlclient作為驅(qū)動(dòng),但是目前對(duì)mysqlclient的支持更好,在驅(qū)動(dòng)的基礎(chǔ)只上封裝了orm框架,不用直接去寫sql,是操作更簡(jiǎn)單了。
django使用mysql數(shù)據(jù)庫,python,數(shù)據(jù)庫,django,mysql

1、安裝第三方模塊

pip install mysqlclient

我的是windows環(huán)境,這樣安裝的時(shí)候報(bào)錯(cuò),我們需要先下載需要先下載mysqlclient whl文件
下載地址:
https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient
或者h(yuǎn)ttps://pypi.org/project/mysqlclient/#files
找對(duì)對(duì)應(yīng)的python版本下載,我的是3.7就下載這個(gè)
django使用mysql數(shù)據(jù)庫,python,數(shù)據(jù)庫,django,mysql
下載后,放到一個(gè)目錄,cmd 進(jìn)入到該目錄,再執(zhí)行

pip install mysqlclient-1.4.6-cp37-cp37m-win_amd64.whl

就可以安裝成功了。

2、ORM

ORM可以幫助我們做兩件事:

  • 創(chuàng)建、修改、刪除數(shù)據(jù)庫中的表(不用你寫SQL語句)。[無法創(chuàng)建數(shù)據(jù)庫],數(shù)據(jù)庫我們使用其它工手動(dòng)創(chuàng)建
  • 操作表中的數(shù)據(jù)(不用寫SQL語句)

django連接數(shù)據(jù)庫

在settings.py中配置mysql

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'unicom',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '10.172.3.171',
        'PORT': 3306,
    }
}

創(chuàng)建表

在app01目錄下的models.py 中寫一個(gè)類,類名是UserInfo, 那么表面就會(huì)是app01_userinfo,django會(huì)自動(dòng)加上app的名字
字段 通過models來創(chuàng)建,選擇不同的字段類型,常用的字段類型有:

CharField 字符型
IntegerField 整形
DecimalField 浮點(diǎn)型
DateField 日期類型,只包含年月日
DateTimeField 日期類型,包含年月日時(shí)分秒
BigIntegerField 長(zhǎng)整型
SmallIntegerField 小整型

from django.db import models
class UserInfo(models.Model):
    name = models.CharField(max_length=32)
    password = models.CharField(max_length=64)
    age = models.IntegerField()

在app01下面的models.py中創(chuàng)建一個(gè)UserInfo的類,必須繼承models.Model
django 會(huì)幫我們自己創(chuàng)建一個(gè)表名為app01_UserInfo的表,包含字段name, password,age
相當(dāng)于執(zhí)行下面語句
create table app01_userinfo(
id bigint auto_increment primary key,
name varchar(32),
password varchar(64),
age int
);
每個(gè)表都會(huì)自動(dòng)給創(chuàng)建id列

執(zhí)行命令創(chuàng)建數(shù)據(jù)庫表: 注意app要先注冊(cè)

py -3 manage.py makemigrations
py -3 manage.py migrate

如果已經(jīng)手動(dòng)創(chuàng)建了admin表的,要用orm 來連接數(shù)據(jù)庫可以,又不希望django改變表明,指定數(shù)據(jù)表名稱,通過內(nèi)部類 Meta指定表名

from django.db import models

class admin(models.Model):
    name = models.CharField(max_length=32)
    password = models.CharField(max_length=64)
    age = models.IntegerField()

    # 添加一個(gè)時(shí)間字段
    create_time = models.DateTimeField(null=True)

    class Meta:
        db_table = 'admin'

在表中新增列時(shí),由于已存在列中可能已有數(shù)據(jù),所以新增列必須要指定新增列對(duì)應(yīng)的數(shù)據(jù):

  • 手動(dòng)輸入一個(gè)值。
  • 設(shè)置默認(rèn)值
age=mode1s.IntegerField(default=2)
  • 允許為空
data=models.IntegerField(null=True, blank=True )

對(duì)表的操作

一般是在實(shí)現(xiàn)的函數(shù)中來操作數(shù)據(jù)庫
在views.py中要導(dǎo)入 from app01 import models
查詢類

models.UserInfo.objects.all()     #查詢數(shù)據(jù)庫中所有內(nèi)容,返回的是[obj,obj,obj],一行數(shù)據(jù)一個(gè)對(duì)象
models.UserInfo.objects.filter(id=nid).first()     #根據(jù)條件查詢,只獲取第一個(gè)對(duì)象

對(duì)字符串的查詢

models.PrettyNum.objects.filter(mobile='136')                                 #等于136
models.PrettyNum.objects.filter(mobile__startswith='136')                     #以136開頭
models.PrettyNum.objects.filter(mobile__endswith='888')                       #以888結(jié)尾
models.PrettyNum.objects.filter(mobile__contains='136')                       #包含136

對(duì)于數(shù)字的查詢

models.PrettyNum.objects.filter(id=12)       #等于12
models.PrettyNum.objects.filter(id__gt=12)    #大于12
models.PrettyNum.objects.filter(id__gte=12)    #大于等于12
models.PrettyNum.objects.filter(id__lt=12)    #小于12
models.PrettyNum.objects.filter(id__lte=12)    #小于等于12

查詢支持兩種不同的寫法文章來源地址http://www.zghlxwxcb.cn/news/detail-625818.html

models.PrettyNum.objects.filter(id=3,mobile='12312341234')

data_dict = {'mobile':'13413241234','id':3}
models.PrettyNum.objects.filter(**data_dict)

到了這里,關(guān)于django使用mysql數(shù)據(jù)庫的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Django學(xué)習(xí)記錄:使用ORM操作MySQL數(shù)據(jù)庫并完成數(shù)據(jù)的增刪改查

    Django學(xué)習(xí)記錄:使用ORM操作MySQL數(shù)據(jù)庫并完成數(shù)據(jù)的增刪改查

    數(shù)據(jù)庫操作 MySQL數(shù)據(jù)庫+pymysql Django開發(fā)操作數(shù)據(jù)庫更簡(jiǎn)單,內(nèi)部提供了ORM框架。 安裝第三方模塊 ORM可以做的事: 1、創(chuàng)建、修改、刪除數(shù)據(jù)庫中的表(不用寫SQL語句)?!緹o法創(chuàng)建數(shù)據(jù)庫】 2、操作表中的數(shù)據(jù)(不用寫SQL語句)。 1、自己創(chuàng)建數(shù)據(jù)庫 1)啟動(dòng)MySQL服務(wù) 2)自帶

    2024年02月14日
    瀏覽(96)
  • Django的mysql數(shù)據(jù)庫連接

    Django的mysql數(shù)據(jù)庫連接

    首先Mysql和navicate Premuim 已經(jīng)安裝好,并且可以建立數(shù)據(jù)庫的連接,本次需使用的工具是 1、vs code 2、navicate Premuim 3、Mysql 打開vs code ,按Ctrl+ Shift + ~ ,調(diào)出vs code的終端界面,輸入以下命令創(chuàng)建 test11 項(xiàng)目? django-admin startproject test11 (1)創(chuàng)建虛擬環(huán)境命令: 需要跳轉(zhuǎn)到項(xiàng)目test1

    2024年02月05日
    瀏覽(29)
  • django框架——實(shí)現(xiàn)MySQL數(shù)據(jù)庫數(shù)據(jù)的刪除

    在html中的刪除按鈕中綁定js文件中的事件,帶上參數(shù),點(diǎn)擊即觸發(fā)(刪除按鈕不能是a鏈接,不然報(bào)錯(cuò)) js文件中實(shí)現(xiàn)該功能,發(fā)起ajax請(qǐng)求到后端視圖中對(duì)數(shù)據(jù)庫進(jìn)行操作 路由導(dǎo)入 在視圖里面實(shí)現(xiàn)刪除功能

    2024年02月13日
    瀏覽(93)
  • Django的mysql數(shù)據(jù)庫問題:同一個(gè)模型(同一張表)中的不同記錄也是可以相互關(guān)聯(lián)的【使用“自引用關(guān)系”】

    是的,確實(shí)可以在Django的模型中使用外鍵來建立同一模型中不同記錄之間的關(guān)聯(lián)關(guān)系。這樣的關(guān)聯(lián)關(guān)系被稱為自引用關(guān)系(self-referential relationship)或者自關(guān)聯(lián)關(guān)系。通過在模型中定義外鍵字段,你可以使模型的實(shí)例與同一模型中的其他實(shí)例產(chǎn)生關(guān)聯(lián)。 在Django中,這通常通過

    2024年01月18日
    瀏覽(104)
  • Django操作MySQL數(shù)據(jù)庫的優(yōu)化方法

    Django 是一個(gè)很流行的 Web 框架,而 MySQL 是常用的關(guān)系型數(shù)據(jù)庫之一。在使用 Django 開發(fā) Web 應(yīng)用時(shí),我們經(jīng)常需要使用 MySQL 存儲(chǔ)數(shù)據(jù),因此如何加速 MySQL 是我們需要關(guān)注的問題。本文將介紹一些方法來優(yōu)化 Django 中 MySQL 的性能。 使用適當(dāng)?shù)乃饕?索引是 MySQL 中提高查詢性能的

    2024年02月10日
    瀏覽(35)
  • 使用python連接mysql數(shù)據(jù)庫

    使用python連接mysql數(shù)據(jù)庫

    第一章 Python 機(jī)器學(xué)習(xí)入門之連接mysql數(shù)據(jù)庫 提示:這里可以添加本文要記錄的大概內(nèi)容: 例如:隨著人工智能的不斷發(fā)展,機(jī)器學(xué)習(xí)這門技術(shù)也越來越重要,很多人都開啟了學(xué)習(xí)機(jī)器學(xué)習(xí),本文就介紹了機(jī)器學(xué)習(xí)的基礎(chǔ)內(nèi)容。 在控制臺(tái)輸入如下: 代碼如下(示例): 演示

    2024年02月16日
    瀏覽(29)
  • MySQL數(shù)據(jù)庫自動(dòng)生成Models文件導(dǎo)入Django

    MySQL數(shù)據(jù)庫自動(dòng)生成Models文件導(dǎo)入Django

    在Django項(xiàng)目使用數(shù)據(jù)庫時(shí),可以有三種方式: ??????? ? 1.直接編寫app內(nèi)的models文件,然后自動(dòng)生成MySQL數(shù)據(jù)庫 ???????? 2.直接在MySQL中將數(shù)據(jù)庫編寫好,然后不使用models,而是在views中利用PyMySQL編寫數(shù)據(jù)庫鏈接等操作 ? ? ? ? 3.MySQL庫自動(dòng)生成models文件進(jìn)行連接使用 這

    2023年04月08日
    瀏覽(24)
  • Python 操作 MySQL 數(shù)據(jù)庫:使用 mysql-connector-python 庫

    在現(xiàn)代應(yīng)用程序中,與數(shù)據(jù)庫的交互是不可或缺的一部分。Python 提供了許多庫來連接和操作各種數(shù)據(jù)庫,其中最常用的之一就是 mysql-connector-python 。本篇博客將介紹如何使用 Python 操作 MySQL 數(shù)據(jù)庫,包括連接數(shù)據(jù)庫、創(chuàng)建表、插入數(shù)據(jù)、查詢數(shù)據(jù)以及更新和刪除數(shù)據(jù)等操作。

    2024年02月03日
    瀏覽(27)
  • Python 操作 MySQL:使用 mysql-connector-python 操作 MySQL 數(shù)據(jù)庫

    Python 操作 MySQL:使用 mysql-connector-python 操作 MySQL 數(shù)據(jù)庫

    大家好,我是水滴~~ 當(dāng)涉及到使用 Python 操作 MySQL 數(shù)據(jù)庫時(shí), mysql-connector-python 庫是一個(gè)強(qiáng)大而常用的選擇。該庫提供了與 MySQL 數(shù)據(jù)庫的交互功能,使您能夠執(zhí)行各種數(shù)據(jù)庫操作,如連接數(shù)據(jù)庫、執(zhí)行查詢和插入數(shù)據(jù)等。在本文中,我們將介紹如何使用 mysql-connector-python 庫來

    2024年02月04日
    瀏覽(27)
  • Python 數(shù)據(jù)庫應(yīng)用教程:安裝 MySQL 及使用 MySQL Connector

    Python 數(shù)據(jù)庫應(yīng)用教程:安裝 MySQL 及使用 MySQL Connector

    Python可以用于數(shù)據(jù)庫應(yīng)用程序。 其中最流行的數(shù)據(jù)庫之一是MySQL。 為了能夠在本教程中嘗試代碼示例,您應(yīng)該在計(jì)算機(jī)上安裝MySQL。 您可以在 MySQL官方網(wǎng)站 下載MySQL數(shù)據(jù)庫。 Python需要一個(gè)MySQL驅(qū)動(dòng)程序來訪問MySQL數(shù)據(jù)庫。 在本教程中,我們將使用\\\"MySQL Connector\\\"驅(qū)動(dòng)程序。 我們

    2024年02月05日
    瀏覽(89)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包