zoukankan      html  css  js  c++  java
  • 48 补充

    引擎
    myisam
    innodb
    blackhole
    memory

    ORM
    优点:
    让一个不懂数据库操作的小白也能够简单快速操作数据库实现相应功能
    缺点:
    sql 固定封转,不利于sql查询



    对象关系映射
    类 >>> 数据库的表
    对象 >>> 表里一条条的记录
    对象获取属性或方法 >>> 记录的字段对应的值


    一张表有字段,字段里有字段名,字段类型,字段是否是主键,字段的默认值


    class Filed(object):
    pass
    class StringFiled(object):
    pass
    class IntegerFiled(object):
    pass


    点属性 或看值
    class Models(dict):
    pass
    def __getattr__(self,item):
    return self.get(item)

    def __setattr__(self,key,value):
    return self[key] = value



    查询
    def select(self,**kwargs):
    select * from db
    select * from db where id = 1

    保存
    def save(self):
    insert into db(name,password) values('qwe','123')


    修改
    def update(self):
    update db set name = 'asd' where id = 3


    hasattr
    getattr
    setattr


    # 元类拦截类的创建过程 使它具备表的特性
    class ModelsMetaClass(type):
    def __new__(cls,class_name,class_bases,class_attrs):
    # 只拦截模型表的创建表
    if class_name = 'Models':
    return type.__new__(cls,class_name,class_bases,class-attre)
    table_name = class_attrs.get('table_name',class_name)
    primary_key = None
    mappings = {}
    k ==>id ,name, v==>对应的值(对象)
    for k,v in class_attrs.items():
    用户表示表的字段
    if isintance(v,Filed):
    mapping[k] = v
    是否有外键
    if v.primary:

    if primary_key:
    raise TypeError('主键重复')
    primary_key = v.name
    多余的删除
    for k in mappigs.keys():
    class_attr.pop(k)
    if not primary_key():
    reise TypeError('必须要有一个主键')

    class_attrs['table_name'] = table_name
    class_attrs['primary_key'] = primary_key
    class_attrs['mappings'] = mappings

    return type.__new__(cls,class_name,class_bases,class_attrs)





    pymysql模块连接数据库
    单例版本
    数据库连接池


    优酷项目架构设计

    注册登录

    框架优化

    cookie,session

    校验登录(服务端必须校验,客户端无所谓)



    服务端
    1.要有固定的ip和port
    2.24小时不间断提供服务
    3.能够支持高并发


    
    
  • 相关阅读:
    做题记录
    关于有向图强连通分量的一点想法
    浅谈二分图匹配(未完)
    水题狂欢赛 (爬楼梯赛)题解(偏向自我反省)
    浅谈迭代加深(iddfs)
    浅谈单调队列优化
    [cqbzoj#10644]鱼肉炸弹题解
    树形背包[2/ 50] luogu [P1273]
    树形背包[1/ 50] luogu [P2015] (超级板)
    (树状数组)区间修改,区间查询
  • 原文地址:https://www.cnblogs.com/komorebi/p/11079210.html
Copyright © 2011-2022 走看看