SQL과 HQL의 차이점

Anonim

SQL과 HQL 를 관리하는 데이터베이스 언어입니다 > 구조화 된 쿼리 언어는 SQL로 널리 알려져 있으며, 관계형 데이터베이스 관리 개념을 사용하여 데이터를 관리하는 데이터베이스 언어입니다. 데이터 관리에는 select (단일 또는 다중 테이블에서 데이터 검색), REPLACE (테이블에 하나 이상의 행 추가), update (테이블에서 하나 이상의 행 값 변경), delete 테이블에서 하나 이상의 행 삭제에 책임이 있음) 및 쿼리를 통한 스키마 생성.

HQL (Hibernate Query Language)은 객체 지향 프로그래밍의 개념을 기존 SQL로 확장합니다. 배우기 쉽고 SQL 구문과 비슷합니다. 집계 함수 및 SQL에서 자주 볼 수있는 by by or order by by와 같은 기능이 있습니다.

HQL의 일부 기능:

이것은 객체 지향 프로그래밍의 기본이되는 객체 및 속성의 형태로 SQL 쿼리를 나타냅니다.

쿼리 결과는 일반 데이터가 아니라 프로그래밍 방식으로 수정할 수있는 개체의 조합입니다. HQL은 심지어 자식 결과를 쿼리 결과의 일부로 반환합니다.

페이지 매김, 동적 프로파일 링 등과 같은 개념을 포함합니다. SQL 개발자들에게는 알려지지 않았습니다.

런타임시 SQL 쿼리로 변환되는 데이터베이스 유형 독립 쿼리를 HQL로 작성합니다.

상속을 포함한 모든 OOP 개념을 구현합니다.

SQL과 HQL의 차이점:

SQL은 관계형 데이터베이스 모델을 기반으로하는 반면 HQL은 객체 지향 프로그래밍과 관계형 데이터베이스 개념을 결합한 것입니다.

SQL은 테이블에 저장된 데이터를 조작하고 행과 열을 수정합니다. HQL은 객체와 그 속성에 관심이있다.

SQL은 두 테이블 사이에 존재하는 관계에 관심이 있지만 HQL은 두 객체 간의 관계를 고려합니다.

요약:

1. HQL은 SQL과 비슷하며 대소 문자를 구별하지 않습니다. 2. HQL과 SQL은 모두 데이터베이스에서 쿼리를 실행합니다. HQL의 경우 쿼리는 대상 데이터베이스의 SQL 쿼리로 변환되는 개체의 형태로되어 있습니다. 3. SQL은 테이블과 컬럼과 함께 작동하여 테이블과 컬럼에 저장된 데이터를 조작합니다. 4. HQL은 클래스와 그 프로퍼티로 작업하여 데이터베이스의 테이블 구조

에 마침내 매핑됩니다. 5. HQL은 다형성 (polymorphism), 상속 (inheritance), 연관성 (association) 등과 같은 개념을 지원합니다. 이것은 SQL 객체 지향의

강력하고 배우기 쉬운 언어입니다. 6. SQL을 사용하면 삽입, 업데이트 및 삭제 쿼리를 통해 데이터를 수정할 수 있습니다.

테이블, 프로 시저 또는 뷰를 데이터베이스에 추가 할 수 있습니다. 이러한 추가 된 개체에 대한 사용 권한

을 변경할 수 있습니다.