[IT국비지원] 개발자 교육 25일 차 : DB(2023.08.30)fit.구디아카데미,김지훈 강사님

Nicole Gold·2023년 8월 29일
0

K-digital training

목록 보기
26/60

이하 구디아카데미 김지훈 강사님의 수업자료와 강의 내용 정리, 실습한 내용을 정리함

오늘부터 데이터베이스 들어갈 예정! SQLD 합격을 위해 달려봅시다.

Maria DB

  • Data Base 는 데이터를 영구적으로 저장할 수 있는 저장소이다.
  • Data Base 를 이용하면 서로 다른 시스템 간에 데이터를 공유할 수 있다.
  • Data Base 를 관리하는 시스템을 DBMS(Data Base Management System) 라고 한다

  • 많은 종류의 DBMS 들이 존재한다.

  • 유료의 원탑 ORACLE

  • 무료의 원탑 MySQL 이었는데 오라클이 삼

  • 설치 용이성으로 인해 MaraDB 사용

  • Data Base Model 은 Relational 과 NO SQL 로 크게 구분된다.

  • 우리가 배우게 될 Model 은 관계형 데이터 베이스 (Relational Data Base) 이다.

설치

  • MariaDB 다운로드 검색

  • 국가 기관 임의 설정



    (변동 없음)

  • window 검색 > 서비스 >

  • PC 속도에 따라 시작유형 자동/수동 변경

  • MySQL 클라이언트 검색

  • 설치 정상 여부 체크

  • dbeaver 다운로드 구글 검색

  • 버전 7.3.5

  • windows 인스톨러 > all 유저

  • 샘플 데이터 만들어줄까? >no

  • Maria DB 선택 >

  • 서버 클릭 상태로 F4 >

User 만들기와 Right 생성

  • Root 는 모든 권한을 가지고 있다.
  • Root 를 통해 사용자의 명령어 실행 및 접근 권한을 조정할 수 있다.
  • User 생성 시 접근 IP 대역을 설정할 수 있다.

00_basic(첫 실행)

  • --(대쉬 2회) 후 한 칸 띄고 주석 입력
  • 스크립트 실행 > ctrl + enter

01_user


  • 유저 생성

    • CREATE USER [유저이름]@[이용가능한IP] IDENTIFIED BY [비밀번호];
    • create user 'web_user'@'%' identified by 'pass';
    • web_user 는 어떤 IP 에서도 접근이 가능하다.
  • 유저 확인/권한 확인

    • select * from mysql.user;
  • 권한 부여 및 회수

    • 권한 부여

      • GRANT [권한] ON [데이터베이스.테이블] TO [사용자];
      • SELECT, UPDATE, DELETE, INSERT, CREATE, DROP 등등의 개별 명령어 권한
      • ALL PRIVILEGES : GRANT OPTION 을 제외한 모든 권한
      • GRANT OPTION : 권한 부여(내가 가진 권한 이상은 줄 수 없다.)
    • 예시1

      • web_user 한테 권한 주는 권한을 제외한 모든 권한을 부여(모든 데이터베이스, 모든 테이블)
      • grant all privileges on . to 'web_user'@'%';
    • 예시2

      • dba_user 한테 조회 권한을 부여(mysql 데이터베이스의 모든 테이블)
      • grant select on mysql.* to 'dba_user'@'192.168.%';
    • 예시3

      • user_220 는 조회,입력,수정,삭제 권한을 부여(모든 데이터베이스, 모든 테이블)
      • grant select,insert,update,delete on . to 'user002'@'192.168.0.111';

    • 권한 회수

      • REVOKE [권한] ON [데이터베이스.테이블] FROM [사용자];
    • 예시 1

      • user002 의 입력, 수정 삭제의 권한을 회수하자.
      • revoke insert,update,delete on . from 'user002'@'192.168.0.111';
    • 비밀번호 변경

      • SET PASSWORD FOR [사용자] = PASSWORD([비밀번호]);
      • set password for 'user002'@'192.168.0.111' = password ('1234');
      • set password for 'web_user'@'%' = password ('pass');
    • 유저 삭제

      • CREATE 로 만든 것은 ALTER 로 수정하고 DROP 으로 삭제한다.
      • DROP USER [유저이름];
      • drop user 'user002'@'192.168.0.111';
      • drop user 'dba_user'@'192.168.%';



Table

  • 데이터 베이스에서 테이블은 여러 데이터의 집합체이다.
  • JAVA 에서의 Class 와 같다고 볼 수 있다.

Table - 컬럼 및 데이터 다루기

  • 현실에서 테이블과 가장 가까운 형태는 Excel 일 것이다.
  • 여기서 각 속성은 컬럼이라고 한다.
  • 컬럼은 이름이나 속성을 변경하거나 추가 삭제도 가능하다.

02_table





DML(Data Manipulation Language)

  • 데이터를 취급하는 구문을 DML 이라고 한다.
  • DML 은 SELECT, INSERT, UPDATE, DELETE 문 등이 있다.
  • 그리고 key 의 중복 여부에 따라 INSERT 또는 UPDATE 할 수 있는 UPSERT 문이 있다.


03_DML

INSERT 예시

  • INSERT INTO [테이블명]([넣을 컬럼, ...])VALUES([값, ...]);

UPDATE

  • UPDATE [테이블명] SET [컬럼] = [값] WHERE 조건;

DELETE

  • DELETE FROM [테이블명] WHERE [조건]



SELETE

  • 데이터 베이스에서는 특정한 데이터를 선택 (SELECT) 하여 볼 수 있다.
  • 세밀한 선택을 하기 위해서 조건문을 사용할 수도 있다.

특정 컬럼 조회


  • concat 으로 family_name 과 first_name을 합쳐서 name 이라는 이름으로 보여줌(실제로 변경된 것x)
  • truncate 로 salary 를 1000으로 나눈 소수점을 버리고 (공백)(만 원) 추가해서 월급이라는 이름으로 보여줌



프로그램 설치와 초반 세팅에 시간이 소요되어 기초적인 것만 배웠다.
역시 어떤 것이든 처음은 쉽다;)
SQLD 시험 공부와 함께 할 수 있어서 좋고만🎶

profile
JAVA 개발자로 가는 길

0개의 댓글

관련 채용 정보