이하 구디아카데미 김지훈 강사님의 수업자료와 강의 내용 정리, 실습한 내용을 정리함
오늘부터 데이터베이스 들어갈 예정! 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 시험 공부와 함께 할 수 있어서 좋고만🎶