Django框架与ORM框架

ORM框架

安装第三方模块
  • pip install mysqlclient
  • 创建、修改、删除数据库中的表

  • 不需要我们写SQL语句,且无法创建数据库

  • 操作表中的数据

  • 同样也不需要写SQL语句;表中数据的增、删、改、查

创建数据库
  • 启动MySQL服务
  • 使用自带工具创建数据库

create database liupc02 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

Django连接数据库

将自带的sqlite数据库注释
添加数据库配置

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 默认
'NAME': 'django(注意更换自己的数据库名称)', # 连接的数据库 #一定要存在的数据库名
'HOST': '127.0.0.1', # mysql的ip地址
'PORT': 3306, # mysql的端口
'USER': 'root', # mysql的用户名
'PASSWORD': 'youpwd!!!注意更换' # mysql的密码
}
}

Django操作表

创建表
  • name = models.CharField(max_length=32)

相当于SQL语句中的name varchar(32)

· password = models.CharField(max_length=64)

相当于SQL语句中的passwd varchar(64)

· age = models.IntegerField()

相当于SQL语句中的age int()

  • 并且Django会自动默认在表头添加主键ID
执行命令
  • 注意:操作这个命令之前需要app提前注册

  • python manage.py makemigrations

  • 查看是否创建成功
删除表
  • 将models.py 文件中的内容 注释 或 删除 掉即可(想要删除/注释哪个表就删除/注释哪个类)
修改表
  • 如果要向表中添加一列就需要使用命令:python manage.py makemigrations

  • 首先需要向class类中添加数据,然后再执行上述命令

  • 在表中新增列时,由于已存在列中可能已有数据,所以新增列必须要指定新增列对应的数据(1. 手动输入一个只; 2. 设置默认值(default = 2); 3. 允许为空(null = True, blank = Ture ))

ORM-增、删、改、查

新增

  • UserInfo.objects.create(name= "liupc", password= "123456", age=20)

相当于SQL语句中的inster into

删除

  • UserInfo.objects.filter(name="liupc").delete()

先当与SQL语句中的delete 列名 from 表名 where 判断条件

查看

  • UserInfo.objects.all()

相当与SQL语句中的select * from

修改

  • UserInfo.objects.filter(id=2).update(password=999)

相当于数据库中的update 表名 set 列=值 where 条件;

相关推荐
梯度下降者10 小时前
python在哪些方面有应用,python可以用在哪些方面
人工智能·python·web开发·科学计算·应用领域
IT_陈寒10 小时前
SpringBoot性能优化完全指南
前端·人工智能·后端
烂蜻蜓10 小时前
Pandas入门教程(十二):读取 HTML 表格——read_html 参数详解与网页数据清洗
python·html·pandas
2601_9679791210 小时前
Opteryx Python库 macOS版本0.0.0a12
python·macos·1024程序员节·wheel·opteryx·alpha
随性而行36011 小时前
企业微信 Webhook 接收不到消息?网络连通性、URL 签名验签与 API 返回错误码排查指南
java·网络·人工智能·后端·微信·企业微信
相隔一个图书馆的距离11 小时前
单测(三)Spring Boot 3.5.6 && @MockitoSpyBean / AOP / 循环依赖:静默吞错与运行期 NPE
java·spring boot·后端
凤山老林11 小时前
Spring Boot 集成 Apache CXF 发布与消费 SOAP WebService:WSDL、WS-Security
spring boot·后端·apache·webservice·soap·apache cxf
Yolanda_202211 小时前
PyTorch 线性层nn.Linear底层数学原理
人工智能·pytorch·python
软件技术NINI11 小时前
基于JavaWeb 汽车租聘
java·vue.js·spring boot·后端·python·毕业设计·毕设
yz_aiks11 小时前
RestTemplate 废弃后迁移 RestClient 实战:Spring Boot 4.2 升级指南
java·spring boot·后端·微服务·restclient