전에 배웠던 내용을 리마인드 겸 정리한다.
쿼리문 (Query)
- 대소문자 구분 X
- `(벡텍) : 중간에 공백이 있는 개체의 이름을 사용하고자 할 때 사용
- * : 모든 것을 지칭
- ' ', " " : 문자열을 묶어서 사용
- 구분자는 , 를 사용
- 한줄 주석은 --, 여러줄 주석은 /* */
기본적으로 쿼리문 실행은 cmd + enter
모든 쿼리문 실행 시 첫번째 번개모양 아이콘
블록으로 지정해준 쿼리문만 실행하려면 두번째 번개모양 아이콘 사용
MySQL 데이터 타입 정리 | |
데이터 타입 | 데이터 크기 |
TINYINT[(M)] | 1바이트 -128~127 |
SMALLINT[(M)] | 2바이트 -32768~32767 |
INT | 4바이트 |
BIGINT | 8바이트 |
FLOAT | 실수 |
VARCHAR[길이] | 가변길이 문자열 데이터 타입 |
CHAR[길이] | 고정길이 문자열 데이터 타입 |
SELECT 구문 - 테이블 결과 출력
- SELECT 컬럼명 FROM (스키마명.)테이블명 WHERE 조건;
같지 않음은 != 이 아닌, <> 을 사용해준다.
- ORDER BY 컬럼명 : 오름차순
- ORDER BY 컬럼명 ASC : 오름차순
- ORDER BY 컬럼명 DESC : 내림차순
- BETWEEN A AND B : A와 B 사이의 범위 안에 드는 데이터
- AND : 그리고 / OR : 또는
UPDATE 구문 - 테이블 데이터 수정
- UPDATE 테이블명 SET 속성1=`값`, ... WHERE 조건;
테이블 생성 쿼리문
- CREATE TABLE 테이블명 ( ... );
테이블 전체 복사 : CREATE TABLE 테이블명 (SELECT * FROM 복사해줄 테이블명);
일부 컬럼 복사 : CREATE TABLE 테이블명 (SELECT 복사할컬럼명 FROM 복사해줄테이블명);
INSERT 구문 - 테이블 데이터 추가
- INSERT INTO 테이블명(컬럼명, 컬럼명, ...) VALUES(값1, 값2, ...);
- 컬럼에 따른 값이 따로 들어가지 않으면 NULL 이 들어감
DELETE 구문 - 테이블 행 삭제
- DELETE FROM 테이블명 WHRER 조건;
ALTER TABLE 구문 - 테이블 컬럼 추가/삭제
- ALTER TABLE 테이블명 ADD 컬럼명 자료형; -> 컬럼 추가
- ALTER TABLE 테이블명 DROP 컬럼명; -> 컬럼 삭제
색인 생성
- CREATE INDEX 인덱스명 ON 테이블명(컬럼명);
가상 테이블 View
데이터베이스에 존재하는 일종의 가상 테이블을 View 라고 한다. 실제로 데이터를 저장하고 있진 않다.
여러 테이블을 번거롭게 들러서 확인해야 할 때 혹은 SELECT 문을 겹겹이 사용하여 어려운 쿼리문으로 조회를 수행해야할 때 번거로움을 줄여주기 위해 사용되지만 다른 테이블이나 다른 뷰에 있는 데이터를 보여주는 역할만 수행한다.
- CREATE VIEW 뷰이름 AS SELECT 컬럼명, ... FROM 테이블명;
스토어드 프로시저
두 개 이상의 SQL문을 하나로 묶어서 사용할 수 있게 해주는 기능
// 1. 프로시저 생성
delimiter $$
create procedure `프로시저명` ()
begin
~~~~~~~~~쿼리문
end $$
delimiter ;
// delimiter는 구문 문자를 의미(문법의 끝을 나타내는 역할) // delimiter $$ ~ end $$ ~ delimiter ;
// 2. 프로시저 콜
call `프로시저명` ();
트리거
테이블에 부탁되어 insert, update, delete 작업이 발생되면 자동으로 무언가 실행되게 할 수 있는 기능
create trigger 트리거명
(before/after) (insert/update.delete) -- 조건
on 테이블명
for each row
begin
쿼리문
end $$
조건을 +해서 추가해주면 원하는 기능을 입력 가능하다.
위의 예시의 경우, after delete 후, deleteuserbackuptable 에 insert into해주는 구문이다.
그외 추가 용법들
1. like~% 이름이 특정 문자로 시작되는 데이터 검색
2. distinct 범주를 조회, 중복된 것은 하나만 남긴다
'학원에서 배운 것 > DBMS MySQL' 카테고리의 다른 글
KDT 5th 웹개발자 입문 수업 29일차 (0) | 2023.03.16 |
---|---|
KDT 5th 웹개발자 입문 수업 28일차 - 1 (0) | 2023.03.15 |
KDT 5th 웹개발자 입문 수업 27일차 (1) | 2023.03.14 |