뚜벅뚜벅 개발일기

「세상은 죽을 때까지도 전체를 다 볼 수 없을 만큼 크고 넓으며, 삶은 말할 수 없이 아름다운 축복이다.」

MySQL - 제약 (NOT NULL 등)

테이블에 제약을 설정해 저장할 데이터를 제한할 수 있다. 그 중 하나가 NOT NULL제약이다. NOT NULL 제약은 NULL값이 저장되지 않도록 제한한다. 이외에도 Primary Key제약이나 외부참조(Foreign Key)제약 등이 있다. 1. 테이블 작성시 제약 정의 CREATE TABLE을 통해 테이블을 작성할 때 열에 제약을 같이 정의한...

MySQL - 데이터베이스 객체

데이터베이스 객체 테이블이나 뷰, 인덱스 등 데이터베이스 내에서 정의하는 모든 것을 일컫는다. 객체는 이름을 갖는다. 데이터베이스 내에서 객체를 작성할 땐 이름이 겹치지 않도록 한다. 또한, 의미 없는 번호 등으로 이름을 붙이지 않는다. 명명규칙 기존 이름이나 예약어와 중복하지 않는다. 숫자로 시작할 수 없다. 언더스코어 이외...

MySQL - 상관 서브쿼리

EXISTS EXISTS를 사용하면 서브쿼리가 반환하는 결과값의 존재여부를 확인할 수 있다. EXISTS가 반환된 행이 있는지 확인해보고 있으면 True, 없으면 False를 반환한다. 예시 test2 테이블에 test1 테이블의 no 열의 값과 같은 행이 있다면 있음이라는 값으로, 없으면 없음이라는 값으로 갱신하고 싶다. test1 테이블 ...

MySQL - 서브쿼리

서브쿼리 SQL 명령문의 SELECT, FROM, WHERE 뒤에 SELECT 명령을 넣어 사용할 수 있다. 1 2 3 4 DELETE FROM test_table WHERE a = ( SELECT MIN(a) FROM test_table; ) 위의 SQL문에서 WHERE 뒤에 기술되는 SELECT문을 서브쿼리라고 한다. DELETE에 ...

MySQL - GROUP BY로 그룹화하기

GROUP BY로 그룹화하기 GROUP BY는 집계함수로 넘길 집합을 그룹으로 나눠준다. no name 1 A 2 A 3 B 4 C ...

MySQL - 집계함수 (COUNT)

COUNT로 행 개수 구하기 SQL은 집합을 다루는 집계함수를 제공한다. 집계함수는 인수로 집합을 지정하기 때문에 집합함수라고 부르기도 한다. COUNT함수는 인수로 주어진 집합의 개수를 구해 반환한다. no name 1 A 2 ...

MySQL - 집계함수 (COUNT 이외)

📌SUM으로 합계 구하기 no name quantity 1 A 1 2 A 2 3 B 10 4 C ...

알고리즘 - 정렬

선형검색, 이진검색, 버블정렬, 선택정렬, 병합정렬

▶️선형검색 배열의 인덱스를 처음부터 끝까지 하나씩 증가시키면서 그 값이 속하는지 검사한다. 1 2 3 4 n개의 원소가 있는 배열에서 50을 찾는다. 1) 0부터 n-1까지의 인덱스를 방문하여 값을 확인한다. 2) 원소가 50이면 true를 반환한다. 찾고자 하는 자료를 찾을 때까지 모든 자료를 확인해야 하기때문에 최악의 경우 리스트...

MySQL - DELETE로 데이터 삭제/UPDATE로 데이터 갱신

DELETE로 데이터 삭제하기 DELETE FROM 테이블명 WHERE 조건 1 DELETE FROM test_table; test 테이블의 모든 데이터가 삭제된다. WHERE을 사용해 삭제할 데이터를 지정할 수 있다. WHERE 뒤에 오는 조건과 일치하는 모든 행이 삭제된다. ORDER BY는 행을 삭제할 때 데이터를 정렬하는 것이 의미...

MySQL - INSERT로 데이터 추가하기

INSERT로 테이블에 행 추가하기 INSERT INTO 테이블명 VALUES (값1, 값2, …); INSERT를 사용해 테이블에 행 단위로 데이터를 추가할 수 있다. 1 INSERT INTO test_table(no, result) VALUES (1,'ABC'); no result ...