首页
学习
活动
专区
圈层
工具
发布

JSONB操作:PG里玩转半结构化数据,查询更新真方便

不过别担心,JSONB的核心功能在PG 9.4之后的版本里就很成熟了,大部分操作都是通用的。你可以在DataGrip的查询控制台里执行 SELECT version();看看你的版本。...-- 在DataGrip的查询控制台执行 -- 创建一个商品表 CREATETABLE products ( id SERIALPRIMARYKEY,-- 自增ID,主键 name VARCHAR...-- VARCHAR(255): 存最多255个字符的字符串。 -- TIMESTAMPTZ: 带时区的时间戳,可以避免时区混乱问题。 表建好了,咱们来插几条数据进去,模拟一下真实的商品信息 。...之后,你再用@>去查询,PG就能通过索引秒级定位到数据,而不是傻傻地去扫描整张表 。 记住:只要你准备在JSONB字段上频繁使用@>、?、?|或?&这些操作符进行查询,一定要创建GIN索引!...作为一名立志成为优秀DBA的“IT咸鱼”,熟练掌握JSONB绝对能让你的技术栈更有深度。 今天的分享就到这里,赶紧打开你的DataGrip亲自敲一遍试试吧!实践出真知,我们下期再见!

60810
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    咸鱼翻身记:DataGrip里玩转BEGINCOMMITROLLBACK,PostgreSQL事务稳如狗!

    环境准备: 数据库:PostgreSQL (已安装好,假设库名 ,表accounts:字段 id (主键), name, balance) 连接工具:DataGrip(实测截图走起!)...目标表数据预览(在DataGrip里双击表名就能看到): id name balance 1 咸鱼A 1000 2 咸鱼B 500 步骤1:打开DataGrip,连上你的PostgreSQL(参考咸鱼之前发的连接教程图...在DataGrip里,你现在查accounts表,可能会看到数据变了(A:900, B:600)。但这只是你当前事务里看到的!别人还看不到!因为还没提交!...假设你在BEGIN;之后执行操作时出错了,或者你执行完UPDATE后发现转错人了!怎么办?吃后悔药ROLLBACK;!...(假设表名拼错了)。事务里只要有一条语句失败,整个事务就失败了! 吃后悔药 - ROLLBACK;: -- 咸鱼提示:看到报错别慌!执行这行,撤销这个事务里所有的操作!

    46700

    再见,Navicat!这个IDEA的兄弟,大赞!

    写在最前面 我相信,当你第一眼看到 DataGrip 的时候,同样也会有一种惊艳的感觉,就像刚从Eclipse切换到IDEA的时候,除了被他的外观所吸引外,当你尝试着使用之后,也会被他丰富的快捷键和强大的功能所折服...建库 DataGrip中schemas作为数据库标识,右键“schemas” -> new -> schema,起一个数据库名。...建表 右键选中数据库 -> new -> table 创建表,选中id作为自增id,非空,主键,同时会生成相应的DDL,可以一边操作,一边查看SQL建表语句,掌握SQL语法。...,行转列,批量注释,多光标操作,大小写自动转换,多行同时编辑,sql执行logs,自动检测sql正确性和表,字段的正确性等。...其次,DataGrip也是30天试用期,过期需要付费。

    2.1K20

    一文带你快速上手MySQL并了解什么是DDL和DML!

    2、MySQL数据模型 & SQL简介 2.1 概述 关系型数据库(RDBMS): 建立在关系模型基础上,由多张相互连接的二维表组成的数据库。...字段n 字段类型 [约束] [ comment 字段n注释] ) [comment 表注释]; 2)约束 约束是作用于表中字段上的规则,用于限制存储在表中的数据 目的:保证数据库中数据的正确性、有效性和完整性...个字符空间。...性能高但浪费空间(以空间换时间) 2、变长字符串:如 varchar(10),最多只能存10个字符,不足10个字符,按照实际长度存储。...rename table 表名 to 新表名; 删除 1)删除表 drop table [if exists] 表名; 注:在删除表时,表中的全部数据也会被删除。

    1.5K41

    IDEA 官方数据库管理神器,比 Navicat 还香?

    DataGrip 的智能提示非常爽,无论是标准的 sql 关键字,还是表名、字段名,甚至数据库特定的字段,都能提示,不得不感叹这智能提示太强大了,Intellij IDEA 的智能提示也是秒杀 eclipse...顶部可以填写表名、表注释,中间可以点击右侧绿色+号添加列,列类型 type 也是能自动补全,default 右侧的消息框图标点击后能对列添加注释,旁边的几个 tab 可以设置索引及外键 所有这些操作的...sql 关键字上,比如表名、字段名称、或者是函数名上,鼠标会变成手型,关键字会变蓝,并加了下划线,点击,会自动定位到左侧对象树,并选中点击的对象 快速导航到指定的表、视图、函数等 在 datagrip...Ctrl+Q 快捷键 变量重命名 鼠标点击需要重命名的变量,按下 Shift+F6 快捷键,弹出重命名对话框,输入新的名称 自动检测无法解析的对象 如果表名、字段名不存在,datagrip 会自动提示...,此时对着有问题的表名或字段名,按下 Alt+Enter,会自动提示是否创建表或添加字段 权限定字段名 对于查询使用表别名的,而字段中没有使用别名前缀的,datagrip 能自动添加前缀,鼠标停留在需要添加别名前缀的字段上

    3.3K10

    IDEA 的 DataGrip 太吊了

    DataGrip的智能提示非常爽,无论是标准的sql关键字,还是表名、字段名,甚至数据库特定的字段,都能提示,不得不感叹这智能提示太强大了,Intellij IDEA的智能提示也是秒杀eclipse。...顶部可以填写表名、表注释,中间可以点击右侧绿色+号添加列,列类型type也是能自动补全,default右侧的消息框图标点击后能对列添加注释,旁边的几个tab可以设置索引及外键 所有这些操作的DDL都会直接在底部显示...,鼠标会变成手型,关键字会变蓝,并加了下划线,点击,会自动定位到左侧对象树,并选中点击的对象 2、快速导航到指定的表、视图、函数等: 在datagrip中,使用Ctrl+N快捷键,弹出一个搜索框,输入需要导航的名称...F6快捷键,弹出重命名对话框,输入新的名称 2、自动检测无法解析的对象 如果表名、字段名不存在,datagrip会自动提示,此时对着有问题的表名或字段名,按下Alt+Enter,会自动提示是否创建表或添加字段...select 查询所有列,这是不好的习惯,datagrip能快速展开列,光标定位到后面,按下Alt+Enter快捷键 5、大写自动转换 sql使用大写形式是个好的习惯,如果使用了小写,可以将光标停留在需要转换的字段或表名上

    3.7K30

    JetBrains出品,一款好用到爆的数据库工具,惊艳到了!!!

    之前试用的客户端工具是dbvisualizer,但是在试用了DataGrip以后,我就决定抛弃dbvisualizer。...DataGrip的智能提示非常爽,无论是标准的sql关键字,还是表名、字段名,甚至数据库特定的字段,都能提示,不得不感叹这智能提示太强大了,Intellij IDEA的智能提示也是秒杀eclipse。...顶部可以填写表名、表注释,中间可以点击右侧绿色+号添加列,列类型type也是能自动补全,default右侧的消息框图标点击后能对列添加注释,旁边的几个tab可以设置索引及外键 所有这些操作的DDL都会直接在底部显示...「2、快速导航到指定的表、视图、函数等:」 在datagrip中,使用Ctrl+N快捷键,弹出一个搜索框,输入需要导航的名称,回车即可 ?...2、自动检测无法解析的对象 如果表名、字段名不存在,datagrip会自动提示,此时对着有问题的表名或字段名,按下Alt+Enter,会自动提示是否创建表或添加字段 ?

    2.2K10

    DataGrip 保姆级教程 !

    DataGrip的智能提示非常爽,无论是标准的sql关键字,还是表名、字段名,甚至数据库特定的字段,都能提示,不得不感叹这智能提示太强大了,Intellij IDEA的智能提示也是秒杀eclipse。...顶部可以填写表名、表注释,中间可以点击右侧绿色+号添加列,列类型type也是能自动补全,default右侧的消息框图标点击后能对列添加注释,旁边的几个tab可以设置索引及外键 所有这些操作的DDL都会直接在底部显示...,鼠标会变成手型,关键字会变蓝,并加了下划线,点击,会自动定位到左侧对象树,并选中点击的对象 2、快速导航到指定的表、视图、函数等: 在datagrip中,使用Ctrl+N快捷键,弹出一个搜索框,输入需要导航的名称...快捷键,弹出重命名对话框,输入新的名称 9、自动检测无法解析的对象 如果表名、字段名不存在,datagrip会自动提示,此时对着有问题的表名或字段名,按下Alt+Enter,会自动提示是否创建表或添加字段...select 查询所有列,这是不好的习惯,datagrip能快速展开列,光标定位到后面,按下Alt+Enter快捷键 12、大写自动转换 sql使用大写形式是个好的习惯,如果使用了小写,可以将光标停留在需要转换的字段或表名上

    9K12

    DataGrip玩转PostgreSQL:插入修改删除数据,点几下就行?

    Database:你要连的具体数据库名。 User/Password:你的数据库用户名和密码。 Driver:DataGrip一般会自动下载匹配的JDBC驱动,超贴心!...在DataGrip里? 找到你的表:在左侧Database面板展开,找到你的数据库 -> Schemas (一般是public) -> Tables -> 双击你要操作的表名(比如users)。...在DataGrip表视图中添加新行并提交(此处插入DataGrip打开users表视图的截图,清晰标注出:1. +添加行按钮位置 2. 新增的空白行 3. Submit提交按钮位置) 这就插进去了?...DataGrip在背后默默帮你生成了正确的INSERT语句并执行了。提交前也可以点Preview看看它生成的是啥SQL。重要提醒:不点Submit,数据只是在DataGrip内存里,不会进数据库!...定位到要删的行:在users表数据视图里,找到你想干掉的那行数据。 选中行:点击该行最左侧的行号区域(整行会高亮)。 删除:找到工具栏上或者数据区域下方的 -号按钮(删除行),点它!

    1.8K10

    卸载 Navicat!事实已证明,正版客户端,它更牛逼……

    顶部可以填写表名、表注释,中间可以点击右侧绿色+号添加列,列类型type也是能自动补全,default右侧的消息框图标点击后能对列添加注释,旁边的几个tab可以设置索引及外键所有这些操作的DDL都会直接在底部显示...查看表的模型图:右键单击表名->最下面选择Diagrams->选择Show Visualisation(快捷键:Ctrl+Alt+Shift+U) ?...快速导航到指定的表、视图、函数等: 在datagrip中,使用Ctrl+N快捷键,弹出一个搜索框,输入需要导航的名称,回车即可 全局搜索 连续两次按下shift键,或者鼠标点击右上角的搜索图标,弹出搜索框...,可以切换成列显示,在结果集视图区域使用Ctrl+Q快捷键 变量重命名 鼠标点击需要重命名的变量,按下Shift+F6快捷键,弹出重命名对话框,输入新的名称 自动检测无法解析的对象 如果表名、字段名不存在...,datagrip会自动提示,此时对着有问题的表名或字段名,按下Alt+Enter,会自动提示是否创建表或添加字段 权限定字段名 对于查询使用表别名的,而字段中没有使用别名前缀的,datagrip能自动添加前缀

    6.3K10

    发现一款好用到爆的数据库工具,被惊艳到了!

    DataGrip的智能提示非常爽,无论是标准的sql关键字,还是表名、字段名,甚至数据库特定的字段,都能提示,不得不感叹这智能提示太强大了,Intellij IDEA的智能提示也是秒杀eclipse。...顶部可以填写表名、表注释,中间可以点击右侧绿色+号添加列,列类型type也是能自动补全,default右侧的消息框图标点击后能对列添加注释,旁边的几个tab可以设置索引及外键 所有这些操作的DDL都会直接在底部显示...,关键字会变蓝,并加了下划线,点击,会自动定位到左侧对象树,并选中点击的对象 「2、快速导航到指定的表、视图、函数等:」 在datagrip中,使用Ctrl+N快捷键,弹出一个搜索框,输入需要导航的名称...表的主键id,在查询classroom表数据的时候,可以在id字段上右键,go to,referencing data 选择要显示第一条数据还是显示所有数据 会自动打开关联表的数据 相反,查询字表的数据时...鼠标点击需要重命名的变量,按下Shift+F6快捷键,弹出重命名对话框,输入新的名称 2、自动检测无法解析的对象 如果表名、字段名不存在,datagrip会自动提示,此时对着有问题的表名或字段名,按下

    1.3K20

    DataGrip,一款数据库客户端工具,IDEA的兄弟是真香!

    如果没有查询结果的话,双击表名打开默认查询也是可以的。...---- 3.新建表 要新建表也是相当简单、智能,选中数据库连接,点击“+”号下选择 Table 在新打开的窗口中,可以填写表信息,顶部可以填写表名、表注释,中间可以点击右侧绿色+号添加列,列类型 type...编辑完成后,点击右下角Execute执行 ---- 4.数据导出 DataGrip 的导出功能也是相当强大,选择需要导出数据的表,右键 -> Export Data To File 还可以在查询结果视图中点击下载按钮导出...---- ---- 2.快速导航到指定的表、视图、函数等 在 DataGrip 中,使用 Ctrl+N 快捷键,弹出一个搜索框,输入需要导航的名称,回车即可。...---- 7.自动检测无法解析的对象 如果表名、字段名不存在,DataGrip 会自动提示,此时对着有问题的表名或字段名,按下 Alt+Enter,会自动提示是否创建表或添加字段。

    3.8K31

    除了Navicat:正版 MySQL 客户端,真香!

    DataGrip的智能提示非常爽,无论是标准的sql关键字,还是表名、字段名,甚至数据库特定的字段,都能提示,不得不感叹这智能提示太强大了,Intellij IDEA的智能提示也是秒杀eclipse。...顶部可以填写表名、表注释,中间可以点击右侧绿色+号添加列,列类型type也是能自动补全,default右侧的消息框图标点击后能对列添加注释,旁边的几个tab可以设置索引及外键 所有这些操作的DDL都会直接在底部显示...,关键字会变蓝,并加了下划线,点击,会自动定位到左侧对象树,并选中点击的对象 2、快速导航到指定的表、视图、函数等: 在datagrip中,使用Ctrl+N快捷键,弹出一个搜索框,输入需要导航的名称,...id,在查询classroom表数据的时候,可以在id字段上右键,go to,referencing data 选择要显示第一条数据还是显示所有数据 会自动打开关联表的数据 相反,查询字表的数据时...鼠标点击需要重命名的变量,按下Shift+F6快捷键,弹出重命名对话框,输入新的名称 2、自动检测无法解析的对象 如果表名、字段名不存在,datagrip会自动提示,此时对着有问题的表名或字段名,按下

    4.8K30

    再见,Navicat!同事安利的这个IDEA的兄弟,真香!

    img 「DataGrip 的智能提示非常爽,无论是标准的 sql 关键字,还是表名、字段名,甚至数据库特定的字段,都能提示,不得不感叹这智能提示太强大了,Intellij IDEA 的智能提示也是秒杀...新建表 要新建表也是相当简单、智能,选中数据库连接,点击绿色+号下选择 table ? 在新打开的窗口中,可以填写表信息 ? 我就问你看到这个窗口兴奋不兴奋!!!...顶部可以填写表名、表注释,中间可以点击右侧绿色+号添加列,列类型 type 也是能自动补全,default 右侧的消息框图标点击后能对列添加注释,旁边的几个 tab 可以设置索引及外键 所有这些操作的...快速导航到指定的表、视图、函数等 在 datagrip 中,使用 Ctrl+N 快捷键,弹出一个搜索框,输入需要导航的名称,回车即可 ?...自动检测无法解析的对象 如果表名、字段名不存在,datagrip 会自动提示,此时对着有问题的表名或字段名,按下 Alt+Enter,会自动提示是否创建表或添加字段 ?

    5.1K10

    MySQL数据库基础学习(八)

    而目前mysql主流的图形化界面工具,有以下几种: 而本次课程中,选择最后一种DataGrip,这种图形化界面工具,功能更加强大,界面提示更加友好,是我们使用MySQL的不二之选。...添加数据源 参考图示, 一步步操作即可 配置以及驱动jar包下载完毕之后,就可以点击 "Test Connection" 就可以测试,是否可以连接MySQL,如果出现 "Successed",就表名连接成功了...展示所有数据库 连接上了MySQL服务之后,并未展示出所有的数据库,此时,我们需要设置,展示所有的数据库,具体操作如下: 3)....创建表 在指定的数据库上面右键,选择new --> Table 5). 修改表结构 在需要修改的表上,右键选择 "Modify Table..."...如果要修改表名,或表的注释,直接在输入框修改,然后点击Execute即可。

    54210

    GPDB - 内核特性 - 分区表如何处理表名超长

    但当分区表名超过64字符时,会进行截断,仅保留前63字符,此时就可能出现分区表名不同,截断后创建的分区表名相同从而创建失败的情况;还会出现分区表父表创建成功,但分区子表名创建失败,报表名已存在等错误导致创建失败...本文基于GreenPlum7.0分区表经典语法详细分析分区表名及分区子表名生成机制。 1、分区表名超过64字符 在语法解析阶段将分区表名进行截断,保留前63个字符,并将第64个字符赋予”\0”。...当三者超过63字符(最后一个字符需要保存为\0)就会发生截断,其中prt_partname部分不会截断,总是会保留下来;parentname和level两个截断长度较长者,知道三者长度最长不超过63字符...比如冲突了23次,则形成分区表名为:parentname_level_prt_partnum23 生成分区表名后,通过heap_create_with_catalog创建磁盘文件前,首先根据分区表名在pg_class...和pg_type中进行校验,若分区表名已存在则报错退出,否则创建成功后向pg_class中插入一条记录,pg_type中插入2条记录,其typname分别为分区表名和”_分区表名”,当然若超过63字符则分区表名会截断

    30110

    【MySQL】图形化界面工具DataGrip安装&配置&使用

    本章主要内容面向接触过C++ Linux的老铁 主要内容含: 引入; 我们之前的操作都是在MySQL的命令行中执行 在企业开发中,一般都是用图形化界面工具 主要的图形化界面工具有下面三种,DataGrip...相对更好用一些 一.安装DataGrip 安装包放在资源区,大家可自行下载/官网下载 挨个点击next 桌面选择创建图表 默认jetbrain,点击install 完成安装 二.配置DataGrip...点击…展开数据库 我们点击 0 of 6,再选择“展示所有数据库” 最后再点击刷新 数据库展现成功 三.DataGrip操作 1.在DataGrip中创建【数据库&表】 右击 MySQL,如图所示逐步操作...添加表名/注释信息 添加字段 最后点击excute,发现创建SQL脚本完成 PS:脚本是一种用于自动化执行特定任务的计算机程序。...再次点击excute,表创建成功 2.在DataGrip中修改【数据库&表】 右击创建好的表,找到Modify 直接操作即可 3.不通过图形化界面,自己用SQL语句创建 点击创建的库 区分

    2.5K10

    DataGrip 2023.3 新功能速递!

    该可视化功能可用于所有三种类型的网格: 主选项卡:在打开表、视图或 CSV 文件时,在分割模式下显示图表。 结果选项卡:在 服务 工具窗口中观察查询结果时,可以显示图表而不是网格。...4 自动生成表名 此按钮会自动生成来自源文件的表名。如果重命名表但想要恢复到其默认名称,则此按钮可能会有用。 5 简化列名 当原始列名包含空格时,此操作可能很有用。...将数字呈现为 UNIX 时间戳 在 UNIX 时间戳 格式中,时间戳被存储为数字,表示自1970年1月1日(UTC)以来经过的毫秒数。DataGrip 现在支持这种格式。...SQL Server 对通过 BCP 导入/导出表的支持 为 BCP 工具添加了支持,可以在 SQL Server 中导出和导入表。...在结果包含多个 ref 游标或除 ref 游标之外的其他内容的更复杂情况下,DataGrip将显示主结果并为您提供查看其他 ref 游标结果的机会。

    2.4K20
    领券