show databases;
use 데이터베이스명;
show tables;
select * from 테이블명;
select 열명 from 테이블명;
select * from 테이블명 where 조건
select 열명 from 테이블명 where 조건;
select distinct 열명 from 테이블명 where 조건;
우선순위 | 연산자 |
---|---|
1 | INTERVAL |
2 | BINARY, COLLATE |
3 | -(단항 감산), ~(단항 비트 반전) |
4 | ^ |
5 | *, /, DIV, %, MOD |
6 | -, + |
7 | <<, >> |
8 | & |
9 | | |
10 | =(비교 등호), <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN |
11 | BETWEEN, CASE, WHEN, THEN, ELSE |
12 | NOT |
13 | &&, AND |
14 | XOR |
15 | ||, OR |
16 | =(대입 등호), := |
SELECT */열명 from 테이블명 where 조건 ORDER BY 열1 desc/asc;
ORDER BY 이후 열을 여러 개 적어, 정렬을 더 명확하게 할 수 있음.
SELECT COUNT(*) FROM 테이블명;
SELECT MIN(열명) FROM 테이블명 WHERE 조건;
SELECT MAX(열명) FROM 테이블명 WHERE 조건;
문자열에 대한 집약함수는 SQL 표준에는 없으나 MySQL에는 'GROUP_CONCAT' 함수가 있음. 문자열에 대한 집계를 문자열의 결합으로 수행. 콤마로 구분되는 매우 긴 데이터를 결과로 돌려줌.
SELECT * FROM 테이블명 GROUP BY 열명1(,열명2,...);
SELECT * FROM 테이블명 GROUP BY 열명 HAVING 그룹의 값에 대한 조건 ORDER BY 열명 DESC/ASC;
INSERT INTO 테이블명 VALUES (값1, 값2, ...)
INSERT INTO 테이블명 (열1, 열2, ...) VALUES (값1, 값2, ...)
값을 지정할 때는 해당 열의 데이터 형식에 맞도록 지정해야 함.
INSERT 명령을 실행해도 처리 상태만 표시될 뿐 SELECT 명령을 실행했을 때처럼 결과를 출력하지는 않음.
NOT NULL이 제약이 걸려있는 열은 NULL 값을 추가할 수 없음.
열을 지정하지 않으면 Default 값으로 행이 추가됨.
DELETE FROM 테이블명 WHERE 조건식
WHERE 구를 지정한 경우에는 해당 조건식에 맞는 행만 삭제 대상.
ORDER BY 구는 사용할 수 없음. (어느 행부터 삭제할 지는 중요하지 않음.)
DELETE 와 TRUNCATE는 TABLE의 내용을 지우는 의미에서는 같은 기능.
TRUNCATE는 DDL, DELETE 는 DML.
데이터를 정의하는 언어로서 개체를 만들고 변경, 삭제하는 CREATE, ALTER, DROP문과 같은 것.
데이터 조작 언어로서 데이터를 가공하는 SELECT, INSERT, UPDATE, DELETE문과 같은 것.
TRUNCATE TABLE은 테이블에서 모든 행을 제거하지만 테이블 구조와 테이블의 열, 제약 조건, 인덱스 등은 그대로 남음.
테이블 정의 및 테이블의 데이터를 제거하려면 DROP TABLE 문을 사용.
테이블에 ID 열이 포함되어 있으면 해당 열의 카운터는 열에 대한 초기값으로 다시 설정됩니다. 초기값이 정의되어 있지 않으면 기본값인 1이 사용됩니다. ID 카운터를 보존하려면 DELETE를 대신 사용하십시오.
출처: https://pointnet.tistory.com/334 [점넷(.Net) 아지트]
UPDATE 테이블명 SET 열명 = 값 WHERE 조건식
UPDATE 테이블명 SET 열1=값1, 열2=값2, ... WHERE 조건식
DELETE와 달리 UPDATE는 셀 단위로 데이터를 갱신할 수 있음.
'='는 대입 연산자.
자료형에 맞는 값으로 갱신할 것.
WHERE 조건에 일치하는 모든 행이 갱신됨.(주의)
데이터베이스마다 처리되는 순서가 다를 수 있음.
Oracle에서는 SET 구에 기술한 식의 순서가 처리에 영향을 주지 않으나, MySQL에서는 기술된 순서로 갱신 처리가 일어남.
NULL값으로 갱신할 수 있음. 다만, NOT NULL 제약이 설정되어 있다면 당연히 불가능.
SQL의 DELETE 명령을 사용해 직접 데이터를 삭제하자는 사고 방식.
테이블에 '삭제플래그'와 같은 열을 미리 준비. 테이블에서 실제로 행을 삭제하는 대신, UPDATE 명령을 이용해 '삭제플래그'의 값이 유효하게 갱신.
즉, 실제 테이블 안에는 남아있는 값이나 참조할 때 '삭제플래그'가 삭제로 되어있는 행은 제외.
** 삭제 플래그 (flag)
Boolean값으로 삭제 여부 처리하거나 0과 1로 처리.
실제 데이터를 삭제하지 않기 때문에 삭제되지 전의 상태로 간단히 되돌릴 수 있음.