본문 바로가기
EXTERNAL ACTIVITY/Code Presso -웹개발 트랙 체험단-

<코드 프레소 웹 개발 트랙> 처음 시작하는 SQL 프로그래밍 [1]

by jaeaemin 2022. 1. 31.

 

1. DATABASE 

 

DB

- 데이터를 다양한 방법으로 관리할 수 있도록 하는 저장소

- 여러 사람이 공유하여 사용할 목적으로, 통합하여 관리되는 데이터의 집합

- 자료 항목의 중복을 없애고, 자료를 구조화 하여 저장해서 검색과 겡신의 효율을 높임

 

 

DBMS ( Database Mangement System )

- 데이터 베이스를 관리하기 위한 프로그램이다.

- 종류는 다양하며 MySQL, Oracle, PostgreSQL, SQLite ... 

 

 

SQL ( Structed Query Language )

- DB에 데이터를 요청하는 언어로 인간과 데이터 베이스간의 언어 체계 

- SQL 문법은 단순하고 배우기 쉽고 ANSI, ISO 표준이 존재함

- 각 DBMS마다 개별적인 방언(언어체계)를 가지지만, 핵심 문법은 유사하다.

 

 

MySQL

- 오픈 소스의 RDBMS로 가장 많이 사용되는 DBMS 중 하나이다.

- Clinet단에서는 workbench를 통해서 서버와 연결해 서로 데이터를 주고받는다.

- 원래는 다른 하드웨어 상에 서버와 클라이언트가 존재하지만, 실습에서는 같은 PC를 통해 진행함.

 

 

 

 

DB의 주요 구성 요소 

Database에서 구분되는 주요 구성 요소는 아래와 같다.

 

Schema 주로 application 마다 1개씩 , 다수도 가능
Table 각 application의 세부 기능 마다 정의
Column 각 기능에 필요한 요소들
Row 데이터 1건 (Record)

DB의 주요 구성 요소 사이의 관계

 

 

 

DB의 데이터 타입 

칼럼에 어떠한 형태의 자료를 저장할지를 미리 결정한 것 

   (1) 숫자(Numeric) - 정수형, 실수형

   (2) 문자(Character) - 고정 문자형, 변동 문자형

   (3) 날짜/시간(Date/Time) - 날짜형, 시간형, 날짜시간형 

https://dev.mysql.com/doc/refman/8.0/data-types.html

 

 

테이블 생성 

CREATE TABLE table_name
{
    column_name1 data_type1 options,
    column_naem2 data_type2 options,
    ..
}

워크벤치를 통해 명령어를 따로 입력할 필요 없이 UI를 이용해서 간편하게 테이블을 만들 수 있다.

 

생성 시 옵션 정보 

PK 테이블 당 1개만 존재하고, 유니크한 값으로 Not null 이어야 한다.
NN Not null 형태를 반드시 지켜야 함
AI 0부터 시작해서 숫자가 증가함
UQ 유니크 한 값 ( null값도 가능)
UN unsigned
Default 디폴트 값

 

 

 

 

2. SQL의 명령어

 

1. INSERT : 데이터 추가

기존 테이블에 새로운 Row를 추가한다. 이 때 row와 colume의 수가 일치해야함. 

column을 생략하면 테이블에 모든 column에 대해서 데이터를 추가하는 것으로 받아들임

여러줄의 작성이 가능하고 세미클론을 통해서 명령어의 단위를 분할한다.

INSERT INTO table_name ( column1, column2, column3 , ... )
VALUES (value1, value2, value3, ...);

 

 

2. SELECT : 데이터 조회

SELECT column1, column2, ... 
FROM table_name;

해당하는 테이블에서 SELECT로 선택되어진 열에 대해서 콘솔창에 출력을 하게 된다.

SELECT문에 Astrisk를 사용하여 전체 컬럼 조회가 가능하다 ( SELECT * ) 

 

 

 

3. 데이터 필터링

 

(1) WHERE

  • 원하는 조건으로 데이터(ROW)를 필터링 한다.
  • selcet문 외에 다른 문법에서도 함께 사용가능하다.
SELECT colum1, colum2, ...
FROM table_name
WHERE condition;

이 떄 조건의 예시로는 WHERE뒤 문장이 다른 언어들의 문법과 마찬가지로 True/False값을 도출해 사용된다.

SELECT *
FROM Customors
WHERE order_num = 20007;

 

 

(2) 비교 연산자

WHERE 절에서는 비교 연산자들을 통해서 값의 True/False를 통해 데이터의 선택적 조회가 가능하다.

같음  = 같지 않음 <>
> 작음 <
크거나 같음  >= 작거나 같음  <=
SELECT *
FROM Customors
WHERE order_num > 20007;

 

 

(3) AND 

주어진 모든 조건을 모두 만족시키는 데이터를 조회하는 필터링 연산자 (동시 만족)

이름이 Han이면서, Ulsan에 거주하는 고객을 조회하는 경우는 다음과 같다.

SELECT *
FROM Customers
WHERE cust_name = 'HAN' AND cust_state = 'Ulsan'

 

 

(4) OR

주어진 조건 중 하나 이상 만족하는 경우 모든 데이터를 조회하는 필터링 연산자

거주지역이 부산이거나, 울산인 고객의 정보를 모두 조회하는 경우는 다음과 같다.

SELECT * 
FROM shop.Customers
WHERE cust_state = 'Ulsan' OR cust_state = 'Busan';

 

 

 

 

 

 



- 코드프레소  Java  웹  개발  체험단  활동  중    
- 코드프레소  웹개발 트랙의 "처음 시작하는 SQL 프로그래밍" 내용입니다.
- 코드프레소  URL: https://www.codepresso.kr/ 

반응형