JetBrains发布DataGrip 1.0——数据库与SQL领域中的瑞士军刀

本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2015/12/datagrip-released

近日,来自捷克的软件公司JetBrains发布了全新的重量级产品DataGrip 1.0——号称数据库与SQL领域中的瑞士军刀。DataGrip的前身0xDBE已经发布一年多的时间了,这也是JetBrains向广大用户提供的开发版本,每个版本都有一定的使用期限,过期后用户可以从JetBrains网站上下载新的开发版本。经过了长时间的开发后,全新的产品DataGrip 1.0终于问世。与JetBrains产品线上的其他产品类似,DataGrip也提供了Windows、Linux与Mac版本。此外,JetBrains的其他产品如Intellij IDEA等也都通过插件的方式集成了DataGrip,这使得开发者能够更加方便地操作数据库。

此次发布的DataGrip支持几乎所有主流的关系数据库产品,如DB2、Derby、H2、MySQL、Oracle、PostgreSQL、SQL Server、Sqllite及Sybase等,并且提供了简单易用的界面,开发者上手几乎不会遇到任何困难。目前市场上已经存在很多数据库客户端,如MySQL WorkBench、Toad、NaviCat、phpMyAdmin、Sequel Pro、SQLWave等等,这些既有的产品中,有些是免费的,有些则是收费的。不仅如此,很多开发者与数据库管理员已经习惯了自己所用的工具,那么DataGrip的到来会为大家带来哪些耳目一新的特性呢?

DataGrip的发布说明中写到:

在过去的一年半时间内,我们为该产品实施了Early Access Program(EAP),那时产品的名字还叫做0xDBE。现在是时候推出最终版本了。我们对那些积极反馈意见的热心体验者表示诚挚的感谢,同时也期待大家能对后续的版本建言献计,让我们一起将DataGrip打造成一款完美的数据库产品。

DataGrip的主要特性如下所示:

提供了对主流数据库管理系统的访问

  • 市场上的重量级产品:Oracle、SQL Server、DB2与Sybase
  • 社区流行产品:MySQL、PostgreSQL
  • 小众产品:SQLite、Apache Derby、HyperSQL与H2

修改数据库对象并自动生成脚本

DataGrip提供了一个UI用以执行诸如创建/修改表、管理列、键与索引的操作。可以立即执行生成的代码,也可以在文本编辑器中打开,并直接操作DDL脚本。DataGrip提供了上下文感知的代码完成特性,能够帮助你更快地编写SQL代码。代码完成可以感知到表结构、外键,甚至是正在编辑的代码中所创建的数据库对象。DataGrip可以检测到代码中潜在的Bug,并即时提供最佳的修复建议。它能够立刻让你知道无法解析的对象,并且总能提供问题的修复建议。

高效编写SQL并消除重复的编码工作

借助于DataGrip,你可以通过代码完成特性更快地编写代码。只需输入数据库对象、标识符或是变量的名字即可,DataGrip会提供一个匹配的列表。DataGrip能够感知到完成JOIN从句所需的依赖,并提供函数与过程所需的参数类型,还可以给出INSERT语句的表结构。DataGrip提供了Live Templates用以生成语句的常见部分,你可以使用默认值,也可以创建新值。

在代码间导航并在输入时进行重命名

DataGrip能够解析出SQL文件中的对象引用。如果对变量或是别名进行了重命名,那么所有用到他们的地方都会相应地进行重命名。如果在SQL中重命名了数据库对象,实际的数据库中也会进行重命名。DataGrip能够正确解析出SQL代码中所有的引用,并帮助你对其进行重构。

IDE会展示出对象(表、列等等)的使用,还会在专门的视图中展示出变量。导航工具可以帮助你在编辑器、模式视图等各种上下文中选择对象。

处理数据并探索关系

你可以通过强大的表编辑器添加、删除、以及克隆数据行。通过过滤文本域可以只查看所需的数据,而无需编写WHERE字句。寻找所需数据的另一种方式是使用文本搜索。如果不知道哪一列包含了你所要寻找的数据,那么文本搜索就是一项非常有用的功能了。可以在文本搜索中使用正则表达式。通过外键数据导航可以转到当前行所引用的数据,反之亦然。

分析查询与比较结果

在单击Execute按钮时可以选择让DataGrip做什么事情——执行子查询、执行外部查询,或是执行整个脚本。只想执行特定的一部分代码?只需将其选中并执行即可。DataGrip还提供了执行计划,其结果集类似于表编辑器,包含了相同的选项,如添加/删除行、文本搜索与数据导航等。可以在diff查看器中比较两个结果集。

DataGrip基于IntelliJ Platform,带来了:

  • 拥有多种光标与语法感知选择的文本编辑器
  • 版本控制系统集成:Git、Subversion、Mercurial等等
  • 插件生态圈:Terminal、Textmate等等

感兴趣的读者可以通过这里了解到关于CSV编辑器、图表、参数化查询等的更多信息。

下面是关于DataGrip的一些FAQ,便于让读者了解DataGrip的情况:

DataGrip是通过JetBrains ToolBox的形式作为“All Products”包的一部分么?

是的,它既是一个Single IDE,也是“All Products”的一部分。如果已经有了“All Products”,那么你就可以使用DataGrip了。

DataGrip是不是重复了JetBrains的其他IDE中数据库工具的功能?

没错,第一个版本主要关注于核心功能。

我可以在DataGrip中使用上面没有列出的SQL方言么?

可以,JDBC驱动是唯一之所需。

是否有计划提供存储代码调试、管理工具与NoSQL特性?

有的,我们会在未来的版本中增加进这些功能。

我可否向你们提供反馈呢?

