首页
学习
活动
专区
圈层
工具
发布

MySQL学习笔记汇总(三)——子查询、limit、表(insert,update,delete)

一、子查询 子查询就是嵌套的 select 语句,可以理解为子查询是一张表 语法: where子句中使用子查询 案例: 找出高于平均薪资的员工信息。...from 语句中使用子查询 在 from 语句中使用子查询,可以将该子查询看做一张 表 案例: 找出每个部门平均薪水的等级。...语法格式: insert into 表名(字段名1,字段名2,字段名3,....) values(值1,值2,值3,....)...给表中插入数据: insert into t_student values(1,'jack','0',20200911,'1986-10-23'); insert into t_student values...语法格式: delete from 表名 where 条件; 删除表中数据: delete from t_student where no=1; delete from t_student where

2.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Insert Delete GetRandom O(1)

    如果底层是一个一般的数组,我们知道查询的时间复杂度为O(n),明显不满足题目的意思。...一个有序的数组能够将查询的时间复杂度下降到O(lgn),但是这依然不满足条件1,而且也无法做到所有的元素被等概率的查询出来,因为每插入一个元素都将改动之前元素的位置。...而唯一能够做到O(1)时间查询的只有一个数据结构,即hash。因此,使用hash来查询时不可避免的。...如何实现O(1)的随机查询 这个其实就是强调一点,我们需要维持原有的插入顺序,从而保证各个元素等概率被随机。...综上所述,我们底层需要两种数据结构,一个hashmap来支持O(1)的查询,以及一个list来支持随机数的获取。

    57230

    MySQL性能测试之insert&delete【FunTester框架】

    insert 这个在工作中用到的不少,估计在造数据的时候用到会比较多。这里使用单条数据执行的方式。...脚本用到SQL:INSERT INTO funtesters (name,age) VALUES (\"fun 翻译成Java:"INSERT INTO funtesters (name,age) VALUES...delete 删除这个比较麻烦,因为这些数据删了就没了。如果采取如何对消息队列做性能测试这个方案,有点大材小用,我这里就用随机名称作为删除数据的依据,执行先insert再delete的测试方案。...INTO funtesters (name,age) VALUES (\"$name\",${getRandomInt(100)});") statement.execute("DELETE...+S6jiAxMDI0/eodgA==" > } ~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~ JSON ~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~ 可以看到,受delete

    71330

    insert?delete?update?3个insert的死锁2个update的死锁3个以上delete的死

    这个共享锁在并发的情况下是会产生死锁的,比如有两个并发的insert都对要对同一条记录加共享锁,而此时这条记录又被其他事务加上了排它锁,排它锁的事务将这条记录删除后,两个并发的insert操作会发生死锁...delete?...delete操作仅是将主键列中对对应的记录delete flag设置为1,记录并没有被删除,还是存在于B+树中 真正的删除操作被延迟了,最终在purge操作中完成 延迟到purge操作的原因是的innodb...to get lock; try restarting transaction delete操作仅是将主键列中对对应的记录delete flag设置为1,实际的删除延迟到purge中 delete删除时如果找到满足条件的记录...delete from deadlocktest where a=499;rollback;" | $MY_DB done 该类delete死锁的出现条件 1、针对唯一索引上等值查询的删除 2、有3个以上并发删除操作

    2.1K80

    undo日志insert,update,delete (1)—mysql进阶(六十四)

    步骤一:仅仅将delete_mark标识改为1。这个阶段称为delete_mark,但是当前还并没有移动到垃圾链表,处于中间状态。...执行完delete mark后,它对应的undo日志和insert操作对应的undo日志就串成了一个链表。这个链表称为版本链,等我们后面介绍update操作时候,会看到这个【版本链】的强大。...狙击枪'), (2, 'M416', '步枪'); # 删除一条记录 DELETE FROM undo_demo WHERE id = 1; 这时候delete mark操作对应的redo日志为:...的地址 Undo type:trx_undo_insert_rec。...mark操作 注意,这里是deletemark ,delete mark,delete mark,也就是说在update事务提交前,只对旧的记录做delete mark,之后再提交给专门的线程做purge

    80610
    领券