002649:数据库知识记录

1、mysql默认也是有序的。

  a、myisam引擎下,在没有任何修改、删除的情况下,执行select不带order by 会按照插入的顺序排序。   

  b、innodb引擎下,和上述相同的情况下,select不带order by会根据主键来排序,从小到大

 ps:背景

  a、今天做了一个功能,指定租户下,如果一个用户被更新为职业投诉人,则整个租户下相同手机号的所有案件实体也要更新为职业投诉人。

  b、用户信息和案件的关系:相同的用户提不同的案子时,用户会被复制作为案件关联人存储。

  c、实现时:根据分页,查询一千条,更新一千条,直到查询不出数据。

  d、分页更新时,如上不使用order by则存在批量更新过程中,某些新增/更新的符合条件的数据被忽略(在更新过的分页中)或某些记录重复更新

原文地址:https://www.cnblogs.com/ws563573095/p/10339468.html

时间: 2024-10-10 11:51:45

002649:数据库知识记录的相关文章

数据库知识整理<二>

又继续写的博客,希望自己能坚持每天写博客.分享自己的点滴,对自己成长有帮助.今天下午高强度打了三个小时篮球,小腿都抽筋了.很爽,失落的心情似乎变得开明了一些.想到了一句话:“像SB式的坚持总会有好的收获”,因为坚定了目标,不达目标不罢休.其他的就没什么了.好吧,不多说这些了.继续数据库知识总结吧. 二,管理数据库和表: 2.1管理数据库: 创建和使用数据库: 创建数据库的SQL语句:create database 数据库名: 需要注意的是:数据库名在服务器中必须是唯一的并且遵循合法的标识符规则:

数据库知识整理<八>

联接: 8.1理解简单的单联接: 基本上联接的结果是每个集合的笛卡尔积.例如:两个集合{a,b,c}和{a,b}的笛卡尔积是如下的成对集合:{(a,a),(a,b),(b,a),(b,b),(c,a),(c,b)}. select 表1.列1,表1.列2,表2.列3 from 表1 cross join 表2: 这种类型的联接称为交叉联接,或者笛卡尔积.在mysql中查询语句就是这样写的. 8.1.1使用两表相等联接: 两个表的行相连接的最常用的方法是通过一个相等联接.相等联接基于每行中的一个列

数据库知识整理<五>

简单的数据查询: 5.1查询的基本结构: Sql语句:select [distinct] (* | column [alias],...) from table [where condition] [order bycolumn]; 5.2投影操作: 投影操作是指在Sql查询中,使用select子句,选择将对表中的那些列进行操作,这些列将出现在结果中. 基本的Sql语句的查询:select 列名列表 from 表名; 表名前缀:select 表名.列明 from 表名;如 select stud

Mysql数据库知识总结(看资料总结出来的)

毕业到现在算起来做了3年多服务端开发了,毕业之后很少有时间想在学校一样可以抽出一些空余的时间对知识进行一个总结,到现在也是时候对一些关键的知识一个总结,今天趁着时间比较多,先来对用了3年多的开源关系型数据库mysql进行一下总结,整理了一下知识点可以分为以下几点进行: 一.基础知识 二.SQL优化与索引 三.数据库规范建议 四.数据库设计 五.数据库架构 一.基础知识 知识点主要包括:数据类型 常用函数 字符集 事务隔离级别 锁机制 (1).数据类型 数值类型 -- TINYINT.SMALLI

数据库知识整理

关系型数据库知识整理: 一,关系型数据库管理系统简介: 1.1使用数据库的原因: 降低存储数据的冗余度 提高数据的一致性 可以建立数据库所遵循的标准 储存数据可以共享 便于维护数据的完整性 能够实现数据的安全性 1.2基本概念: 对于任何数据库来说,表之间的关联关系存在三种基本的关系类型:一对一,一对多,多对多仅此三种. 目前流行的关系型数据库服务器管理系统有:微软-MS SQL Server.甲骨文-Oracle.IBM-DB2.开源的MySql和PostgreSQL等.(在面试中有被问到过)

Atitit.mssql 数据库表记录数and 表体积大小统计

Atitit.mssql 数据库表记录数and 表体积大小统计 1. EXEC   sp_MSforeachtable   "EXECUTE   sp_spaceused   '?'" 最后一种方法是利用隐藏未公开的系统存储过程sp_MSforeachtable CREATE TABLE  #temp  (TableName  VARCHAR  (255),  RowCnt  INT) EXEC  sp_MSforeachtable  'INSERT  INTO  #temp  SEL

查询ORACLE数据库操作记录

代码: SELECT a.First_Load_Time,        a.Sql_Text,        s.Sid,        s.Serial#,        s.Program --,        ,        a.* --       Utl_Inaddr.Get_Host_Address(s.Terminal) Ip   FROM V$sqlarea a, V$session s  WHERE s.Sql_Address(+) = a.Address    AND U

MySQL数据库(3)_MySQL数据库表记录操作语句

附: MYSQL5.7版本sql_mode=only_full_group_by问题 1.查询当前sql_mode: select @@sql_mode 2.查询出来的值为: set @@sql_mode ='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; 3.修改s

sql语句查询同一表内多字段同时重复的记录 sql数据库重复记录删除

分享下用sql语句删除数据库中重复记录的方法.比如现在有一人员表 (表名:peosons) 若想将姓名.身份证号.住址这三个字段完全相同的记录查询出来select p1.* from persons p1,persons p2 where p1.id<>p2.id and p1.cardid = p2.cardid and p1.pname = p2.pname and p1.address = p2.address可以实现上述效果.几个删除重复记录的SQL语句 1.用rowid方法2.用gr