数据库

PostgreSQL upsert(插入更新)数据的操作详解

本文介绍如何使用PostgreSQL upsert特性插入或当被插入数据已存在则更新数据。 1. 介绍PostgreSQL upsert 在关系型数据库中,upsert是一个组合词,即当往表中插入记录,如果该记录已存在则更新,否则插入新记录。为了使用该特性...

sql中 order by 和 group by的区别

order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。 group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。 什么是“聚合函数”?...

SQL Server中数据行批量插入脚本的存储实现

无意中看到朋友写的一篇文章“将表里的数据批量生成INSERT语句的存储过程的实现”。我仔细看文中的两个存储代码,自我感觉两个都不太满意,都是生成的单行模式的插入,数据行稍微大些性能会受影响的。所在公司本来就存在第二个版本的类似实现,但是是基于多行模式的,还...

Windows下MySQL 8.0.29 安装和删除图文教程

Windows下MySQL的安装和删除,供大家参考,具体内容如下 安装Mysql 1 下载mysql 下载地址1;下载地址2 2 安装教程 2.1配置环境变量 变量名:MYSQL_HOME 变量值:D:\software\programming\envir...

PostgreSQL 中字段类型varchar的用法

PostgreSql数据库中varchar类型与sql server中字段用法有差别,PostgreSql中如果字段设置为varchar类型长度为10,则无论存字母、数字或其它符号,长度最大为10个,也就是字母和汉字占的位置是一样的。 Sql server...

Oracle批量执行sql语句之禁用所有表的外键

在转移数据库,进行数据导入的时候,遇到一件麻烦事,就是表间外键约束的存在,导致insert频频报错,批量执行sql语句又是顺序执行,没办法我只好手动输入。 然后输入到一半灵光一闪,为什么不先把外键约束全部禁用先呢? 于是我百度到以下资料: oracle 删...

MySQL索引事务详细解析

一、索引 1.概念 索引是一种特殊的文件,包含着对数据表里所有记录的引用指针,可以对表中的一列或者多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现. (这里对于索引也只是简单了解,写了些皮毛) 更浅显易懂的来说:数据库的数据保存在硬盘,硬盘不知...

Mysql 执行一条语句的整个过程详细

1.Mysql的逻辑架构 Mysql的逻辑架构如下所示,整体分为两部分,Server层和存储引擎层。 与存储引擎无关的操作都是在Server层完成的,存储引擎层负责数据的存取。 下面将会按照上图的过程分别介绍每一步的作用,这里以查询一条记录为例。 2.连接...

Sql Server中的事务介绍

1.什么是事务:事务是一个不可分割的工作逻辑单元,在数据库系统上执行并发操作时事务是做为最小的控制单元来使用的。    他包含的所有数据库操作命令作为一个整体一起向系提交或撤消,这一组数据库操作命令要么都执行,要么都不执行。  ...