Posts SQL 정리
Post
Cancel

SQL 정리

생성

1
CREATE DATABASE `데이터베이스명` CHARACTER SET utf8 COLLATE utf8_general_ci;

삭제

1
DROP DATABASE `데이터베이스명`;

열람

1
SHOW DATABASES;

선택

1
USE `데이터베이스명`

삽입

1
2
3
INSERT INTO `student` VALUES ('2', 'leezche', '여자', '서울', '2000-10-26');

INSERT INTO `student` (`id`, `name`, `sex`, `address`, `birthday`) VALUES ('1', 'egoing', '남자', 'seoul', '2000-11-16');

변경

1
2
3
4
5
6
--UPDATE 테이블명 SET 컬럼1=컬럼1의 값, 컬럼2=컬럼2의 값 WHERE 대상이 될 컬럼명=컬럼의 값

UPDATE `student` SET address='서울'; 
-- student의 모든 adress값을 서울로 바꿈

UPDATE `student` SET name='이고잉', birthday='2001-4-1' WHERE id=3;

삭제

1
2
3
4
5
6
7
8
--DELETE FROM 테이블명 [WHERE 삭제하려는 칼럼 명=값]
DELETE FROM student WHERE id = 2;

TRUNCATE 테이블명
-- 테이블의 전체 데이터 삭제

DROP TABLE 테이블명;
-- 테이블 삭제

조회

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/*SELECT 칼럼명1, 칼럼명2 
    [FROM 테이블명 ] 
    [GROUP BY 칼럼명] 
    [ORDER BY 칼럼명 [ASC | DESC]] 
    [LIMIT offset, 조회 할 행의 수]*/

SELECT * FROM student WHERE sex='남자' AND address='서울';
SELECT * FROM student WHERE sex='여자' OR address='서울';
-- and or 사용가능

SELECT * FROM student LIMIT 3,2;
-- 3번째 데이터부터 2개를 조회한다


--SELECT * FROM 테이블명 GROUP BY 그룹핑 할 기준 칼럼명
select sex from student group by sex;
-- student 테이블에서 성별을 기준으로 그룹핑하면 남자 여자 두개로 나뉨

select sex,sum(distance), avg(distance) from student group by sex;
-- 성별을 기준으로 그룹핑해서 distance 데이터에 대한 합계와 평균을 구한다


--SELECT * FROM 테이블명 ORDER BY 정렬의 기준으로 사용할 열 [DESC | ASC]
--DESC 내림차순 ASC 오름차순

select * from student order by distance desc;
--거리 기준으로 내림차순

select * from student order by distance desc, address asc;
--거리 기준으로 내림차순 정렬 후 같은 값이 있다면 주소 기준으로 오름차순 정렬