Ctrl + Enter : 커서 부분 실행Ctrl + Shift + Enter : 첫행부터 커서 부분까지 실행use 데이터베이스명;
-- : 한 줄 주석/* */ : 여러줄 주석SHOW DATABASES;SHOW TABLE STATUS; : 테이블 상세 정보 조회.SHOW TABLES : DB 내 테이블 리스트 조회.AS 별칭(AS 생략 가능)AS "별칭" : 띄어쓰기가 있는 명칭을 입력하기 위해 ""(큰따옴표) 안에 별칭을 넣어준다.
CREATE TABLE 테이블명 (컬렴명 자료형 제약조건 , ...);
제약 조건
- NOT NULL : 필수 입력
레코드 복사
CREATE TABLE testTbl5 (SELECT emp_no,first_name, last_name FROM employees.employees);테이블 복사
CREATE TABLE 새로운테이블명(SELECT * FROM 복사할테이블명) [ ] : 생략가능, | : 선택옵션, { } : 반복가능
ALTER TABLE 테이블명
[ADD 속성이름 데이터타입]
[DROP COLUMN 속성명]
[MODIFY COLUMN 속성명 테이터 타입] -- 타입 변경
[MODIFY COLUMN 속성명 [NULL|NOT NULL]] -- NOT NULL 제약조건
[ADD PRIMARY KEY(속성명)] -- 기본키 설정
[[ADD|DROP] 제약명]
생성된 테이블의 컬럼 및 제약조건을 변경하는 실행문이다.
ALTER TABLE 테이블명 제약조건;(제약조건 변경)
ALTER TABLE 테이블명 AUTO_INCREMENT=1000;
SET @@auto_increment_increment =3;
ALTER TABLE memberTbl ADD CONSTRAINT pk_memberTbl PRIMARY KEY(userId);
DROP TABLE 테이블명;
SELECT [ALL | DISTINCT] 컬럼명(복수가능) - 어떤 컬럼을 검색
FROM 테이블명(복수가능) - 어느 테이블 검색
[WHERE 검색 조건(복수가능)] - SELECT절 컬럼에 대한 검색 조건
[GROUP BY 컬럼명] - 여러 레코드를 하나의 컬럼을 기준으로 같은것끼리 묶음.
[HAVING 검색 조건(복수가능)] - GROUP BY된 컬럼에 대한 검색 조건
[ORDER BY 속성명 [ASC | DESC]] - 정렬 기준
DISTINCT : 중복 제거
WHERE절 조건
_조건 : _은 와일드 카드로써, 'X조건'과 동일한 레코드를 조회.GROUP BY
부속질의
= ANY(SELECT절) : IN 연산과 동일한 기능을 한다.집계함수
LIMIT : 레코드 조회 갯수 제한
- OFFSET 지정 : 조회 시작점을 지정
Ex) LIMIT 100, 5; 101번부터 5개의 레코드 조회.
ROLLUP : 중간 합계
Ex)
SELECT groupName, SUM(price*amount) AS '비용'
FROM buytbl
GROUP BY groupName
WITH ROLLUP;
============
실행 결과
Null 270
서적 184
의류 300
전자 4500
Null 5254(중간 합계 결과)
SELECT LAST_INSERT_ID();
INSERT INTO 테이블명(컬럼명 ...) VALUES (레코드 ...);
테이블명 옆 컬럼순서와 VALUES 옆 컬럼 순서를 일치시켜준다.
INSERT IGNORE INTO 테이블명 VALUES(...);
INSERT INTO 테이블명 VALUES(...) ON DUPLICATE KEY UPDATE 컬럼명=값
EX)
INSERT INTO memberTbl VALUES('BBK','비비코','미국')
ON DUPLICATE KEY UPDATE name='비비코', addr='미국';
INSERT INTO memberTbl VALUES('DJM', '동짜몽', '일본')
ON DUPLICATE KEY UPDATE name='동짜묵', addr='니혼'; UPDATE 테이블명 SET 컬럼명= '수정값' WHERE 구분컬럼 = '키값';
DELETE 테이블명 WHERE 구분컬럼 = '키값';
테이블 안에 레코드만 삭제하는 실행문으로, 삭제 전 삭제 데이터들을 transaction log에 남겨두는 작업이 수행되어 수행 시간이 오래 걸린다.
테이블 자체를 삭제해주어 수행 시간이 짧다.
테이블 내 레코드만 삭제하는 실행문으로, 별도로 log를 남겨두지 않아 작업 수행 시간이 짧다.