学神python全栈学习笔记---5 ORM单表操作和查询API

  1. 不同数据库定义格式

Sqlite3

 

 

mysql:

安装完新的模块需要重新打开pycharm,本地环境可以不重新打开,远程必须重新打开。

Mysql创建数据库:

 

  1. ORM建表使用

同步数据库之前,必须要先生成迁移文件:

python manage.py makemigrations

 

   同步到数据库:

   python manage.py migrate

   

 

   查看迁移的信息(前面有X的代表同步成功):

   python manage.py showmigrations

   

 

   pycharm打开manager:

   

 

 

  1. ORM概念

用于实现面向对象编程语言里不同类型系统的数据之间的转换,换句话说,就是用面向对象的方式去操作数据库的创建表和增删改查的操作。

优点:

  1. ORM使我们的通用数据库交互变得更简单,完全不用考虑SQL语句,正意义上实现快速开发。
  2. 可以避免一些新手程序员写sql语句带来的性能问题。

 

select name from user;

select * from user;

select * from user a, group b where a.id = b.id;

 

数据库:oracle, mysql, sqlite, trs, mangodb, redis, sqlserver

 

  1. ORM单表的增删改查

想使用ORM之前,需要把你使用的表的类,导入到你的视图中

 

  1. 添加数据(两种方式)

Less1

 

 

Less2

 

字典批量添加数据:

 

 

  1. 删除数据

 

  

  1. 更改数据(两种方式)

Less1(不推荐使用):

 

 

Less2:

 

Queryset集合才会有update。

Bookobj是没有update操作的,只能覆盖成员变量,调用save方法。

  1. 查询数据

Queryset:

    1.可以切片使用:不支持负的索引

    2.可迭代对象

    3.惰性查询

    4.缓存机制

 

  1. 打印出ORM的SQL语句(添加到seting文件里就可以了)

LOGGING = 

OGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'console':{
            'level':'DEBUG',
            'class':'logging.StreamHandler',
        },
    },
    'loggers': {
        'django.db.backends': {
            'handlers': ['console'],
            'propagate': True,
            'level':'DEBUG',
        },
    }
}

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值