Django之旅:第五节--Mysql数据库操作(一)

Django开发操作数据库更简单,内部提供了ORM框架

一、安装第三方模块

复制代码
pip install mysqlclient

注:最新的django框架需要使用mysqlclient模块,之前pymysql模块与django框架有编码兼容问题。

二、ORM

1、ORM可以帮助我们做两件事:

创建、修改、删除数据库中的表(不用写sql语句)(没有办法创建数据库)。

操作表中的数据(不用写sql语句)

2、创建数据库

2.1、启动Mysql服务

2.2、创建数据库

复制代码
create database 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

#操作数据库指令

#登录
mysql -u root(mysql用户名) -p

#查看数据库
show databases;

三、Django连接数据库

在setting.py文件中进行配置和修改

复制代码
DATABASES = {
    'default': {
        # 'ENGINE': 'django.db.backends.sqlite3',
        # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'index_day',  # 数据库
        'USER': 'root',
        'PASSWORD': '12345678',
        'HOST': '127.0.0.1',  # mysql那台机器的ip
        'PORT': '3306',
    }
}

四、Django操作表

1、创建表(models.py文件中操作)

python 复制代码
from django.db import mmodels

class UserInfo(models.Model):
    name=models.CharFIeld(max_length=32)
    password=models.CharFIeld(max_length=64)
    age=models.IntegerFIeld()

"""
上面类等于以下sql语句
cerate table app项目名_userinfo(
    id bigint auto_increment primary key,
    name varchar(32),
    password varchar(64),
    age int
"""

完成以上,需要执行以下命令,生成表(app需要提前注册)

python 复制代码
python manage.py makemigrations
python manage.py migrate

2、删除表

python 复制代码
from django.db import mmodels

class UserInfo(models.Model):
    name=models.CharFIeld(max_length=32)
    password=models.CharFIeld(max_length=64)
    #age=models.IntegerFIeld()

注:只要把对应的类或者字段注销或者删除,在执行以下

python 复制代码
python manage.py makemigrations
python manage.py migrate

3、修改表

注:在修改表,添加字段如果表本身有数据,需要默认值,或者设置默认可以为空。

如果类里面,字段不设置默认值,在执行命令行代码时也会提示,属于默认值或者退出

python 复制代码
from django.db import mmodels

class UserInfo(models.Model):
    name=models.CharFIeld(max_length=32)
    password=models.CharFIeld(max_length=64)
    #age=models.IntegerFIeld()
    
    data=models.IntegerField(defaul=2)#新字段默认为值为2

    content=models.IntegerField(null=True,blank=True)#新字段默认为值为空
    

再次执行该命令:

python 复制代码
python manage.py makemigrations
python manage.py migrate

五、总结:

在以后的开发中如果想要对表结构进行调整:

在models.py文件中操作类就可以了

在执行命令:

python 复制代码
python manage.py makemigrations
python manage.py migrate
相关推荐
一个天蝎座 白勺 程序猿33 分钟前
SQL Server数据库迁移实测:金仓KES V9R4C019让存量T-SQL“少量修改”
数据库·sql·kingbasees
嘻哈baby34 分钟前
FastAPI + SQLite 从 0 写一个真正能用的待办 API
数据库·sqlite·fastapi
judezh43 分钟前
「可重放」不是形容词:我把自家 Agent 运行时的 run 账本翻了个底朝天
数据库·人工智能
snow@li1 小时前
服务器运维:mysql 安装笔记
运维·服务器·mysql
用户9020876583761 小时前
从原生 PG 到 Vastbase、GaussDB:聊透“Patroni + ETCD”高可用架构演进与实战
数据库
2601_962283881 小时前
Django数据库配置(一)
mysql·postgresql·django·sqlite·数据库配置
落木萧萧8251 小时前
MyBatis 启动的时候都在干什么:从 MappedStatement 说起
java·数据库·后端
g10565591391 小时前
华为 OceanStor 基础使用入门指南
服务器·数据库·性能优化
潇凝子潇1 小时前
MySQL buffer pool 计算公式
数据库·mysql
广州灵眸科技有限公司2 小时前
瑞芯微(EASY EAI)RV1126B display
开发语言·数据库·人工智能·科技·嵌入式硬件