[SQL] Chapter03~07. Table 사용 & SELECT, INSERT, UPDATE, DELETE & ORDER BY & 비교연산자 & 논리연산자

황성미·2023년 8월 23일
0
post-thumbnail
post-custom-banner

✍🏻 21일, 22일 공부 이야기.



Table 변경 및 삭제

  • 기존 Table 이름을 새로운 이름으로 변경
ALTER TABLE 기존 테이블이름
RENAME 새로운 테이블이름
<-- SHOW tables  확인 가능 -->

  • 기존 Table에 새로운 컬럼 추가
ALTER TABLE 테이블이름
ADD COLUMN 컬럼이름 데이터타입
<-- DESC 테이블이름 으로 확인 가능 -->

  • 기존 Table의 컬럼 데이터타입 변경
ALTER TABLE 테이블이름
MODIFY COLUMN 컬럼이름 데이터타입
<-- DESC 테이블이름 으로 확인 가능 -->

  • 기존 Table의 컬럼 이름 변경(데이터타입도 재정의 가능)
ALTER TABLE 테이블이름
CHANGE COLUMN 기존컬럼이름 새로운컬럼이름 데이터타입
<-- DESC 테이블이름 으로 확인 가능 -->

  • 기존 Table의 컬럼 삭제
ALTER TABLE 테이블이름
DROP COLUMN 컬럼이름
<-- DESC 테이블이름 으로 확인 가능 -->

  • 기존 Table 삭제
DROP TABLE 테이블이름
<-- SHOW tables  확인 가능 -->



데이터 조작 언어(SELECT, INSERT, UPDATE, DELETE)

실습환경 만들기

USE zerobase; <-- 제로베이스 데이터베이스로 이동 -->

<-- 테이블 생성 -->
CREATE TABLE person
(
	id int,
    name varchar(16),
    age int,
    sex CHAR
); <-- DESC person; 으로 확인 가능 -->


INSERT (데이터 추가)

각 컬럼에 맞는 값을 넣어 데이터를 추가해준다.
이 때, 꼭 입력한 컬럼 이름의 순서와 값의 순서가 일치해야한다!

INSERT INTO 테이블이름 (컬럼이름1, 컬럼이름2, ...)
VALUES (값1, 값2, ...)
<-- 입력한 컬럼 이름의 순서와 값의 순서가 일치해야함!!! -->
<-- select * from 테이블이름 으로 데이터 확인 가능 -->


  • 모든 컬럼 값을 추가하는 경우에는 아래와 같이 컬럼 이름을 입력하지 않아도 된다. 단, 입력하는 값의 순서가 테이블의 컬럼 순서와 일치해야한다!
INSERT INTO 테이블이름 
VALUES (값1, 값2, ...)
<-- select * from 테이블이름 으로 데이터 확인 가능 -->



SELECT

테이블 내의 특정 컬럼에 대한 데이터를 조회해준다.

SELECT 컬럼이름1, 컬럼이름2, ... <-- 모든 컬럼을 조회하기 위해선 * 이용 --> 
FROM 테이블이름


  • WHERE : 특정 조건에 맞는 데이터를 추출.
    SELECT와 같이 사용하면 특정 조건에 맞는 데이터를 조회할 수 있다.
SELECT 컬럼이름1, 컬럼이름2, ... 
FROM 테이블이름
WHERE 조건



UPDATE

테이블 내 조건에 맞는 데이터를 수정해준다.
조건을 설정해주지 않으면 모든 데이터를 해당 값으로 수정해준다.

UPDATE 테이블이름
SET 컬럼이름1 = 값1, 컬럼이름2 = 값2, ...
WHERE 조건
<-- SELECT * FROM 테이블이름 WHERE 조건 으로 확인 가능 --> 



DELETE

테이블 내 조건에 맞는 데이터를 삭제해준다.
조건을 설정해주지 않으면 모든 데이터를 삭제한다.

DELETE FROM 테이블이름
WHERE 조건
<-- SELECT * FROM 테이블이름 으로 확인 가능--> 



데이터 조작 언어(ORDER BY)

실습환경 만들기

