개발자 성장일지

제 3장 SQL 고급 본문

DataBase

제 3장 SQL 고급

hdigimon 2023. 10. 10. 15:01

1. WHERE 조건 연산자

  • 조회하는 결과에 특정한 조건을 줘서 원하는 데이터만 보고 싶을 때 사용
  • 조건 연산자(=, <, >, <=, >=, < >, != 등)와 관계 연산자(NOT, AND, OR 등)를 조합하여 데이터를 효과적으로 조회

2. ORDER BY

  • 조회 결과에 영향을 미치지는 않고 조회되는 순서를 조절하는 구문 절
  • 기본적으로 오름차순 (ASCENDING) 정렬
  • 내림차순(DESCENDING)으로 정렬하려면 열 이름 뒤에 DESC 입력

 

3. LIMIT

  • 여러 건의 데이터를 조회할 때 개수를 정해 일부만 조회
  • 상위의 N개만 출력하는 ‘LIMIT N’ 구문 사용
  • 개수의 문제보다는 MySQL의 부담을 많이 줄여주는 방법

 

4. GROUP BY

  • 데이터를 그룹으로 조회(Grouping)
  • 집계 함수(Aggregate Function)와 함께 사용
  • 그룹화된 결과의 조건은 HAVING 절 사용

 

5. UNION

  • 두 쿼리의 결과를 행으로 합치는 것

6. JOIN

  • 두 개 이상의 테이블을 서로 참조해서 하나의 데이터 집합으로 조회
  • 중복과 공간 낭비를 피하고 데이터의 무결성을 위해서 여러 개의 테이블로 분리하여 저장하기 때문에 조인 연산을 통해 데이터 조회가 많이 사용

 

7. 데이터 베이스 관리

1) 관리자 추가

  • 일반 관리자 생성
  • CREATE USER ‘아이디'@’%’ IDENTIFIED BY ‘비밀번호’;
create user 'java2_tester'@'%' identified by '1234';

[참고] %는 모든 외부 IP 접속을 허용

 

  • 권한 부여
  • GRANT ALL PRIVILEGES ON 데이터베이스.* TO '아이디'@‘%’
grant all privileges on `java2_test_db`.*to 'java2_tester'@'%';
  • GRANT : DDL 명령어의 하나로 DB에 접근 권한을 부여하는 명령어.
  • ALL PRIVILEGES : 모든 권한(수정, 삭제, 추가)
  • ‘DB명.* : 해당 DB의 테이블에 대한 모든 접근 권한 (’*’는 전체를 의미한다.)
  • 변경 사항 적용
  • FLUSH PRIVILEGES;
flush privileges;

 

2) 관리자 비밀번호 수정 및 계정 삭제

  • 비밀번호 변경
  • SET PASSWORD FOR '아이디'@'%'=PASSWORD('새로운 비밀번호');
set password for 'java2_teser'@'%' identified by '12345';

 

  • 계정 삭제
  • DROP USER ‘아이디‘@'%
drop user 'java2_tester'@'%';

'DataBase' 카테고리의 다른 글

모델링 실습 - ERD  (0) 2023.10.10
제 4장 데이터 모델링  (1) 2023.10.10
제 2장 테이블 제약 조건  (0) 2023.10.10
DBMS(MariaDB) 설치 및 환경 구축 실습  (0) 2023.10.10
제 1장 데이터베이스 이해  (0) 2023.10.10