精华内容
下载资源
问答
  • 数据库从小到大排列

    2021-03-27 16:44:02
    public void selectMaps() {//排序,只输出最小的(asc是从小到大排列,desc是从大到小排列) List<Map<String, Object>> mapList = userMapper.selectMaps(Wrappers.<User>query().orderByAsc(...

    一个方法:
    但是这个方法只输出一行,会把年龄最小的输出一行,不知道为啥

    @Test
        public void selectMaps() {//排序,只输出最小的(asc是从小到大排列,desc是从大到小排列)
            List<Map<String, Object>> mapList = userMapper.selectMaps(Wrappers.<User>query().orderByAsc("age"));
            assertThat(mapList).isNotEmpty();
            assertThat(mapList.get(0)).isNotEmpty();
            System.out.println(mapList.get(0));
        }
    

    打印出的sql语句如下:SELECT id,name,age,email FROM user ORDER BY age ASC
    应该全部显示才对。。。

    展开全文
  • 数据库

    2018-06-09 17:47:00
    ----- 根据 “列” 从小到大排列 --select * from 表 order by 列 asc ----- 根据 “列” 从大到小排列 --select * from 表 order by 列 desc SELECT * FROM test1 ORDER BYdate_time DESC; MySQL数据库的...

    数据库基本操作

    数据库排序  desc 降序  asc 升序

    ----- 根据 “列” 从小到大排列

    --select * from 表 order by 列 asc

    ----- 根据 “列” 从大到小排列

    --select * from 表 order by 列 desc

    SELECT * FROM test1 ORDER BY  date_time DESC;

    MySQL数据库的数据类型

    MYSQL优化–explain分析sql语句执行效率

    MySQL–利用procedure analyse()函数优化表结构

    MySQL 主从复制与读写分离概念及架构分析

    数据库 分表、分区、分库

    使用Merge存储引擎实现MySQL分表

    SQL注入    防止

     MySQL 内连接、外连接、左连接、右连接、全连接

    内连接

              求交集 (用 inner join )

     外连接

              求差集(用 left join  或 right join)      求并集(用 union)【MYSQL目前不支持】

    数据库的三大范式

    数据库事务正确执行的四个基本要素

    事务是由一组 SQL 语句组成的逻辑处理单元。

      ACID: 原子性(Atomicity)、 一致性(Consistency)、 隔离性(Isolation)、持久性(Durability)。

    并发事务带来的问题

      更新丢失、脏读、不可重复读、幻读。

    如何并发访问数据库---加锁。

    锁是一种 并发控制技术,锁是用来在多个用户同时访问同一个数据的时候保护数据的。
    有 有 2  种基本的锁类型:

           共享(S)锁:若事务T在A对象上加上共享锁S,则其他事务不可修改A对象,但是,可以查询A对象、可以在A对象上加共享锁

           排他(X)锁:若事务T在A对象上加上排他锁X,则其他事务不可修改、不可查询A对象,不可在A对象上加其他的共享锁和排他锁

    产生死锁的四个必要条件:

      互斥条件、请求与保持条件、不可剥夺条件、环路等待条件。(只要系统发生了死锁,这些条件必然成立,而只要上述条件之一不满足,就不会发生死锁。)

    锁有两种机制:

      悲观锁 :从数据开始更改时就将数据锁住,直到改完成才释放

      乐观锁:准备提交所做的修改到数据库的时候才会将数据锁住

    索引:

      加快了查找速度,减慢了修改速度。

    存储引擎:

       MyIsam 与 与 InnoDB 

    涉及命令的问题

    1、truncate 与 delete 的区别:

      TRUNCATE TABLE:删除内容、 不删除 定义、释放空间。
      DELETE TABLE:删除内容、 不删除 定义,不释放空间。
      DROP TABLE:删除内容和定义,释放空间。

    2、sql 的授权语句和收回权限语句:  

      grant 权限 on 数据库对象  to 用户;

      revoke 权限 on  数据库对象 from ;

    3、增加一行数据、增加列、删除列:

      插入一行数据:

    insert into stu(stuName,stuAge,stuSex) values('张三','20','')

      增加列:

    ALTER TABLE table_name ADD column_name datatype

      删除列:

    ALTER TABLE table_name DROP COLUMN column_name

    4、select Count (*) 和 Select Count( 数 字) 以及Select Count(column)   

    count(*) 跟 count(1) 的结果一样, 返回记录的总行数,都包括对 NULL 的统计,而 count(column) 是不包括 NULL 的统计。

     5、EXISTS

     SELECT * FROM person WHERE  EXISTS (SELECT id FROM city WHERE id=1)

    条件表达式与 EXISTS 关键字之间用AND 或者 OR 进行连接

    SELECT * FROM person WHERE age>20 AND EXISTS (SELECT id FROM city WHERE id=1);

    NOT EXISTS 与 EXISTS 正好相反

    SELECT * FROM person WHERE NOT EXISTS (SELECT id FROM city WHERE id=1)

    6、HAVING 子句

    SELECT column_name, aggregate_function(column_name)
    FROM table_name
    WHERE column_name operator value
    GROUP BY column_name  //分组
    HAVING aggregate_function(column_name) operator value;

    max min

    函数部分

    7、判断表的字段值是否为空

      查询字段值为空的语法:where <字段名> is null
      查询字段值不为空的语法:where <字段名> is not null 或者 where NoT(<字段名> IS NULL)

    8、据时间进行分类计算总数

    SELECT CAST(time as DATE) AS time,COUNT(*) AS 总数   FROM tab  GROUP BY CAST(time as DATE)

     

    SELECT * FROM (
    SELECT 
    a1.dt,
    IFNULL(cert_num,0) cert_num,
    IFNULL(save_num,0) save_num
    FROM (
         SELECT CAST(cert_time AS DATE) dt ,COUNT(*) AS cert_num FROM ee_cert WHERE cert_time IS NOT NULL AND 1=1 GROUP BY CAST(cert_time AS DATE)
    ) a1 LEFT JOIN (
          SELECT CAST(TIME AS DATE) dt ,COUNT(*) AS save_num FROM ee_cert WHERE 1=1 GROUP BY CAST(TIME AS DATE)
     ) b1 ON a1.dt=b1.dt
    UNION ALL
        
    SELECT 
    a1.dt,
    IFNULL(cert_num,0) cert_num,
    IFNULL(save_num,0) save_num
    FROM (
     SELECT CAST(TIME AS DATE) dt ,COUNT(*) AS save_num FROM ee_cert WHERE 1=1 GROUP BY CAST(TIME AS DATE)
    
    ) a1 LEFT JOIN (
              SELECT CAST(cert_time AS DATE) dt ,COUNT(*) AS cert_num FROM ee_cert WHERE cert_time IS NOT NULL AND 1=1 GROUP BY CAST(cert_time AS DATE)
    
     ) b1 ON a1.dt=b1.

     9、SQL Date 函数

      MySQL DATE_FORMAT() 函数

        定义和用法

          DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。

        语法

    DATE_FORMAT(date,format)

         实例

    SELECT DATE_FORMAT(NOW(),'%Y-%m-%d'),NOW();

     

     ***************函数部分结束(待更新)****************

    通配符

      SQL 模糊查询LIKE concat用法

      concat用来拼接查询的字符串,如下代码所示
      
    SELECT * FROM deployment WHERE name LIKE concat(concat('%',#{queryMessage}),'%')

     

    数据库连接池:

     

    触发器:

    mysql触发器基本语法实际应用,图文+代码教程详细说明

     

    REPLACE(UUID(),"-","")    生成不带‘ - ’的UUID

     

    转载于:https://www.cnblogs.com/superslow/p/9160379.html

    展开全文
  • 数据库排序

    2021-04-16 21:32:57
    排序 为了方便查看数据,可以...默认按照列值从小到大排列(asc) asc从小到大排列,即升序 desc从大到小排序,即降序 例1:查询未删除男生信息,按学号降序 select * from students where gender=1 and is_delete=0

    排序

    为了方便查看数据,可以对数据进行排序

    语法:

        select * from 表名 order by1 asc|desc [,2 asc|desc,...]
    

    说明

    • 将行数据按照列1进行排序,如果某些行列1的值相同时,则按照列2排序,以此类推
    • 默认按照列值从小到大排列(asc)
    • asc从小到大排列,即升序
    • desc从大到小排序,即降序

    例1:查询未删除男生信息,按学号降序

        select * from students where gender=1 and is_delete=0 order by id desc;
    

    例2:查询未删除学生信息,按名称升序

        select * from students where is_delete=0 order by name;
    

    例3:显示所有的学生信息,先按照年龄从大–>小排序,当年龄相同时 按照身高从高–>矮排序

        select * from students  order by age desc,height desc;
    
    展开全文
  • 9.27 数据库

    2020-09-27 15:49:16
    5.每个节点中的元素从小到大排列,节点当中k-1个元素正好是k个孩子包含的元素的值域分划。 平衡树的优点 采用平衡树的优点是:使树的结构较好,从而提高查找运算的速度。缺点是:是插入和删除运算变得复

    mysql索引用了何种数据结构?用b树和b+树有什么特点?

    一个m阶的B树具有如下几个特征:
    1.根结点至少有两个子女。
    2.每个中间节点都至少包含ceil(m / 2)个孩子,最多有m个孩子。
    3.每一个叶子节点都包含k-1个元素,其中 m/2 <= k <= m。
    4.所有的叶子结点都位于同一层。
    5.每个节点中的元素从小到大排列,节点当中k-1个元素正好是k个孩子包含的元素的值域分划。

    平衡树的优点

    采用平衡树的优点是:使树的结构较好,从而提高查找运算的速度。缺点是:是插入和删除运算变得复杂化,从而降低了他们的运算速度。

    二叉树的实际应用

    1.哈夫曼编码,来源于哈夫曼树(给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为赫夫曼树(Huffman tree)。即带权路径长度最短的树),在数据压缩上有重要应用,提高了传输的有效性,详见《信息论与编码》。
    2.海量数据并发查询,二叉树复杂度是O(K+LgN)。二叉排序树就既有链表的好处,也有数组的好处, 在处理大批量的动态的数据是比较有用。
    3.C++ STL中的set/multiset、map,以及Linux虚拟内存的管理,都是通过红黑树去实现的。查找最大(最小)的k个数,红黑树,红黑树中查找/删除/插入,都只需要O(logk)。
    4.B-Tree,B±Tree在文件系统中的目录应用。
    5.路由器中的路由搜索引擎。
    红黑树:
    普通的二叉查找树在极端情况下可退化成链表,此时的增删查O(n)效率都会比较低下。为了避免这种情况,就出现了一些自平衡的查找树,比如 AVL。
     ALV树是一种严格按照定义来实现的平衡二叉查找树,所以它查找的效率非常稳定,为O(log n),由于其严格按照左右子树高度差不大于1的规则,插入和删除操作中需要大量且复杂的操作来保持ALV树的平衡(左旋和右旋),因此ALV树适用于大量查询,少量插入和删除的场景中。
    现在假设有这样一种场景:大量查询,插入和删除,使用ALV树就不太合适了,因为ALV树大量的插入和删除会非常耗时间

    平衡二叉树

    且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。这个方案很好的解决了二叉查找树退化成链表的问题,把插入,查找,删除的时间复杂度最好情况和最坏情况都维持在O(logN)。但是频繁旋转会使插入和删除牺牲掉O(logN)左右的时间,不过相对二叉查找树来说,时间上稳定了很多。

    二叉树的实际应用

    1哈夫曼编码,哈夫曼树,在数据压缩上有重要应用,提高了传输的有效性。
    2海量数据并发查询,二叉树复杂度是O(K+LgN)。二叉排序树就既有链表的好处,也有数组的好处,在处理大批量的动态的数据是比较有用。
    3.C++ STL中的set/multiset、map,以及Linux虚拟内存的管理,都是通过红黑树去实现的。查找最大(最小)的k个数,红黑树,红黑树中查找/删除/插入,都只需要O(logk)。
    4 B-Tree,B±Tree在文件系统中的目录应用。
    5路由器中的路由搜索引擎。

    红黑树的五个特性

    (1)每个节点或者是黑色,或者是红色。
    (2)根节点是黑色。
    (3)每个叶子节点(NIL)是黑色。 [注意:这里叶子节点,是指为空(NIL或NULL)的叶子节点!]
    (4)如果一个节点是红色的,则它的子节点必须是黑色的。
    (5)从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。

    有了上面的几个性质作为限制,即可避免二叉查找树退化成单链表的情况。但是,仅仅避免这种情况还不够,这里还要考虑某个节点到其每个叶子节点路径长度的问题。如果某些路径长度过长,那么,在对这些路径上的及诶单进行增删查操作时,效率也会大大降低。这个时候性质4和性质5用途就凸显了,有了这两个性质作为约束,即可保证任意节点到其每个叶子节点路径最长不会超过最短路径的2倍。

    二叉平衡树和红黑树的区别:

    和红黑树相比,AVL树是严格的平衡二叉树,平衡条件必须满足(所有节点的左右子树高度差不超过1)。通过对任何一条从根到叶子的路径上各个节点着色的方式的限制,红黑树确保没有一条路径会比其它路径长出两倍,因此,红黑树是一种弱平衡二叉树(由于是弱平衡,可以看到,在相同的节点情况下,AVL树的高度低于红黑树)。
    AVL树适合用于插入与删除次数比较少,但查找多的情况;相对于要求严格的AVL树来说,红黑树的旋转次数少,所以对于搜索、插入、删除操作较多的情况下,我们就用红黑树。

    数据库主键和外键

    关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键
    外键是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。
    数据库索引就是数据库的数据结构!进一步说则是该数据结构中存储了一张表中某一列的所有值,也就是说索引是基于数据表中的某一列创建的。总而言之:一个索引是由表中某一列上的数据组成,并且这些数据存储在某个数据结构中。

    聚集索引和非聚集索引的区别

    聚集索引:索引中键值的逻辑顺序决定了表中相应行的物理顺序。
    非聚集索引:索引中索引的逻辑顺序与磁盘上行的物理存储顺序不同。
    聚集索引一定是唯一索引。但唯一索引不一定是聚集索引。
    聚集索引,在索引页里直接存放数据,而非聚集索引在索引页里存放的是索引,这些索引指向专门的数据页的数据。

    什么是索引?

    索引在MySQL中也叫做“键”或者"key"(primary key,unique key,还有一个index key),是存储引擎用于快速找到记录的一种数据结构。

    主键(PRIMARY KEY)”的完整称呼是“主键约束”。MySQL主键约束是一个列或者列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可以强制表的实体完整性。

    事务

    事务只和DML(insert、update、delete)语句有关,或者说DML语句才有事务
    事务四大特征(ACID)
    原子性(A):事务是最小单位,不可再分
    一致性©:事务要求所有的DML语句操作的时候,必须保证同时成功或者同时失败
    隔离性(I):事务A和事务B之间具有隔离性
    持久性(D):是事务的保证,事务终结的标志(内存的数据持久到硬盘文件中)

    start transaction
    DML语句
    commit

    回滚操作(事务失败)
    start transaction
    DML语句
    rollback

    mysql索引用了何种数据结构?用b树和b+树有什么特点?

    mysql用b+树的原因:

    1. 支持范围查询(b+树叶子节点保存树中所有叶子节点的内容(值),叶子节点通过双向链表链接,可以通过叶子节点进行范围查询,而b树为传统搜索树,只能通过树的遍历方式对特定内容进行查找,不支持范围查找)
    2. 查询效率稳定(b树在查找过程中只要找到匹配元素即可,无论匹配元素处于中间节点还是叶子节点,而b+树在查找过程中是一定要查找到叶子节点上的,因此查找效率是稳定的)
    3. 减少IO次数(由于b+树在非叶子节点中并不直接存放实际内容,所以非叶子节点中能够存放更多的内容,因此查询时IO次数也更少)

    redis使用场景

    项目场景:用户登录或注册时的验证码存储

    Mysql InnoDB内部存储结构:B+树

    展开全文
  • MySQL数据库:排序

    千次阅读 2019-04-02 19:53:06
    排序 为了方便查看数据,可以对数据进行排序 语法: select * from 表名 order by 列1 asc|desc,列2 asc|desc,… ...默认按照列值从小到大排列 asc从小到大排列,即升序 desc从大到小排序,即降序 ...
  • 数据库MySQL之排序

    2021-01-14 22:49:14
    排序 1. 排序查询语法 排序查询语法: select * from 表名 order by... 默认按照列值从小到大排列(即asc关键字) 例1:查询未删除男生信息,按学号降序: select * from students where gender=1 and is_delete=0
  • 数据库_mysql高级查询

    2021-02-21 17:17:22
    默认按照列值从小到大排列(即asc关键字) 排序使用order by关键字 2.分页查询 语法:select * from 表名 limit start,count 说明: limit是分页查询关键字 start表示开始行索引,默认是0 count表示查询条数...
  • 数据库检索学习

    2017-02-23 14:23:55
    还可以指定排序方式是升序(从小到大排列,ASC)还是降序(从大到小排列,DESC)  2、按照年龄升序排序所有员工信息的列表:SELECT * FROM T_Employees ORDER BY  Age ASC  3、按照年龄从大到小排序,...
  • 文章目录MySQL数据库排序聚合函数分组 MySQL数据库 排序 为了方便查看数据,可以对数据进行排序 语法: select * from 表名 order ...默认按照列值从小到大排列(asc) asc从小到大排列,即升序 desc从大到小排序...
  • 数据库查询----排序 为了方便查看数据,可以对数据进行排序 语法: select * from 表名 order by 列1 asc|desc [,列2 asc|...默认按照列值从小到大排列(asc) asc从小到大排列,即升序 desc从大到小排序,即降序 ...
  • 1.5排序 为了方便查看数据,可以对数据进行排序 语法: ... 默认按照列值从小到大排列 asc从小到大排列,即升序 desc从大到小排序,即降序 例1:查询所有学生信息,按年龄从小到大排序 select...
  • --asc 从小到大排列 --desc 从大到小排列 --查询18到34岁之间的男性,按照年龄从小到大排列 select * from students where (age between 18 and 34) and gender='男' order by age; --从大到小排列 select * from ...
  • 数据库查询----排序

    万次阅读 2018-05-27 09:19:11
    说明将行数据按照列1进行排序,如果某些行列1的值相同时,则按照列2排序,以此类推默认按照列值从小到大排列(asc)asc从小到大排列,即升序desc从大到小排序,即降序例1:查询未删除男生信息,按学号降序select * ...
  • 数据库一些小知识

    2017-07-18 17:43:00
    asc是指定列按升序排列 从小到大排序 desc则是指定列按降序排列 从大到小排序 select * from awhere order by order by 在where后面 where先执行过滤后的数据 在order by select top 50 percent * from 表名 ...
  • 其实,我们在数据库中,也能认为的制造一个for循环来查询数据,当我们查询一个表时,如果我们将整张表先按照一定的大小顺序排列的话,我们会得到一个从大到小,或者从小到大的一些数据,那么,当我们设置一...
  • 索引 B+ Tree 原理 数据结构 B Tree 指的是 Balance Tree,也就是平衡树,平衡树是一颗查找树,并且所有叶子节点位于同一层。...内部节点中的 key 都按照从小到大的顺序排列,对于内部节点中的一个 key,左子树中的
  • 数据库DQL表记录的查询 ...排序规则: ASC 升序(从小到大) 默认的 DESC 降序 C.案例: -- 按照数学成绩升序排列 SELECT * FROM 学生表 ORDER BY 数学成绩 ASC ; -- 先按照数学成绩升序排,数学成...
  • 1. 排序 select * from 表名 order by 列1 asc|...asc从小到大排列,即升序 desc从大到小排序,即降序 默认按照列值从小到大排序(即asc关键字) 例1:查询未删除男生信息,按学号降序: select * from students wher...
  • ![图片说明]... 车间的子节点是姓名,姓名有根据年龄从小到大排列,然后导出为XML文件,请问查询语句怎么写?现在着急着用只能求助各位大佬们了,其他的只能之后有时间再慢慢啃。
  • ** asc从小到大排列,即升序** desc从大到小排序,即降序 查询年龄在18到34岁之间的男性,按照年龄从小到到排序 select * from students where (age between 18 and 34) and gender=1; select * from ...
  • 1、ORDER BY子句位于SELECT语句的末尾,它允许指定按照一个列或者多个列进行排序,还可以指定排序方式是升序(从小到大排列,ASC)还是降序(从大到小排列,DESC)。 2、按照年龄升序排序所有员工信息的列表: ...
  • 关系型数据库在查询方面有一些重要特性,是KV型的数据库或者缓存所不具备的,比如: (1)范围查询。 (2)前缀匹配模糊查询。...(1)在叶子节点一层,所有记录的主键按照从小到大的顺序排列,并...
  • 比如,检索出来的水果价格均大于10元,然后对价格从小到大或者从大到小进行排序。 2.语法 升序排列:asc 【默认】 降序排列:desc select [列名1,列名2,...] from 表 where 条件表达式 order by 列名[asc/desc...
  • 文章目录100. python高级------MySQl数据库的条件查询(2 )python修炼第二十四天2019年 4月 23日 晴2. 排序3.聚合函数 100. python高级------MySQl数据库的条件查询(2 ) ...– asc从小到大排列,即升序 – des...
  • 数据库基础概论_B+树

    2018-12-19 21:10:15
    上一节我们讨论了所谓的B-树,什么是m阶B-树,说的是这样的树。 1.根节点至少有两个子女 ...5.每个节点中的元素从小到大排列,节点当中k-1个元素正好是k个孩子包含的元素的值域划分。(k-1个元素将k个孩子分割...
  • asc和desc 分别表示升序和降序 select * from tablename order by id desc ...:根据id字段按照升序排列从小到大 克隆表 DB2数据库中克隆表的方法如下 克隆表: create table 克隆表名 like 要克隆的
  • (2)从小到大排列 (3)去重 如果重复重新生成兑奖码 (4)1,2,3,4 和 4,3,2,1是一个兑奖码,需去重 -取四个不同的数while (count($arr)) { $arr[]=rand(1,33); }-去重复/*去重*/ $arr=array_unique($arr);-...
  • asc从小到大排列,即升序 desc从大到小排序,即降序 #年龄从大到小, 当年龄一样时,身高从低到高 select * from personinfo order by age desc,height asc; mysql> select * from personin...
  • 关键点在于比较中间位置所记录的关键字和给定值的比较,如果比给定值大(这里假设集合从小到大排列)那么可以缩小区间范围(集合开始-->中间位置的上一位),在比较该区间的中间位置所记录的关键字与

空空如也

空空如也

1 2 3 4
收藏数 77
精华内容 30
关键字:

数据库从小到大排列