ORM
程序员文章站
2023-11-04 12:18:46
简单介绍ORM: 对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换 [1]。从效果上说,它其实是创建了一个可在编程语言里使用的--“虚拟对象数据库”。 ......
简单介绍orm:
对象关系映射(英语:(object relational mapping,简称orm,或o/rm,或o/r mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换 [1]。从效果上说,它其实是创建了一个可在编程语言里使用的--“虚拟对象数据库”。
简单分析orm的优缺点:
优点:1.简单,不用自己写sql语句
2.开发效率高
缺点:1.你需要记住orm的特殊语法
2.因为不是专业的sql语句,相对于某些大佬的sql语句,执行效率肯定有差距
orm中的对应关系:
类——数据表
对象——数据行
属性——字段
orm能做的事:
1.操作数据表——>创建表、删除表、修改表、操作models.py里面的类
2.操作数据行——>数据的增删改查
但是orm不能创建数据库,需要事先自己手动创建数据库。
使用django的orm详细步骤:
1.自己手动创建数据库
create database 数据库名;
2.在django项目中设置连接数据库的相关配置(告诉django连接哪一个数据库)
1 # 与数据库相关的配置 2 databases = { 3 'default': { 4 # 连接数据库的类型 5 'engine': 'django.db.backends.mysql', 6 # 连接数据库的地址 7 'host':'127.0.0.1', 8 # 连接数据库的端口 9 'port':3306, 10 # 数据库名称 11 'name': 'day61', 12 # 用户 13 'user':'root', 14 # 密码 15 'password':'000000' 16 }
3.告诉djiango用pymysql代替默认的mysqldb连接mysql数据库
1 import pymysql 2 # 告诉django用pymysql来代替默认的mysqldb 3 pymysql.install_as_mysqldb()
4.在app下面的models.py文件夹中定义一个类,这个类必须继承models.model.
1 from django.db import models 2 3 # create your models here. 4 # orm相关的只能写在这个文件里,写在其他文件的话django找不到 5 6 class userinfo(models.model): 7 id = models.autofield(primary_key=true) # 创建一个自增的主键字段 8 name = models.charfield(null=false,max_length=20) # 创建一个varchar(20)类型的不能为空的字段
5.在终端执行两个命令
注:每次在models.py对orm语句修改后,都要执行以下这两个语句。
(1)python manage.py makemigrations————这句相当于每次改动后,将改动保存到项目文件夹下的migrations中
这里可能会遇到一个错误,解决办法请参见:
(2)python manage.py migrate————这句相当于把改动翻译成sql语句,然后去数据库中执行