需要安装mysqlclient模块,步骤见博客。

一、数据库创建

1.mysql确定配置好环境变量

mysql环境变量配置方法

2.创建数据库

cmd命令进入数据库:mysql -u root -p,输入密码。

django mysql新建表 名 django创建数据库表_数据库


创建数据库命令:create database xxx charset utf8; 。 一定要有分号;才行。djangoLearn

django mysql新建表 名 django创建数据库表_django mysql新建表 名_02

二、链接数据库

Django的数据库操作手册。

setting.py文件夹中先注释掉之前的数据库语句,重新写以下语句:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'root',  # MySQL用户名
        'PASSWORD': 'XXXXXX',  # MySQL用户密码
        'NAME': 'djangoLearn',  # 数据库名称
        'HOST': '127.0.0.1',  # 哪个服务器安装的MySQL
        'PORT': 3306,  # 端口号
    },
}

django mysql新建表 名 django创建数据库表_python_03

三、操作表

1.增加表

(1)在models.py文件中创建一个类,即对应数据库中一个表。

from django.db import models

# Create your models here.
class UserInfo(models.Model):
    name = models.CharField(max_length=32)
    password = models.CharField(max_length=64)
    age = models.IntegerField()

(2)执行命令创建该表

python manage.py makemigrations
python manage.py migrate

每次想创建一个新的表的时候,则重复上述步骤,再次执行这两个命令即可。

django mysql新建表 名 django创建数据库表_django_04

(3)进入cmd确定是否创建该表,命令:show tables from djangolearn;

django mysql新建表 名 django创建数据库表_数据库_05

2.删除表

(1)当需要删除这个表的时候,将需要删除的表对应在models.py文件中的类直接注释掉。

django mysql新建表 名 django创建数据库表_django mysql新建表 名_06


(2)再次执行命令,即可:

python manage.py makemigrations
python manage.py migrate

django mysql新建表 名 django创建数据库表_数据库_07

查询结果如下,被删除掉了:

django mysql新建表 名 django创建数据库表_django mysql新建表 名_08

3.修改表

(1)删除表的一列数据

和删除表一样的操作,都是直接注释再执行上述命令语句。

(2)增加表的一列数据
  • 设置增加表的一列数据的默认值
age = models.IntegerField(default=22)
  • 允许增加表的一列数据的值为空
number = models.IntegerField(null=True, blank=True)

最后执行上述两条命令语句即可。

django mysql新建表 名 django创建数据库表_数据库_09

四、操作表中数据

view.py文件中引入包:

from app01.models import Department, UserInfo

1.增加

UserInfo.objects.create(name="小王", password="153")
    UserInfo.objects.create(name="小王", password="163", age=10)
    UserInfo.objects.create(name="张张", password="123", age=30)
    Department.objects.create(departName="技术部")

django mysql新建表 名 django创建数据库表_python_10

2.删除

UserInfo.objects.filter(id=5).delete()  # 删除id=5的数据
Department.objects.all().delete()  # 删除全部数据

django mysql新建表 名 django创建数据库表_数据_11

3.查询

注意,数据类型是列表中嵌套对象。

# 查询全部数据  列表[对象,对象,对象,...]
    userList = UserInfo.objects.all()
    for u in userList:
        print(u.name, u.age, u.password)

    # 查询某个数据  列表[对象]
    userOne = UserInfo.objects.filter(name="张张").first()
    print(userOne.name, userOne.age, userOne.password)

django mysql新建表 名 django创建数据库表_python_12

4.修改

UserInfo.objects.filter(id=3).update(age=32, name="老王")

django mysql新建表 名 django创建数据库表_数据库_13