1、ORM框架
- Django开发操作数据库很简单,内部提供了ORM框架
ORM可以资助我们做两件事:
创建、修改、删除数据库中的表(不用写SQL语句),但是无法创建数据库
操作表中的数据(不用写SQL语句),Django会利用ORM将代码翻译成SQL语句来操作数据库
2、ORM-创建数据库
由于ORM无法创建数据库,因此需要我们利用mysql来创建。
- create database djangodb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
复制代码
3、ORM-连接数据库
- DATABASES = {
- 'default': {
- 'ENGINE': 'django.db.backends.mysql', # 引擎
- 'NAME': 'djangodb', # 数据库名字
- 'USER': 'root', # 用户名
- 'PASSWORD': 'root', # 密码
- 'HOST': '127.0.0.1', # 安装MySQL的机器,一般是本机
- 'PORT': 3306,
- }
- }
复制代码 4、ORM-操作表
4.1、类创建表
- 在models.py中创建一个类,类中写入若干字段名
- 编写类之后,ORM会根据类自动执行下述SQL语句来天生表(下述的SQL语句不需要自己写)
- create table app01_userinfo(
- id bigint auto_increment primary key,
- name varchar(50),
- password varchar(60),
- age int
- )
复制代码
- 表名:app名称_类名小写
- 类中的字段对应表中的列
- 自动天生id列,且是自增、主键
- 上述操作只是天生表,假如想让django在数据库中创建该表,还需要执行下述命令
- python manage.py makemigrations
- python manage.py migrate
复制代码 执行命令之前需要注意以下几点:
- 确保app提前被注册
- 当前的目录为根目录,必须包含manage.py,这样它才会发挥作用
- 使用的python解释器必须安装了mysqlclient
天生很多其他的表是因为Django在执行上述命令时会去找每个app的models中的类来天生表,而Django默认提供了很多其他的app,这些app也依赖于一些表,因此会天生内部默认的一些表,假如不需要解释掉即可。
4.2、修改表结构
4.2.1、删除表结构
当想要删除表或表中的列时,只需要将models.py中的对应代码删掉或解释掉,重新执行下述命令即可
- python manage.py makemigrations
- python manage.py migrate
复制代码 4.2.2、新增表结构
在表中新增列时,由于已存在列中大概已有数据,以是新增列必须要指定新增列对应的数据
- 重新执行上述命令时会出现下述选择(这里选择第一种选择)
5、ORM-增编削查
5.1、新增数据
- 类名.objects.create(字段名=值,...)
复制代码
5.2、删除数据
- 类名.objects.filter(筛选条件).delete()
复制代码
- 类名.objects.all().delete()
复制代码 5.3、查询数据
- data_list = 类名.objects.all()
复制代码
- data_list = 类名.objects.filter(筛选条件)
复制代码
- obj = 类名.objects.filter(筛选条件).first()
复制代码 all()和filter()获取的数据范例均为QuerySet范例,可以看作数据列表范例,即[对象,对象,对象],而first()获得的是对象范例
5.4、更新数据
- 类名.objects.all().update(更新的字段名=新数据)
复制代码
- 类名.objects.filter(筛选条件).update(更新的字段名=新数据)
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |