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

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

這篇具有很好參考價(jià)值的文章主要介紹了Django學(xué)習(xí)記錄:使用ORM操作MySQL數(shù)據(jù)庫(kù)并完成數(shù)據(jù)的增刪改查。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

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

數(shù)據(jù)庫(kù)操作

MySQL數(shù)據(jù)庫(kù)+pymysql

Django開(kāi)發(fā)操作數(shù)據(jù)庫(kù)更簡(jiǎn)單,內(nèi)部提供了ORM框架。

安裝第三方模塊
pip install mysqlclient

ORM可以做的事:

1、創(chuàng)建、修改、刪除數(shù)據(jù)庫(kù)中的表(不用寫(xiě)SQL語(yǔ)句)?!緹o(wú)法創(chuàng)建數(shù)據(jù)庫(kù)】

2、操作表中的數(shù)據(jù)(不用寫(xiě)SQL語(yǔ)句)。

1、自己創(chuàng)建數(shù)據(jù)庫(kù)

1)啟動(dòng)MySQL服務(wù)

2)自帶工具創(chuàng)建數(shù)據(jù)庫(kù)

2、django連接數(shù)據(jù)庫(kù)

在setting.py文件中進(jìn)行配置和修改:此處連接的是本機(jī)的mysql數(shù)據(jù)庫(kù)

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME':  'dbname', # 數(shù)據(jù)庫(kù)名字
        'USER':  'root',
        'PASSWORD':  'xxxxxx',
        'HOST':  'localhost',
        'PORT':  3306,
    }
}
3、django操作表
  • 創(chuàng)建表

  • 刪除表

  • 修改表

    創(chuàng)建表:在models.py文件中:

class UserInfo(models.Model):
    name = models.CharField(max_length=32) # charfield 字符串類(lèi)型
    password = models.CharField(max_length=64)
    age = models.IntegerField() # IntegerField 整數(shù)類(lèi)型

相當(dāng)于在MySQL中運(yùn)行了

create table app01_userinfo(
    id bigint auto_increment primary key,
    name varchar(32),
    password varchar(64),
    age int
);

然后,在terminal中依次執(zhí)行命令:(注意:app需要提前注冊(cè)。)

python manage.py makemigrations
python manage.py migrate

即可在mysql中創(chuàng)建好app01_userinfo這個(gè)文件

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

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

  1. 手動(dòng)輸入一個(gè)值

  2. 設(shè)置默認(rèn)值

    size = models.IntegerField(default=2)
    
  3. 允許為空

    data = models.IntegerField(null=True, blank=True)
    

在開(kāi)發(fā)中如果想要對(duì)表結(jié)構(gòu)進(jìn)行調(diào)整:

  • 在models.py文件中操作類(lèi)即可。

  • 在terminal執(zhí)行命令

    python manage.py makemigrations
    python manage.py migrate
    

數(shù)據(jù)的增刪改查

from app01 import models

1、新建

    # ###新建###
    models.Department.objects.create(title="銷(xiāo)售部")
    models.Department.objects.create(title="IT部")
    models.Department.objects.create(title="運(yùn)營(yíng)部")
    models.UserInfo.objects.create(name="dumpling", password="123", age="22")
    models.UserInfo.objects.create(name="noodles", password="111", age="20")

2、刪除

# ###刪除###
    models.UserInfo.objects.filter(id=3).delete()
    models.Department.objects.all().delete()

3、查看(獲取數(shù)據(jù))

    ###獲取數(shù)據(jù)###
    #獲取的是列表,列表是一行一行的數(shù)據(jù)
    #data_list = [行(對(duì)象) 行 行]   QuerySet類(lèi)型
    data_list = models.UserInfo.objects.all()
    for obj in data_list:
            print(obj.id, obj.name, obj.password, obj.age)

    # 尋找id=1的數(shù)據(jù)。data_list = [對(duì)象,],這個(gè)方法取到的還是QuerySet類(lèi)型
    data_list = models.UserInfo.objects.filter(id=1)
    # 取對(duì)象中的第一個(gè),這個(gè)方法就能直接將第一行對(duì)象取出來(lái)
    row_obj = models.UserInfo.objects.filter(id=1).first()
    print(row_obj.id, row_obj.name, row_obj.password, row_obj.age)

4、更新文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-622454.html

	models.UserInfo.objects.all().update(password=999)
    models.UserInfo.objects.filter(id=2).update(age=999)

到了這里,關(guān)于Django學(xué)習(xí)記錄:使用ORM操作MySQL數(shù)據(jù)庫(kù)并完成數(shù)據(jù)的增刪改查的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(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)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包