当然了!请通过网站的反馈表单、问题追踪器、社区论坛与Twitter向我们递交反馈,我们非常欢迎。

DataGrip一经发布,立刻在国外各大论坛与讨论组中引起了人们的广泛兴趣。很多人都对其赞不绝口。值得一提的是,就在前不久,JetBrains更新了旗下的所有产品,如PyCharm、RubyMine、AppCode、WebStorm等,并且使用了新的Logo,网站也进行了改版。

尽管现在已经有相当数量的免费数据库客户端,但JetBrains依然对自己提供的收费产品DataGrip充满了信心。感兴趣的读者可以试用DataGrip,它提供了30天的免费试用期。相信会给你带来不一样的感觉。

时间: 2024-10-09 21:03:11

JetBrains发布DataGrip 1.0——数据库与SQL领域中的瑞士军刀的相关文章

SQL语句创建数据库,SQL语句删除数据库,SQL语句创建表,SQL语句删除表,SQL语句添加约束,SQL语句删除约束

创建数据库: 1 CREATE DATABASE Test --要创建的数据库名称 2 ON PRIMARY 3 ( 4 --数据库文件的具体描述 5 NAME='Test_data', --主数据文件的逻辑名称 6 FILENAME='E:\project\Test_data.mdf', --主数据文件的物理名称 7 SIZE=5MB, --主数据文件的初始大小 8 MAXSIZE=100MB, --主数据文件的增长的最大值 9 FILEGROWTH=15% --主数据文件的增长率 10 )

????SQL Server中默认数据库和默认表的作用

我们知道Oracle数据库的安装架构可以是1个数据库对应1个或多个实例.而在SQL Server中,其架构和Oracle 完全相反,它是1个实例(默认实例名为Hostname主机名)下面包含多个数据库,在sqlserver数据库中(2000,2005,2008等),主要包含4个默认的数据库,分别是master数据库.model数据库.tempdb数据库和msdb数据库.这些数据库是SQL Server的心脏和灵魂.另外,还默认安装了两个实例数据库,分别是:northwind数据库和pubs数据库

sql server中的系统数据库

1.master数据库 master是SQL Server中最重要的数据库,是整个数据库服务器的核心.用户不能直接修改该数据库,如果损坏了master数据库,整个SQL Server服务器将不能工作.该数据库中包含以下内容:所有用户的登陆信息.用户所在的组.所有系统的配置选项.服务器中本地数据库的名称和信息.SQL Server的初始化方式等.作为一个数据库管理员,应该顶起备份master数据库. 2.model数据库 model数据库是SQL Server中创建数据库的模板,如果用户希望创建的

SQL Server 中的三种分页方式

USE tempdb GO SET NOCOUNT ON --创建表结构 IF OBJECT_ID(N'ClassB', N'U') IS NOT NULL DROP TABLE ClassB GO CREATE TABLE ClassB(ID INT PRIMARY KEY, Name VARCHAR(16), CreateDate DATETIME, AID INT, Status INT) CREATE INDEX IDX_CreateDate ON ClassB(CreateDate)

Sql Server中判断表、列不存在则创建的方法[转]

一.Sql Server中如何判断表中某列是否存在 首先跟大家分享Sql Server中判断表中某列是否存在的两个方法,方法示例如下: 比如说要判断表A中的字段C是否存在两个方法: 第一种方法  ? 1 2 3 4 5 6 7 8 IF EXISTS (  SELECT 1 FROM SYSOBJECTS T1  INNER JOIN SYSCOLUMNS T2 ON T1.ID=T2.ID  WHERE T1.NAME='A' AND T2.NAME='C'  )  PRINT '存在'  E

Sql Server Compact 4.0数据库部署安装

Sql Server Compact 4.0相比3.5版本增强了很多,支持Entity Framework 4.1,对于轻量级应用来讲,使用Sql Server Compact 4.0是个很好的选择,而且部署相当方便,不需要 Sql Server Compact 4.0的安装包,仅需要发布相关的dll以及web.config配置即可. 开发环境下,需要安装 vs2010 sp1 Microsoft SQL Server Compact 4.0 Visual Studio 2010 SP1 Too

Microsoft-PetSop4.0(宠物商店)-数据库设计-Sql

ylbtech-DatabaseDesgin:Microsoft-PetSop4.0(宠物商店)-数据库设计-Sql DatabaseName:PetShop(宠物商店) Model:宠物商店网站 Type:专业网站 Url: 1.A,数据库关系图(Database Diagram) 返回顶部 1.B,数据库设计脚本(Database Design Script) - 批处理创建数据返回顶部 1.B.1,Creating Database... 1.B.1.1,Sql/CreateDatabas

转---SQL SERVER 2008 利用发布订阅方式实现数据库同步

转自:http://www.cnblogs.com/lxblog/archive/2012/11/08/2760650.html 数据库同步方式有很多种,这里以SQL Server 2008 为例利用数据库发布和订阅的方式来演示数据库的同步技术.由于就有一台计算机,只能在同一个服务器下两个不同的数据库之间进行数据同步进行演示. 首先我们在SQL Server 中建立两数据库 Lx_Data1 和 LxData2,并在两数据库中分别建立表t_student,脚本如下: CREATE TABLE t

SQL 2005 中查询或执行另外的数据库操作的方法

原文:SQL 2005 中查询或执行另外的数据库操作的方法 摘要: 如果,你想在一台数据库服务器上,查询另一个台数据服务器的数据该如何做呢?如果,你想在同一台数据服务器上,在不同的数据库之间查询数据,又该怎么办呢? 1.Synonym 2.openquery 3.Linked Servers Server Object-->Linked Servers--> serverType 选择 SQL Server, 在 Security 中 选择"Be made using this se