【Python Web】django框架(五)数据库操作

数据库操作

  • MySQL数据库+pymysql
import pymysql

# 连接mysql
conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", password="root", charset='utf8', db='bkys')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)


# 发送指令(不要用字符串格式化做sql的拼接,安全隐患sql注入)
cursor.execute("insert into admin(username,password,mobile) values('bkys','adawd','2131153245')")
con.commit()

# 关闭
cursor.close()
conn.close()

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

ORM会帮我们将写下的代码翻译给sql语句,再去数据库执行

安装第三方模块

pip install mysqlclient
  • 安装成功
    在这里插入图片描述

ORM

ORM会帮我们将写下的代码翻译给sql语句,再去数据库执行

  • 创建,修改和删除数据库中的表。(无法创建数据库)
  • 操作表中的数据(不用写SQL语句)
  1. 创建数据库
  • 启动MySQL服务
  • 创建数据库
  1. django连接数据库
    在 settings.py文件中配置
  • 注释原来的
    在这里插入图片描述
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'dbname',
        'USER': 'root',
        'PASSWORD': 'root',
        'HOST': '127.0.0.1',
        'PORT': '3306'
    }
}

django操作表

创建表
  • 在models.py中
    在这里插入图片描述
class UserInfo(models.Model):
    name = models.CharField(max_length=32)
    password = models.CharField(max_length=64)
    age = models.IntegerField()
  • 这就相当于sql中的
create table app01_userinfo(
    id bigint auto_increment primary key,
    name varchar(32),
    password varchar(64),
    age int
)
  • 执行命令
    前提:app已经注册
python manage.py makemigrations
python manage.py migrate

执行完命令出现如下字样即为成功
在这里插入图片描述

  • 此时查看数据库
    在这里插入图片描述
    在这里插入图片描述

  • 新增表时,在models.py中新增类即可,然后执行命令

  • 当需要在创建成功的表中修改时候

    • 删除:注释后执行命令
    • 新增:由已存在列中可能由数据,所以需要指定新增对应的数据
      • 手动输入一个值
      • 类中定义一个默认值
      size = models.IntegerField(default=1)
      
      • 允许可以为空
      size = models.IntegerField(null=True, blank=True)
      
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LibraFree

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值