数据库
文章平均质量分 76
数据库
CHQIUU
当你发现自己的才华撑不起野心时,就请安静下来学习吧
展开
-
如何对MySQL和MariaDB中的查询和表进行优化-提升查询效率
MySQL和MariaDB是数据库管理系统的流行选择。两者都使用SQL查询语言来输入和查询数据。尽管SQL查询是简单易学的命令,但并不是所有的查询和数据库函数都具有相同的效率。随着你存储的信息量的增长,如果你的数据库支持一个网站,随着网站的受欢迎程度的增加,这就变得越来越重要。在本指南中,我们将讨论一些可以提高MySQL和MariaDB查询速度的简单方法。我们假设您已经使用我们的指南安装了MySQL或MariaDB,该指南适合您的操作系统。提高查询速度的最基本方法之一是从表结构设计本身开始的。原创 2023-08-28 11:00:01 · 10532 阅读 · 0 评论 -
MySQL中到全外连接(full outer join)编写方法说明
这通常是一个很好的解决方案,但如果我们允许一个或两个表中的company_id为NULL,则会失败(完整的外连接将返回这些行,而前一个不会)。子句来删除重复项,但是如果其中一张表没有主键或唯一约束,或者所选列不是唯一的,那么它将失败。如果源表中已经存在重复项,则不会删除。在SQL中,同样的结果可以通过不同的方式实现,哪种方式最合适取决于个人喜好(或性能)。子句将两个查询组合起来,但这将返回一些重复的行(连接成功的所有行将返回两次)。(右连接不常见,因为它更难读,它相当于左连接,只是表的顺序发生了改变)。原创 2023-08-23 07:30:00 · 11089 阅读 · 0 评论 -
NoSQL数据库介绍及相关模型比较(如:键值数据库、列式数据库、文档数据库、图形数据库)
在本教程中,我们只介绍了目前使用的一些NoSQL数据模型。近年来,一些NoSQL模型(如对象存储)在不同程度上得到了使用,但在某些用例中仍然是关系模型的可行替代品。其他的数据库,如对象关系数据库和时间序列数据库,混合了关系和NoSQL数据模型的元素,形成了光谱两端的中间地带。原创 2023-08-23 08:15:00 · 11128 阅读 · 0 评论 -
SQLite、MySQL、PostgreSQL3个关系数据库之间的对比
数据库是对信息或数据进行逻辑建模的集群。另一方面,数据库管理系统(DBMS)是与数据库交互的计算机程序。DBMS允许你控制对数据库的访问、写入数据、执行查询以及执行与数据库管理相关的任何其他任务。虽然数据库管理系统通常被称为“数据库”,但这两个术语是不可互换的。数据库可以是任何数据集合,而不仅仅是存储在计算机上的数据。相比之下,DBMS特指允许您与数据库交互的软件。所有数据库管理系统都有一个底层模型,该模型对数据的存储和访问方式进行结构化。关系数据库管理系统是一种采用关系数据模型的DBMS。原创 2023-08-22 17:33:41 · 12485 阅读 · 0 评论 -
为什么 SQL 如此成功?分析 SQL 为什么如此成功的几个原因
SQL启发了非关系型数据库的查询语言设计:用于对象数据库的SQL、用于对象关系的SQL、用于XML的SQL、用于空间的SQL、用于搜索的SQL、用于JSON的SQL、用于时间序列的SQL、用于流的SQL等。十年后,每个流行的NoSQL数据库都有不同的SQL变体:Couchbase中的N1QL, Cassandra中的CQL, Elastic中的ElasticSearch SQL。”通过在MongoDB中使用一种简单的,有点过程化和临时的设计,查询松散的可组合性,优化和许多用SQL完成的创新。原创 2023-08-17 14:56:05 · 10229 阅读 · 0 评论 -
这是一篇关于SQL 脚本表间连接join的可视化说明
使用SQL合并两个数据集可以通过JOINS来完成。JOIN是查询的FROM子句中的SQL指令,用于标识要查询的表以及它们应该如何组合。通常,在关系数据库中,数据被组织到由属性(列)和记录(行)组成的各种表中。在每个表中存在一个列,该列是主键,该列中的每个条目唯一地表示该表中的单个行。这通常是ID(identifier的缩写)列。表中通过共享值与另一个表的主键建立关联的列称为外键。外键通常也是有标题的ID,但前面有被引用表的名称。当使用JOIN将两个或多个表组合在一起时,就应用了这个概念。在下面的例子中,我们原创 2023-08-14 16:20:19 · 10221 阅读 · 0 评论 -
将维基百科导入图形数据库的方法和步骤
能够将维基百科导入Neo4j数据库是不是很酷?Neo4j是NoSQL的一个代表,它是一个嵌入式,基于磁盘的,支持完整事务的Java持久化引擎,它在图像中而不是表中存储数据。Neo4j提供了大规模可扩展性,在一台机器上可以处理数十亿节点/关系/属性的图像,可以扩展到多台机器并行运行。相对于关系数据库来说,图形数据库善于处理大量复杂、互连接、低结构化的数据,这些数据变化迅速,需要频繁的查询——在关系数据库中,这些查询会导致大量的表连接,因此会产生性能上的问题。Neo4j重点解决了拥有大量连接的传统RDBMS原创 2021-07-09 13:57:17 · 10117 阅读 · 0 评论 -
Windows下安装图形数据库Neo4j说明(4.3.2压缩包方式)
Neo4j是一个世界领先的开源图形数据库。 它是由Neo技术使用Java语言完全开发的。Neo4j是NoSQL的一个代表,它是一个嵌入式,基于磁盘的,支持完整事务的Java持久化引擎,它在图像中而不是表中存储数据。Neo4j提供了大规模可扩展性,在一台机器上可以处理数十亿节点/关系/属性的图像,可以扩展到多台机器并行运行。相对于关系数据库来说,图形数据库善于处理大量复杂、互连接、低结构化的数据,这些数据变化迅速,需要频繁的查询——在关系数据库中,这些查询会导致大量的表连接,因此会产生性能上的问题。原创 2021-07-08 16:09:33 · 10394 阅读 · 58 评论 -
MySQL 中常用时间处理方法都在这里了(获取当前时间/格式化/转换/计算)
文章目录一、获取当前时间二、时间格式化三、时间格式化四、时间计算一、获取当前时间-- 获得当前日期+时间(date + time)函数:NOW()SELECT NOW(); -- 2021-07-02 16:42:18-- 获得当前日期+时间(date + time)函数:SYSDATE() SELECT SYSDATE(); -- 2021-07-02 16:42:18-- 获取当期时间戳SELECT CURRENT_TIMESTAMP() -- 2021-07-02 16:原创 2021-07-02 17:44:50 · 10449 阅读 · 24 评论 -
自己开发邮编查询,根据地址查邮编代码实现(JAVA)
文章目录前言一、数据准备二、代码实现1. 格式化地址对象2. mapper数据库查询代码3. 查询代码实现三、运行效果前言通过地址查询邮编处理步骤:1. 首先要对地址进行格式处理,去掉多余部分,某某路后面的部分不要,因为地址库中可能没有会查不到;2. 对省市县进行处理,去掉省市县(民族)后缀;3. 若提供的详细地址在库中查不到,则从地址尾部去掉一个字再查询,直到查询到数据为止;4. 使用Mysql全文检索(5.7以后的版本),提供查询精度;一、数据准备首先准备全国邮编数据库,这里我整理了原创 2021-06-30 11:11:36 · 11436 阅读 · 3 评论 -
MySQL数据库中,字符串拆分(如将英文姓名拆分为姓氏和名字两个字段)
文章目录前言处理办法前言在开发工作中,遇到这样一个问题,之前客户将用户英文姓名存储在一个字段中如:Bin ZHOU 或 Bruce THOMEAS 这种形式。后期客户又想将将姓氏和名字分开存,这样我们就需要对数据库进行变更。处理办法我们知道英文中一般是名字在前姓氏在后。代码如下(示例):-- 先通过查询将原先字符串进行拆分,其中first_name_en为名字,last_name_en 为姓氏SELECT `username_en`,REPLACE(`username_en`,CONCAT原创 2021-06-01 16:04:52 · 10692 阅读 · 1 评论 -
各种数据库中包含某个值的所表和字段的语句,支持Oracle、MySQL、SQLServer
在项目开发工作中,可能会遇到如敏感数据清理或者分析其他系统数据库数据结构的情况。这样就会用到通过某个特定的值去反向查询数据库,分析出该值在该数据库中的表和字段,以此为切入点了解该数据库的基本结构。这里整理了各个类型的数据库(Oracle、MySQL、SQLServer)中具体执行方法。原创 2021-05-21 09:38:47 · 10548 阅读 · 0 评论 -
MySQL主从复制配置说明,一文教你搞懂数据库主从复制
一,MySQL主从配置原理1. mysql支持的复制格式基于语句复制(STATEMENT) (优点)基于statement复制的优点很明显,简单的记录执行语句同步到从库执行同样的语句,占用磁盘空间小,网络传输快,并且通过mysqlbinlog工具容易读懂其中的内容 。 (缺点)并不是所有语句都能复制的比如:insert into table1(create_time) values(now()),取的是数据当前时间,不同的数据可能时间不一致,另外像存储过程和触发器也可能存在问题。原创 2020-12-17 11:25:23 · 10260 阅读 · 3 评论