• 事务和python操作数据库


    联合分组

    # 数据来源:单标emp
    
    # 联合分组:按多个字段综合结果进行分组
    
    # 按 area与port组合后的结果进行分组,只有组合后的结果还一致,才认为是一组
    select group_concat(name),area,port from emp group by area,port;
    

    子查询

    insert into 表 select 子查询 # 增
    delete from 表 条件是select子查询(表不能与delete表相同) # 删
    select 字段 from 表 条件是select子查询 # 查
    update 表 set 字段=值 条件是select子查询(表不能与update表相同) # 改
    

    all与any:区间修饰条件

    语法规则

    where id in (1, 2, 3) -->id是1或2或3
    where id not in (1, 2, 3) --> id不是1,2,3
    where salary < all(3, 6, 9) --> salary必须小于所有情况(小于最小)
    where salary > all(3, 6, 9) --> salary必须大于所有情况(大于最大)
    where salary < any(3, 6, 9) --> salary只要小于一种情况(小于最大)
    where salary > any(3, 6, 9) --> salary只要大于一种情况(大于最小)
    

    视图

    '''
    1. 视图是存在内存中的临时表
    2. 视图的创建依赖select语句,所以就是select语句操作的结果形成的表
    3. 视图支持对数据的增删改查
    4. 视图不允许对视图表的字段做修改
    5. 视图不仅支持创建,也支持更新与删除
    '''
    
    # 语法
    # 创建视图
    mysql> create view 视图名[(别名们)] as select 语句;
    
    # 创建或替换视图
    mysql> create or replace 视图名[(别名们)] as select 语句;
    mysql> alter 视图名[(别名们)] as select 语句;
    
    # 删除视图
    mysql> drop view 视图名;
    

    视图的增删改

    # 视图的增删改操作可以直接映射给真实表(本质就是对真实表进行操作)
    # 操作视图,会影响真实表,反之也会影响
    

    视图

    # 事务:通常一些业务需要多条sql参与,参与的sql会形成一个执行整体,这个整体就叫做事务。
    # 事务 - 就是保护多条执行的sql语句
    
    '''
    事务的四大特性
    1.原子性:事务是一组不可分割的单位,要么同时成功,要么同时不成功
    2.一致性:事务前后的数据完整性应该保持一致(数据库的完整性:如果数据库在某一时间点下,所有的数据都符合所有的约束,则称数据库为完整的状态)
    3.隔离性:事务的隔离性是指多个用户并发访问数据时,一个用户的事务不能被其他用户的事务所干扰,多个并发事务之间数据要相互隔离
    4.持久性:持久性是指一个事务一旦被提交,它对数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任务影响
    '''
    
    # 开启事务
    begin;
    
    # 提交事务
    commit;
    
    # 事务回滚
    rollback;
    

    pymysql:python操作mysql

    import pymysql
    
    # pymysql连接数据库的必要参数:主机、端口、用户名、密码、数据库
    # pymysql不能提供创建数据库的服务,需要提前创建数据库
    
    '''
    1.建立数据库连接对象conn
    2.通过conn创建操作sql的游标对象
    3.编写sql交给cursor执行
    4.如果是查询,通过cursor对象获取结果
    5.操作完毕,关闭端口操作与连接
    '''
    

    索引

    # 索引就是键 - key
    
    '''
    1.键是添加给数据库表的字段的
    2.给表创建键后,该表不仅会形成表结构、表数据,还有键的B+结构图
    3.键的结构图是需要维护的,在数据完成增、删、改操作时,只有影响到有键的字段,结构图都要维护一次,所以创建键以后一定会降低增、删、改的效率
    4.键可以极大的加快查询速度
    5.建立键的方式:主键、外键、唯一键、index
    '''
    
  • 相关阅读:
    python
    【转载】【CPU】关于x86、x86_64/x64、amd64和arm64/aarch64
    【百思不得其解1】诡异的速度差异
    LeakCanary 与 鹅场Matrix ResourceCanary对比分析
    android 插件化框架VitualAPK
    android高级篇收录
    滴滴Booster移动APP质量优化框架 学习之旅 三
    滴滴Booster移动APP质量优化框架 学习之旅 二
    滴滴Booster移动APP质量优化框架 学习之旅
    不一样视角的Glide剖析
  • 原文地址:https://www.cnblogs.com/yunluo/p/11752995.html
Copyright © 2020-2023  润新知