https://extsdd.tistory.com/104
[Maria DB] 마리아 DB 접속 / HeidiSQL 세션 연결
https://extsdd.tistory.com/103 [Maria DB] 마리아 DB 10.5 다운 및 설치 / 서비스 확인 / 스프링 Spring 스프링 프로젝트에 Maria DB를 사용하기 위해서 설치해보자! Maria DB는 MYSQL DB개발자들이 나와서 만든..
extsdd.tistory.com
자 저번시간에 우리가 만든 DB에 접속을 했으니 이제 데이터 통을 생성해 줘야한다. DB 용어로는 스키마 라고하는데 우리가 알아들어먹을 수준으로 말하면 보통 DB통이라고 한다..ㅋㅋ DB통 새로 만들어!~ ㅋㅋㅋ ... 보통 이랬던거 같은데 뭐 프로젝트단위라고 보면 된다.
내 DB 서버가 있고, 꼭 1개의 DB서버에서 1개의 프로젝트를 돌리란 법은 없다. 여러가지 DB통을 만들어 놓을 수가 있어서, 만약에 내가 유튜브 서비스와, 쿠팡 서비스를 돌리고싶다! 하지만 하나의 DB서버에 돌리고 싶다! 라고 하면 DB통을 2개 만들어 주면 된다. 다시 전문용어로 YOUTUBE 스키마와, COUPANG 스키마를 만들어 주면된다. 이제 좀 이해가 됐나..!? 그냥 프로젝트 단위라고 생각하면 된다.
그럼 우리는 프로젝트 CP SERVICE이기 때문에 CP_SERVICE_DB 스키마(DB통)을 만들어보자!
1. 데이터베이스 (Database) 생성

만들 세션선택후 오른쪽마우스 클릭하여 새로생성(2) 버튼을 클릭! 그리고 데이터베이스(3)을 눌러주자! 마리아 DB에선 스키마 보단 걍 데이터베이스라고 부르나보다.

CREATE DATABASE `cp_service_DB`
자 데이터 베이스 이름을 지정하자! 보니까 대문자로 써도 어차피 다 소문자로 치환된다. 정했으면 확인!

오웅 씌엣! 만들어졌당! 이제 프로젝트 단위의 데이터베이스(DB통)을 생성했으니 이제 이 프로젝트에서 사용할 테이블들을 추가해보자 방법은 비슷하다.
2. 테이블 Table 생성

테이블을 만들 데이터베이스를 오른쪽클릭하고(1) 새로생성(2)버튼을 누른뒤 테이블(3)버튼을 눌러주자!
https://extsdd.tistory.com/102
[Spring/eGov ] #6 웹 서비스 만들기 2 / 요청 URL 파라미터 가져오기 / Debug 방법 / 디버깅 하는법 / @Model
extsdd.tistory.com
일단 우리는 이 프로젝트 기준으로 DB를 만들 것이기 때문에 아래와 같은 테이블을 생성할 것이다.

자 PRD_MST 테이블부터 생성해보자!
3. PRD_ MST

1. 테이블 이름을 지정해주자
2. 추가버튼을 눌러서 4개의 속성을 다 추가해준다.
3. 추가한 속성들의 이름을 지정하고
4. 데이터 유형을 지정한다.
5. 길이를 정해준다! URL_STR에는 URL이 길게 들어갈 것임으로 넉넉히 300자를 두고, DISC_STR은 설명이니 50정도. 그리고 USE_YN은 Y혹은 N값만 다룰테니 2정도를 준다
6. NULL허용을 체크하면 저기 속성은 안넣어도 되는 속성이 된다. DISC_STR은 해당 값에대한 설명인데 꼭 없어도 되니 NULL허용을 해주자, 나머지 3개 속성값은 꼭 NULL이 아닌 실제 값을 필요로 하게 된다. 만약 NULL을 넣으려고 시도하면 제약조건에 위배되서 삽입이 되지 않게 된다.
7. SEQ_NO는 데이터를 추가할때마다 1~쭈르륵 올라가면 되니 더블클릭을 눌러서 AUTO_INCREMENT를 선택해주고 DISC_STR은 NULL허용을 해놨기 때문에 설정에서 최초값을 NULL로 주도록 하자

다 됐으면 저장 버튼을 눌러주자!!!
CREATE TABLE `PRD_MST` (
`SEQ_NO` INT NOT NULL AUTO_INCREMENT COMMENT '고유 번호',
`URL_STR` VARCHAR(300) NOT NULL COMMENT '목적지 URL',
`DISC_STR` VARCHAR(50) NULL DEFAULT NULL COMMENT '목적지 설명',
`USE_YN` VARCHAR(2) NOT NULL COMMENT '사용 유무',
PRIMARY KEY (`SEQ_NO`)
)
COLLATE='utf8_general_ci'
;
4. REQ_MST