USE zerobase; <-- 제로베이스 데이터베이스로 이동 -->

<-- 테이블 생성 -->
CREATE TABLE celeb
(
	ID int NOT NULL AUTO_INCREMENT PRIMARY KEY, <-- 결측값 X, 입력하지 않으면 자동 생성, 테이블   -->
    NAME varchar(32) NOT NULL DEFAULT '', <-- 결측값 X, 입력하지 않으면 공백 생성 -->
    BRITHDAY date,
    AGE int,
    SEX char(1),
    JOB_TITLE varchar(32),
    AGENCY varchar(32)
); <-- DESC celeb; 으로 확인 가능 -->

<-- 데이터 추가 -->

ORDER BY

SELECT 문에서 데이터를 특정 컬럼을 기준으로 오름차순 혹은 내림차순 정렬해서 조회해준다.

SELECT 컬럼이름1, 컬럼이름2, ...
FROM 테이블이름
ORDER BY 컬럼이름1, 컬럼이름2, .. ASC | DESC <-- 오름차순(default) or 내림차순 -->

각 컬럼명 뒤에 오름차순/내림차순 여부를 설정해주어 다중 정렬도 가능하다.

SELECT 컬럼이름1, 컬럼이름2, ...
FROM 테이블이름
ORDER BY 컬럼이름1 ASC | DESC  , 컬럼이름2 ASC | DESC , ...



비교 연산자(Comparision Operators)

실습환경 만들기

USE zerobase

<-- celeb 테이블 이용 -->
DESC celeb
select * from celeb

비교 연산자(Comparision Operators)

  • A = B
  • A > B
  • A < B
  • A >= B
  • A <= B
  • A <> B : 같지않은
  • A != B : 같지 않은

위 비교 연산을 WHERE와 같이 사용할 수 있음



논리 연산자(Logical Operators)

실습환경 만들기

USE zerobase

<-- celeb 테이블 이용 -->
DESC celeb
select * from celeb

논리 연산자(Logical Operators)

  • AND
  • OR
  • NOT
  • BETWEEN
  • IN
  • LIKE : 조건값이 패턴에 맞으면 TRUE

AND

조건을 모두 만족하는 데이터를 조회할 수 있다.

SELECT 컬럼이름1, 컬럼이름2, ...
FROM 테이블이름
WHERE 조건1 AND 조건2 AND ...


OR

하나의 조건이라도 만족하는 데이터를 조회할 수 있다.

SELECT 컬럼이름1, 컬럼이름2, ...
FROM 테이블이름
WHERE 조건1 OR 조건2 OR ...


NOT

조건을 만족하지 않는 데이터를 조회할 수 있다.

SELECT 컬럼이름1, 컬럼이름2, ...
FROM 테이블이름
WHERE NOT 조건1 ...

예제) 생일이 1990년 이후이면서 여자가 아니면서, 생일이 1979년 이전이면서 소속사가 안테나가 아닌 데이터를 조회하라.


BETWEEN

조건 값이 범위 사이에 있는 데이터를 조회할 수 있다.

SELECT 컬럼이름1, 컬럼이름2, ...
FROM 테이블이름
WHERE 컬럼이름1 BETWEEN 값1 AND 값2 ...


IN

목록 안에 조건이 존재하는 데이터를 조회할 수 있다.

SELECT 컬럼이름1, 컬럼이름2, ...
FROM 테이블이름
WHERE 컬럼이름1 IN (값1, 값2 ...)


LIKE

조건 값이 패턴에 맞는 데이터를 조회할 수 있다.

SELECT 컬럼이름1, 컬럼이름2, ...
FROM 테이블이름
WHERE 컬럼이름1 LIKE 패턴 ...

패턴을 검색할 때 사용하는 문자 % / _

  • % : 모든 문자
  • _ : 한 글자

예제) AGENCY의 두 번째 글자가 G로 시작하는 연예인들을 조회하라.

예제) 직업이 하나 이상인 연예인 중 영화배우 혹은 탤런트가 아닌 연예인을 조회하라.

profile
데이터 분석가(가 되고픈) 황성미입니다!
post-custom-banner

0개의 댓글