- MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动
- ORM是“对象-关系-映射”的简称。
如果进行数据库迁移,不同数据库的sql语句是有差别的,而ORM是上层封装,只需按照指定的数据库引擎就可以翻译为相对应的sql语句,便于数据库迁移。但是它的效率不高。
不需要调用sqmysql,django的上层封装;它只能做到表这一层
sql表----->python的 类
字段------>类的属性
表记录---->python类对象
1 #sql中的表 2 3 #创建表: 4 CREATE TABLE employee( 5 id INT PRIMARY KEY auto_increment , 6 name VARCHAR (20), 7 gender BIT default 1, 8 birthday DATA , 9 department VARCHAR (20), 10 salary DECIMAL (8,2) unsigned, 11 ); 12 13 14 #sql中的表纪录 15 16 #添加一条表纪录: 17 INSERT employee (name,gender,birthday,salary,department) 18 VALUES ("alex",1,"1985-12-12",8000,"保洁部"); 19 20 #查询一条表纪录: 21 SELECT * FROM employee WHERE age=24; 22 23 #更新一条表纪录: 24 UPDATE employee SET birthday="1989-10-24" WHERE id=1; 25 26 #删除一条表纪录: 27 DELETE FROM employee WHERE name="alex" 28 29 30 31 32 33 #python的类 34 class Employee(models.Model): 35 id=models.AutoField(primary_key=True) 36 name=models.CharField(max_length=32) 37 gender=models.BooleanField() 38 birthday=models.DateField() 39 department=models.CharField(max_length=32) 40 salary=models.DecimalField(max_digits=8,decimal_places=2) 41 42 43 #python的类对象 44 #添加一条表纪录: 45 emp=Employee(name="alex",gender=True,birthday="1985-12-12",epartment="保洁部") 46 emp.save() 47 #查询一条表纪录: 48 Employee.objects.filter(age=24) 49 #更新一条表纪录: 50 Employee.objects.filter(id=1).update(birthday="1989-10-24") 51 #删除一条表纪录: 52 Employee.objects.filter(name="alex").delete()