django对MySQL的操作

本文介绍了如何在Django项目中安装mysqlclient第三方模块,配置数据库连接,创建数据表,使用ORM进行增删改查操作,以及在PyCharm终端执行数据库迁移的过程。
摘要由CSDN通过智能技术生成

django数据库的操作:

1. 安装第三方模块   pip install mysqlclient

2. orm无法创建数据库只能在终端创建数据库 create database unicom DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

3. django连接数据库(找到settings.py文件进行配置和修改)

# 注释掉
# DATABASES = {
#     'default': {
#         'ENGINE': 'django.db.backends.sqlite3',
#         'NAME': BASE_DIR / 'db.sqlite3',
#     }
# }

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # django连接mysql
        'NAME': 'unicom',  # 数据库名字
        'USER': 'root',  # 用户名
        'PASSWORD': '123456',  # 密码
        'HOST': '127.0.0.1',  # 那台机器安装了MySQL
        'PORT': 3306,  # 端口
    }

4. django创建数据表 (找到models.py 创建)

from django.db import models  


class UserInfo(models.Model):  # 类名即表名(一定要继承Model)
    name = models.CharField(max_length=32)  # 字段 = 类型(参数)
    password = models.CharField(max_length=64)
    age = models.IntegerField(default=2)

5. 在pycharm终端执行命名   (python版本号写自己的)

            先python311 manage.py makemigrations

            再python311 manage.py migrate

6. 对数据表的操作(增,删,改)

    再想加一列由于已存在列中可能已有数据,所以新增列必须要指定新增列对应的数据:有3种选择

            1 手动输入一个值【在终端报错时选择1】

            2 设置默认值 age = models.IntegerField(default=2)【在终端报错时选择2】

            3 允许为空 age = models.IntegerField(null=True, blank=True)

from django.db import models


class UserInfo(models.Model):  # 类名即表名(一定要继承Model)
    name = models.CharField(max_length=32)  # 字段 = 类型(参数)
    password = models.CharField(max_length=64)
    age = models.IntegerField(default=2)

# 1 增 再创建表
class Department(models.Model):  # 再创建一个类就是再创建表
    title = models.CharField(max_length=16)

# 2.删 除表
# class Department(models.Model):  # 注释掉就是删除表
#     title = models.CharField(max_length=16)

# 3.改表结构
class UserInfo(models.Model):  # 类名即表名(一定要继承Model)
    name = models.CharField(max_length=32)  # 字段 = 类型(参数)
    password = models.CharField(max_length=64)
    age = models.IntegerField(default=2)  # 在报错时选择2 (再设置默认值)

        做任何修改最后都要重新执行一遍:

                    在pycharm终端执行命名   (python版本号写自己的)

                    先python311 manage.py makemigrations

                    再python311 manage.py migrate

7.  对表中数据操作(增,删,改,查)

def orm(request):  # orm框架 相当于游标

    # 1.增
    # 找到Department类在(字段=值)
    Department.objects.create(title="销售")
    Department.objects.create(title="IT部")
    Department.objects.create(title="运营部")
    #
    # # 找到UserInfo类在(name列添加"武沛齐",password列添加"123", age列添加19)
    # UserInfo.objects.create(name="武沛齐", password="123", age=19)
    # UserInfo.objects.create(name="朱虎飞", password="666", age=29)
    # UserInfo.objects.create(name="吴阳军", password="666")

    # 2.删
    # UserInfo.objects.filter(id=3).delete()  # 在UserInfo删除id=3的
    # Department.objects.all().delete()  # 删除Department中所有的数据

    # 3.改
    # UserInfo.objects.all().update(password=999)  # 找到UserInfo表中所有数据把password值改成999
    # UserInfo.objects.filter(id=2).update(age=999)  # 找到UserInfo表中id=2的把age的值改成999
    # # 找到UserInfo表中name="朱虎飞"的把age的值改成999
    # UserInfo.objects.filter(name="朱虎飞").update(age=999)
    #
    # # 4.查
    # data_list = UserInfo.objects.all()  # 获取所有数据
    # for obj in data_list:
    #     print(obj.id, obj.name, obj.password, obj.age)
    #
    # data_list = UserInfo.objects.filter(id=1)  # 获取指定的数据
    # print(data_list)
    #
    # row_obj = UserInfo.objects.filter(id=1).first()  # 获取第一条数据
    # print(row_obj.id, row_obj.name, row_obj.password, row_obj.age)
    # return HttpResponse("成功")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值