1. 기본 명령
확인
생성
CREATE DATABASE
CREATE TABLE
데이터 베이스 선택 확인
SELECT DATABASE()
2. 테이블 생성
- 좌측이 컬럼의 이름, 우측이 컬럼에 들어갈 데이터 타입 > ;(세미콜론) 단위로 끊어서 실행하니. 꼭 주의해서 붙여줄것!
1 | CREATE TABLE user1( |
데이터 타입에 추가로 조건을 줄수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13 CREATE TABLE user2(
user_id INT PRIMARY KEY AUTO_INCREMENT,
-- PRIMARY KEY : unique + not null 조건을 가짐
-- AUTO_INCREMENT : 1씩 증가한다
name VARCHAR(10) NOT NULL,
email VARCHAR(30) UNIQUE NOT NULL,
-- 데이터가 없으면 '30 들어간다'
age INT(3) DEFAULT 30,
-- 현재시간이 자동으로 들어가는 데이터 타입
rdate TIMESTAMP
);
3. 수정 Alter
데이터 베이스 수정
1 | SHOW variables like "character_set_database"; |
테이블 추가, 수정, 삭제
1 | ALTER TABLE user2 ADD tmp TEXT; |
Drop
데이터 베이스 삭제
1 | CREATE DATABASE tmp; |
테이블 삭제
1 | DROP TABLE user3; |
Insert : 데이터 추가
1 | INSERT INTO user1(user_id, name, email, age, rdate) |
4. SELECT : 데이터 조회
컬럼명, 불러올때 as로 이름 지정 가능
1
2
3
4
5
6
7
8 -- 컬럼이름, 불러올때 as로 이름 지정 가능
SELECT user_id as "아이디", name as "이름", age as "나이"
-- 테이블 이름
FROM user1;
-- 전체 선택
SELECT *
FROM user1;
5. DISTINCT 중복제거
1 | SELECT DISTINCT(name) |
6. WHERE 조건검색
1 | -- 30세 이상인 사용자를 검색해서 이름의 종류(UNIQUE 한) 개수를 출력 |
범위데이터 가져오기 : BETWEEN A AND B
1 | SELECT * |
ORDER BY ,정렬
1 | SELECT * |
내림차순, 오름차순 정렬 > ASC: asending > DESC : descending
1 | -- 나이가 20세 에서 40세 사이에 있는 사용자를 이름 순으로 정렬하고, 중복데이터를 제거 해서 출력 |
concat
1 | SELECT name, age, concat(name,"(",age,")") as name_age |
like : where 절에서 특정 문자열이 들어간 데이터 조회
1 | SELECT * |
in : 여러 개의 조건을 조회할때 사용
1 | SELECT * |
in의 활용 : 서브 쿼리
1 | SELECT * |
LIMIT : 출력 갯수 제한
1 | SELECT * |
6. UPDATE : 데이터를 수정
1 | UPDATE user1 |
7. DELETE
1 | DELETE FROM user1 |
HAVING
GROUP BY가 실행되고 난 결과에 조건을 추가, 즉 GROUP BY 밑에(WHERE는 GROUP BY전에(위에)필터링)