SQL HQL JPQL CQL的对比

SQL(Structured Query Language)是关系数据库查询语言。from后面跟的是“表名”,where后用“表中字段”做条件
HQL(Hibernate Query Language)是面向对象的查询,from后面跟的是“表名”,where后用“表中字段”做条件。在Hibernate中使用查询时,一般用HQL查询语句。因为HQL是面向对象的,而对象类的名称和属性都是大小写敏感的,所以是大小写敏感的。
 JPQL(Java Presistence Query Language )是EJB3.0中的JPA造出来的对象查询语言。JPQL是完全面向对象的,具备继承、多态和关联等特性,和hibernate HQL很相似。基于首次在EJB2.0中引入的EJB查询语言(EJB QL),Java持久化查询语言(JPQL)是一种可移植的查询语言,旨在以面向对象表达式语言的表达式,将SQL语法和简单查询语义绑定在一起.使用这种语言编写的查询是可移植的,可以被编译成所有主流数据库服务器上的SQL.JPQL语句支持两种方式的参数定义方式: 命名参数和位置参数。。在同一个查询语句中只允许使用一种参数定义方式。

CQL ( Cloud Query Language)是 LeanCloud 为查询 API 定制的一套类似 SQL 查询语法的子集和变种,其目的是让开发者可以使用传统的 SQL 语法来查询 LeanCloud 云端数据,从而减少学习 LeanCloud 查询 API 的成本。与 SQL 的主要差异:不支持在 select 中使用 as 关键字为列增加别名。update 和 delete 不提供批量更新和删除,只能根据 objectId(where objectId=xxx)和其他条件来更新或者删除某个文档。不支持 join,关联查询提供 includerelatedTo 等语法来替代(关系查询)。仅支持部分 SQL 函数(内置函数)。不支持 group byhavingmaxminsumdistinct 等分组聚合查询语法。不支持事务。不支持锁。

 

原文地址:https://www.cnblogs.com/12qw/p/9042451.html

时间: 2024-10-16 14:27:56

SQL HQL JPQL CQL的对比的相关文章

SQL、HQL、JPQL、CQL的对比

SQL:全称结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统:同时也是数据库脚本文件的扩展名. HQL:HQL(Hibernate Query Language)查询相对于Criteria查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询在涵盖Criteria查询的所有功能的前提下,提供了类似标准SQL语句的

条件查询、SQL、JPQL、HQL比较

一.什么是JPQL 在 Java EE 中,JPQL( Java 持久性查询语言)是专门为Java 应用程序访问和导航实体实例设计的.JPQL是EJB2使用的查询语言EJB QL的扩展,它继承了EJB QL并对其做了一些改变. 二.JPQL与SQL PQL是面向对象的查询语言,因此它可以完全理解继承.多态和关联等特征.而且JPQL内置了大量函数,极大地方便了JPQL查询的功能.当然JPQL底层依然是基于SQL的,但JPQL到SQL的转换无须开发者关心,JPQL解析器会负责完成这种转换,并负责执行

MySQL的redo log结构和SQL Server的log结构对比

MySQL的redo log结构和SQL Server的log结构对比 innodb 存储引擎 mysql技术内幕 f 1 f 2 f 3 f 4 f 5 f 6 f 7 f sqlserver http://www.cnblogs.com/CareySon/p/3308926.html 事务对数据库中每次修改都会分解成多个多个原子层级的条目被记录到持久存储中,这些条目就是所谓的日志记录(Log Record),我们可以通过fn_dblog来查看这些条目.如图2所示. 图2.Fn_dblog 每

通过Velocity模板实现了Hibernate sql-query的动态(SQL/HQL)

一.简介 Hibernate对数据库结构提供了较为完整的封装,Hibernate的O/R Mapping实现了POJO 和数据库表之间的映射,以及SQL 的自动生成和执行.而MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架,MyBatis需要使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录.在编写比较复杂的动态SQL语句时,Mybatis的SQL是手动编写的,所以

Hibernate 拥有 Mybits 的SQL/HQL特性 (注解、XML两不误)

????第一次写博客.文章有点渣,喜欢就看看,不喜欢路过点个赞. ????效果:直接一条语句多种用法 ????FROM User A ???WHERE ???1=1 ???<#if id??> ??????<#if like??> ?????????and A.id like '%'||:id||'%' ??????<#else> ?????????and A.id=:id ??????</#if> ???</#if> ????先来原理 HQL/

SQL与NoSQL的CRUD对比

SQL与NoSQL的CRUD对比 flyfish 2015-7-21 Create, Read, Update and Delete (CRUD) SQL方式 查 SELECT 列名称 FROM 表名称 SELECT * FROM 表名称 SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 增 INSERT INTO 表名称 VALUES (值1, 值2,....) INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

SQL,HQL,CQL,JPQL了解

SQL(Structured Query Language)是关系数据库查询语言.from后面跟的是“表名”,where后用“表中字段”做条件 HQL(Hibernate Query Language)是面向对象的查询,from后面跟的是“表名”,where后用“表中字段”做条件.在Hibernate中使用查询时,一般用HQL查询语句.因为HQL是面向对象的,而对象类的名称和属性都是大小写敏感的,所以是大小写敏感的.  JPQL(Java Presistence Query Language )

条件查询,SQL,JPQL,HQL

JPQL是面向对象的查询语言,因此它可以完全理解继承.多态和关联等特征.而且JPQL内置了大量函数,极大地方便了JPQL查询的功能.当然JPQL底层依然是基于SQL的,但JPQL到SQL的转换无须开发者关心,JPQL解析器会负责完成这种转换,并负责执行这种转换的SQL语句来更新数据库. SQL是面向关系数据库的查询语言,因此SQL操作的对象是数据表.数据列:而JQPL操作的对象是实体对象,对象属性. HQL是面向对象的查询,from后面跟的是"表名",where后用"表中字段

mysql中select into 和sql中的select into 对比

现在有张表为student,我想将这个表里面的数据复制到一个为dust的新表中去. answer 01: create table dust select * from student;//用于复制前未创建新表dust的情况下 answer 02: insert into dust select * from student;//已经创建了新表dust的情况下 现在使用select..into..语句实现以上东东. MySQL不支持Select Into语句直接备份表结构和数据,一些种方法可以代