CREATE TABLE `REQ_MST` (
`SEQ_NO` INT NOT NULL COMMENT '고유 번호',
`REQ_DATE` DATETIME NOT NULL COMMENT '날짜'
)
COLLATE='utf8_general_ci'
;
REQ_MAT 테이블도 대충~ 만들어 준다~ 좀 다른게 있다면 REQ_DATE의 형은 DATETIME형으로 해주자!

그리고 저장을 해주자

짜잔 ~ 테이블 생성이 완료 됐다. 그럼 이제 값을 하나 예시로 넣어보자!
5. PRD_MST 데이터 삽입

자 데이터 삽입은 어려운거 없다. 탭들 뒤져보면 무슨 +모양처럼 생긴친구(1) 있는데 눌러주면 새창이 생기면서 저기다 작성할 수 있다. 작성해보자.
INSERT INTO prd_mst (URL_STR, DISC_STR, USE_YN) VALUES
('www.naver.com','네이버','Y'),
('www.daum.net','다음','Y'),
('www.google.com','구글','Y'),
('www.youtube.com','유튜브','Y');
SELECT * FROM PRD_MST
위 쿼리를 복사해서 복붙하자! 그리고 F9를 누르면 전체 실행이 된다.
-START TRANSACTION
보통 SELECT를 제외한 INSERT, DELETE, UPDATE 같은 DML을 사용할때는 MSSQL의 경우에는 begin tran을 걸고 쿼리를 돌린후 데이터가 제대로 됐는지 보고 정상이면 commit 명령어를 입력시켜 완전히 반영하고, 문제가 있으면 rollback 명령어를쳐 복구시키는데 마리아DB에도 역시 있다.
BEGIN TRAN 명령어 대신 START TRANSACTION; 을 선언해주고 나머지 commit/rollback 방법은 같다. 일단 저건 내가 테스트해보고 그냥 넣는 데이터지만, START TRANSACTION하는 습관을 들이는게 미래를 생각하면 좋다. 잘못하다가 데이터가 다 지워지거나 이상하게 바뀌거나 할 수 있기때문에 연습이라도 꼭 해보자!
START TRANSACTION; -- 쿼리문 작성 COMMIT -- 반영 ROLLBACK -- 복구
첫 INSERT라 설명을 좀 해봤구 우리 하던걸 계속 해보자

콘솔창에는 이렇게 표시되며 잘 들어갔다는 메시지가 나온다.

마지막에 SELECT문도 넣었기 떄문에 INSERT한 테이블을 조회한다. 보면 우리가 처음 계획했던 엑셀의 예시 데이터와 같음을 알 수 있다.
6. REQ_MST ..테이블 이름 변경
REQ_MST 테이블은 마스터성 테이블이 아니라, 요청을 보낼빠다 보냇던 요청시간을 기록하는 Log성 데이터라서 미리 넣어줄 것은 없다..그런데 가만 생각해보니 테이블이름은 MST로 마스터성 정보를 담고있는 테이블인데..Log는 마스터성 정보가 아니잖아..?
그렇다. 테이블 이름을 잘 못 지었다..

바꿀테이블에 오른쪽 마우스를 클릭(1)하고 편집(2)을 눌러 3번 박스에 수정할 테이블명을 입력하고 저장(4)을 눌러주자!

짜잔 테이블명이 바꼈당~
여기까지 데이터 삽입하는 것에대해 알아보았다~
#마리아DB #무료DB #MariaDB #HeidiSQL #데이터베이스 #테이블 #스키마 #생성 #데이터 #삽입 #INSERT #STARTTRANSACTION #조회 #SELECT
'IT > DataBase' 카테고리의 다른 글
[Maria DB] 스프링 원격 DB 접속 오류 / Cannot create PoolableConnectionFactory (Could not connect to address) (0) | 2021.05.02 |
---|---|
[Maria DB] AWS EC2 원격 서버 마리아 DB 접속 / HeidiSQL / 데이터 삽입 / 테이블 생성 (0) | 2020.06.03 |
[Maria DB] 마리아 DB 접속 / HeidiSQL 세션 연결 (0) | 2020.05.24 |
[Maria DB] 마리아 DB 10.5 다운 및 설치 / 서비스 확인 / 스프링 Spring (0) | 2020.05.24 |
[정보처리기사/데이터베이스] #4 데이터베이스의 개념 / 스키마(Schema) / 외부, 개념, 내부스키마 (0) | 2020.04.21 |