본문 바로가기

혼자 공부하는 SQL/2장 실전용 SQL 미리 맛보기

2장 1. 데이터베이스 시작부터 끝까지

1. 데이터베이스 구축 절차

데이터베이스 만들기 => 테이블 만들기 => 데이터 입력/ 수정하기 => 데이터 조회/활용하기

 

2. 데이터베이스 구축 실습

 

테이터베이스 접속 후 스키마 생성

*FIle -> close tab으로 탭 닫기 가능

 

3. 테이블 만들기

 

1. 테이블 설계 => 열 이름과 데이터 형식을 지정


 - 데이터 형식, 최대 길이, Null을 설정 => Null은 빈 것을 의미하고 Not Null은 반드시 입력해야 한다는 의미이다.

 

(1) 회원 테이블

열 이름(한글) 영문 이름 데이터 형식 최대 길이 널 허용 안함(Not Null)
아이디(기본 키) member_id 문자(CHAR) 8글자 Yes
회원 이름 member_name 문자(CHAR) 5글자 Yes
주소 member_addr 문자(CHAR) 20글자 No

(2) 제품 테이블

열 이름(한글) 영문 이름 데이터 형식  최대 길이 널 허용 안함(Not Null)
제품 이름(기본 키) product_name 문자(CHAR) 4글자 Y
가격 cost 숫자(INT)   Y
제조일자 make_date 날짜(DATE)   N
제조회사 company 문자(CHAR) 5글자 N
남은 수량 amount 숫자(INT)   Y

2. 테이블 생성하기

1. [SCHEMAS] 패널에서 'shop_db'를 클릭하여 [Tables] 하위 [Create Table]을 선택

2. 테이블 이름을 설정하고 Column Name 의 첫 번째 항목을 더블 클릭하여 이름과 데이터 형식, NULL 여부를 설정

3. 나머지 항목도 입력하고 Apply로 생성

4. Apply SQL Script to Database 창이 나타나고 자동으로 생성된 SQL 문이 보이게 됨. [Apply]와 [Finish] 버튼을 클릭하면 테이블 만들기가 완료

5. product 테이블도 동일하게 생성

5. 생성한 테이블은 [shop_db] - [Tables]를 확장하면 확인 가능

 

4. 데이터 입력하기

 

1. [SCHEMAS] 패널에서 [shop_db] - [Tables] - [member] 선택 후 [Select Rows -Limits 1000] 을 선택

 

아직은 모두 NULL

2. NULL 부분을 클릭하여 직접 데이터를 입력 후 Apply를 입력하면 입력한 내용이 SQL로 생성됨

이 때 결과가 입력한 수서와 달라지는데 이것은 MEMBER_ID를 기본키로 설정했기 때문. 기본 키로 설정한 열이 기준이 되어 오름차순으로 자동 정렬 된다.

 

3. 동일한 방법으로 제품 테이블에 데이터 3건 추가

 

4. 수정 삭제 실습을 위해 데이터 추가. 위와 동일한 방법으로 member 테이블에 연습용 데이터를 1건 입력한 후 [Apply] 버튼을 두 번 클릭

5. 수정할 데이터를 클릭하고 변경 후 [Apply] 버튼을 클릭

UPDATE 문이 생성된다.
데이터 변경 완료

 

6. 삭제 실습, 행의 제일 앞 부분을 클릭하면 행이 파란색으로 선택됨. 그 상태에서 마우스 오른쪽 클릭, [DELETE Row]를 선택한 후 [Apply] 버튼을 클릭함.

 

DELETE 문이 생성됨을 확인

5. 데이터 활용하기

 

1. SELECT * FROM member;
SELECT 열_이름 FROM_이름 [WHERE 조건] , *은 모든 열을 의미한다. => 실행하면 Result Grid 창에는 결과가 Output패널에는 현재 결과의 건수와 조회하는 데 소요된 시간(초)가 표시된다. 

 

* Ctrl + Shift + Enter 키를 누르면 SQL 구문을 실행할 수  있다.

* SQL은 대소문자를 구분하지 않는다.
* SQL의 제일 뒤에는 세미클론(;)가 존재해야 한다.

 

2. SELECT member_name, member_addr FROM member;

 회원 테이블 중에 이름과 주소만 출력하는 명령어, 여러 개의 열 이름을 콤바(,)로 분리하면 필요한 열만 추출이 가능하다.

3. SELECT * FROM member WHERE member_name = '이름' ;

 특정 회원에 대한 정보만 추출해보는 명령어,  where 다음에 특정 조건을 입력하면 조건에 맞는 데이터를 뽑을 수 있다.

 

4. SQL문을 여러 구문을 명령하면 그에 대한 모든 결과값이 나온다. 1개만 남기고 다 지우는 방법도 있겠지만 필요한 부분만 마우스로 드래그해서 선택한 후 실행하는 방법도 있다.

구문이 2개 이므로 결과가 2개가 실행되었다.
드래그 하여 실행하니 한 개의 결과만 나온다.

 

정리

1. 스키마는 MySQL안의 데이터베이스를 뜻한다. 데이터베이스와 동일한 용어라고 생각하면 됨.

2. 데이터 형식은 문자형(CHAR), 정수형(INT) 등고 ㅏ같이 열에 저장될 데이터의 형식을 말함.

3. 예약어는 SELECT, FROM, WHERE와 같은 기존에 약속된 SQL

4. 기본 키는 열에 지정하며, 각 행을 구분하는 유일한 값이다.

 

한글 용어 영문 용어 약자 설명
스키마 Schema   데이터 베이스와 동일한 용어
문자형 Character CHAR 문자를 입력할 데이터 형식
정수형   INT 정수를 입력할 데이터 형식
NULL   비어 있는 값
널 사용 안함 NOT NULL NN 빈 값을 허용하지 않음
자동 정렬     기본 키로 설정한 열로 자동 정렬됨
입력 INSERT   데이터를 입력하는 SQL
수정 UPDATE   데이터를 수정하는 SQL
삭제 DELETE   데이터를 삭제하는 SQL
조회 SELECT   데이터를 조회하는 SQL
조건 WHERE   SELECT 문에는 특정 조건을 조회할 때 사용하는 구문
예약어     기존에 약속된 SQL, SELECT, FROM, WHERE 등
세미클론(;)     SQL의 끝을 표시하는 기호
인텔리센스 IntelliSense   SQL의 글자가 미리 제시되는 워크벤치의 기능