Posts MySQL 기초(2)
Post
Cancel

MySQL 기초(2)

1. Select (선택)


1.1 Basic

1
2
SELECT <column_name_1>, <column_name_2>, ...
FROM <table_name>
  • SELECT로 columns name을 넣고 from에 table name을 하여 선택한다.


1
2
SELECT *
FROM user1
  • SELECT에 *을 넣으면 from에 넣은 테이블의 전체 컬럼을 선택한다.


1
2
SELECT user_id, name, rdate
FROM user1
  • user_id, name, rdate 세개의 컬럼 데이터 조회


1.2 Alias

1
2
SELECT user_id as '아이디', name as '이름', rdate as '등록일'
FROM user1
  • Alias 를 이용하여 컬럼명을 변경 할수 있음.
  • as는 생략이 가능함


1.3 Distinct

1
2
SELECT DISTINCT(name)
FROM user1
  • Distinct를 이용하여 특정 컬럼의 중복 데이터를 제거할수 있음
  • name 컬럼을 중복 제거하여 조회


1.4 Where

1
2
3
SELECT *
FROM user1
WHERE age >= 30
  • Where 절을 이용하여 나이가 30살 이상인 데이터만 조회


1
2
3
SELECT *
FROM user1
WHERE rdate >= '2016-01-01'
  • 등록일이 2016-01-01일 이후의 데이터를 조회


1
2
3
SELECT *
FROM user1
WHERE rdate >= '2010-01-01' AND rdate <= '2017-12-13'
  • 등록일이 2010-01-01에서 2017-12-31인 데이터를 조회
  • AND는 둘다 true일때 true
  • OR도 사용가능하다, 둘중에 하나만 true여도 true


1
2
3
SELECT *
FROM user1
WHERE rdate BETWEEN '2010-01-01' AND '2017-12-13'
  • 위의 내용과 같은 코드 BETWEEN으로 사용 가능하다
  • BETWEEN A and B : A와 B 사이


1.5 Order By

1
2
3
SELECT *
FROM user1
ORDER BY age ASC
  • Order By를 이용하여 특정 컬럼으로 데이터 정렬이 가능
  • Age로 오름차순(ASC) 정렬
  • ASC는 생략 가능함


1
2
3
SELECT *
FROM user1
ORDER BY asge DESC
  • Age로 내림차순 정렬
  • DESC는 내림차순


1
2
3
SELECT *
FROM user1
ORDER BY age DESC, rdate
  • Age는 내림차순으로 정렬하고 rdate는 오름차순으로 정렬함


1.6 Concat

1
2
SELECT email, CONCAT(name, '(', age,')') AS 'name_age'
FROM user1
  • Concat을 사용하여 Select한 데이터를 합쳐서 새로운 컬럼으로 보여주는것이 가능함
  • Name과 Age를 같이 보여주도록 조회
  • ’(‘, age, ‘)’ 는 (age_data)로 표현하기 위해 넣은 것


1.7 Like

1
2
3
SELECT *
FROM 테이블
WHERE 컬럼 LIKE '%@gmail%'
  • Like를 이용하여 특정 문자열이 들어간 데이터 조회가 가능
  • %는 어떤 문자나와 같은 의미
  • ‘%gmail’은 gmail 문자열 앞에 아무 문자나 올수 있음을 의미
  • NOT LIKE를 사용하여 특정 문자가 들어가지 않는 데이터를 조회할수 있음


1
2
3
SELECT *
FROM user1
WHERE email LIKE '%@gmail%'
  • Email에 gmail이 들어간 데이터 조회


1
2
3
SELECT *
FROM user1
WHERE email NOT LIKE '%@gmail%'
  • Email에 Gmail이 들어가지 않는 데이터 조회


1.8 In

1
2
3
SELECT 컬럼
FROM 테이블
WHERE 컬럼 IN ('조회할 데이터 1', '조회할 데이터 2')
  • In은 여러개의 조건을 만족하는 데이터를 조회하고 싶을때 사용
  • Where절의 조건을 여러개 사용하는 것을 간단하게 사용 가능


1
2
3
SELECT *
FROM user1
WHERE name = 'peter' OR name = 'alice'
  • Where 절의 OR을 사용한 name 컬럼이 peter이거나 alice인 데이터를 조회


1
2
3
SELECT *
FROM user1
WHERE name IN ('peter', 'alice')
  • In을 사용하면 OR을 사용한것 보다 조금더 코드가 깔끔하다
  • 위와 동일하게 name이 peter이거나 alice인 데이터를 조회


1.9 Limit

1
2
3
SELECT 컬럼
FROM 테이블
LIMIT 조회할 데이터 
  • Limit은 조회하는 데이터의 수를 제한할 수 있음
  • 데이터가 너무 많은 경우에는 항상 Limit을 사용하여 적은 데이터를 조회하는것이 시간이나 업데이트시의 실수를 줄일 수 있음


1
2
3
SELECT *
FROM user1
LIMIT 3
  • user1 테이블에서 3개의 데이터 조회


1
2
3
SELECT *
FROM user1
LIMIT 1,3
  • user1 테이블에서 두번째에서 네번째까지의 3개의 데이터 조회
  • 처음 시작은 0임


2. Update


2.1 Syntax

1
2
3
UPDATE 테이블
SET 컬럼_1 = 데이터_1, 컬럼_2 = 데이터_2
WHERE 조건
  • Update시에는 항상 Select-Where로 변경할 데이터를 확인하고 Update를 해주어야 실수를 덜함
  • 또한, 위의 Limit도 함께 사용해주면 좋음


2.2 실습

1
2
3
UPDATE user1
SET age = 20, email = 'abc@daum.net'
WHERE name = 'jin'
  • 이름이 Jin인 사람의 나이를 20, 이메일은 abc@daum.net으로 변경


3. Delete


3.1 Syntax

1
2
DELETE FROM 테이블
WHERE 조건
  • 테이블에서 조건에 맞는 데이터를 삭제


3.2 실습

1
2
DELECT FROM user1
WHERE rdate < '2016-01-01'
  • Delete 2016-01-01 이전 데이터 삭제


3.3 Drop과 Delete의 차이

  • DELETE : 데이터는 지워지지만 테이블 용량은 줄어 들지 않는다. 원하는 데이터만 지울 수 있다. 삭제 후 잘못 삭제한 것을 되돌릴 수 있다.
  • DROP : 테이블 전체를 삭제, 공간, 객체를 삭제한다. 삭제 후 절대 되돌릴 수 없다.
This post is licensed under CC BY 4.0 by the author.