当前位置: 首页 > 知识库问答 >
问题:

按升序ID在表中存储数据

龙玺
2023-03-14

我有一个程序,我必须从excel文件中读取数据并将其存储在数据库中。我使用LinkedHashmap将每个单元格作为字符串读取并存储它们。我的excel文件包含以下数据:

ID    Name        Salary
43    paulina     1000
5     christine   2349000
54    laura       12587458
49    jim         45878

在我的代码中,我在excel文件的第一行为表创建了字段,然后使用LinkedHashMap将其余数据填充到表中。我的问题是,在这一步中,如何将数据存储在表中,而不是以文件中的方式,而是通过提升ID。我搜索我可以用TreeMap做它,但具体如何?有人能帮我吗?

共有2个答案

江德海
2023-03-14

DBMS(如MySQL、Oracle等)的一个特点是每一行数据都是独立的。在DBMS中存储行没有自然顺序。

也就是说,当您使用SELECT语句检索行时,它们在结果集中呈现给您的顺序在形式上是不可预测的。如果希望以可预测的顺序显示行,请在SELECT语句中使用orderby子句。

某些DBMS技术出现了一种错觉,认为行是按特定顺序存储的。但是他们对此没有做出任何promise,除非您使用orderby,否则这种幻觉随时可能破灭。当一个表达到一定大小时,应用程序开始出现故障时,我以一种艰难的方式学会了这一点。

因此,在将行插入MySQL之前对行进行排序是浪费时间。让你的插入软件非常简单。当你把它们拿出来时,订购它们非常简单——使用ORDER BY

萧成文
2023-03-14

如果您的问题是如何为数据库排序,那么loki是对的:它不重要。如果你的问题是如何为节目订购。。。您可以使用TreeMap,它是一种快速的数据结构。您需要使结构中的对象实现可比较,或者需要使用比较器构建树映射。请阅读关于这两种语言的官方Java教程——两者都可以使用,只是编程风格略有不同。

 类似资料:
  • 我创建了这个随机生成的arraylist,它生成1-50个数字。我想按升序对生成的数字进行排序。不使用集合。sort,我如何使用ArrayList进行排序?

  • 问题内容: 我通过用户给定的参数对存储过程进行排序时遇到问题,我尝试阅读,但是尝试过的解决方案不起作用。 那么,有人可以帮助我吗?我希望可以从Group_concat中按类型对它进行排序。如果我以Harcoded形式输入它(例如,ORDER BY Type1,ORDER BY Type2等),它将起作用。但是我想要这样的东西(ORDER BY @specificStat)。 问题答案: 改用这个:

  • 我有数据。表中有大约300万行和40列。我希望在组内按降序对该表排序,如以下sql模拟代码: 数据中是否存在等效的方法。这张桌子可以吗?到目前为止,我必须将其分解为两个步骤: 这非常快,只需要几秒钟。 这一步需要更长的时间(5分钟)。 更新:有人评论要执行<code>X 我的方法是:setkey()然后是order(-Month) 我现在的问题是:如果我想按年、MemberId和一个又一个排序(年

  • 本文向大家介绍C语言 数据结构堆排序顺序存储(升序),包括了C语言 数据结构堆排序顺序存储(升序)的使用技巧和注意事项,需要的朋友参考一下 堆排序顺序存储(升序) 一: 完全二叉树的概念:前h-1层为满二叉树,最后一层连续缺失右结点! 二:首先堆是一棵全完二叉树: a:构建一个堆分为两步:⑴创建一棵完全二叉树      ⑵调整为一个堆 (标注:大根堆为升序,小根堆为降序)    b:算法描述:①创

  • 我有一个通用的链表,目前由int组成,我想在默认情况下按升序排序,然后切换一个布尔值,按降序排序。我该怎么做?

  • 本文向大家介绍程序在python中将给定的链表按升序排序,包括了程序在python中将给定的链表按升序排序的使用技巧和注意事项,需要的朋友参考一下 假设我们有一个链表。我们必须将列表按升序排序。 因此,如果输入像[5、8、4、1、5、6、3],则输出将为[1、3、4、5、5、6、8,] 为了解决这个问题,我们将按照以下步骤操作: 值:=一个新列表 头:=节点 当节点不为空时,执行 在值的末尾插入节

  • 我有一个列表我想按升序排序这个列表,但首先是奇数,然后是偶数,就像这样: 无排序功能 我试过这个但我得到一个错误 谢谢你的回应

  • 我在学校的任务是创建一个程序,以升序排列数组的值。它几乎就在那里,但每当我输入“44 55 66 22 33 11 77 99 88 66”或它输出的任何数字 -858993460,11,22,33,44,55,66,66,77,88,或开头为负数 第一个数字到底怎么了?我是不是缺了什么? 我对C++很陌生,我不太明白这里的问题。如果有什么建议我可以用请告诉他们。 }