데이터 삽입, 수정, 삭제
INSERT
- 테이블에 새로운 레코드를 삽입하는 명령문
- 데이블에 새로은 레코드를 삽입
- 모든 속성 또는 부분 속성에 대한 속성값을 삽입
INSERT INTO 테이블이름 VALUES(값1, 값...)
INSERT INTO 테이블이름(컬럼1, 컬럼2...) VALUES(값1, 값...)
각 컬럼에 대응하는 값을 넣어줌(컬럼1 = 값1)
UPDATE
- 조건을 만족하는 레코드 특정 컬럼값을 수정
UPDATE 테이블이름 SET컬럼1=값1(, 컬럼2=값2....) WHERE 조건
UPDATE 테이블이름 SET컬럼1=수식1(, 컬럼2=수식2....) WHERE 조건
DELETE
- 조건에 일치하는 레코드 집합을 테이블에서 삭제
DELETE FROM 테이블이름 (WHERE 조건)
조건없으면 테이블 전체 삭제
삭제안될때 삭제하려는 것의 기본키를 참조하는 테이블이 있는지 확인해야함(첨조무결성제약조건)
SAFE UPDATES 모드
- WHERE 절이 없는 UPDATE/DELETE 문은 테이블의 전체 레코드를 변경/삭제
- 의도하지 않은 데이터 변경/삭제 방지위해 MySQL은 SAFE UPDATES 모드를 지원
- 기본키가 아닌 컬럼을 대상으로 수정/삭제 조건을 명시할 경우 실행 여부를 결정
SET SQL_SAFT_UPDATES = 0(끔) / 1(켬)
데이터 검색(1)
SELECT문 구문형식
- 한개이상의 테이블에서 주어진 조건에 만족하는 레코드를 출력하는 명령문
- 관계 대수의 셀렉션, 프로젝션, 조인, 카티션 프로덕트 연산자의 기능을 모두 포함하는 명령문
- 필수절인 SELECT 절과 부과적인 목적으로 사용할 수 있는 여러 절을 혼합하여 검색 기등을 구체화
SELECT문 각 절의 기능
- SELECT 절 : 결과에 포함되는 컬럼을 지정
- FROM 절 : 질의를 적용할 테이블을 지정
- ON/WHERE : 조인 조건/겈색할 레코드 조건을 지정
- GROUP BY : 레코드를 그룹화하기 위한 그룹 조건을 지정
- HAVING 절 : GROUP BY 절이 적용된 결과에 대한 조건을 지정
- ORDER BY 절 : 검색결과의 정랼 기준을 지정
단순질의문
- 레코드를 제한하지 않고 전체 테이블을 검색하는 SELECT문으로 WHERE절이 없음
SELECT 컬럼1, 컬럼2...컬럼n FROM 테이블
SELELCT * FROM 테이블 -> 전체
SELECT DISTICT 컬럼 FROM 테이블 -> 중복제거
조건질의문
- 산술연산식. 함수 등을 사용하여 표현한 조건을 WHERE 절에 기술하여 조건을 만족하는 레코드만 검색하는 SELECT문
- WHERE절은 UPDATE, DELETE 문에서도 동일하게 적용
산술연산자
비교연산자
논리연산자
데이터 정렬
- ORDER BY 절을 사용
- 검색 결과를 특정 컬럼에 대해 오름차순 또는 내림차순으로 정렬
- 오름차순 : ASC
- 내림차순 : DESC
SELECT 문 형식 ... ORDER BY 컬럼1 ASC/DESC, ... 컬럼n
ASC/DESC
특수연산자
-> 아무것도 안나옴(완전일치되어야만 나옴)
-> 특수연산자 사용할 경우
함수의 개념
- 특정 목적을 수행하도록 사전에 정의된 연산 및 기능을 수행한 후 결과값을 반환하는 명령어 집합
- 상용 DBMS는 검색결과가 사용자에세 여러 형태로 사용되도록 여러 데이터 타입에 대한 다양한 함수를 제공(MySQL 기준)
숫자함수
문자함수
날짜함수
함수의 사용