본문 바로가기

CS/DataBase41

데이터베이스 첫걸음 정리 - 16장. 행 추가하기 INSERT 데이터베이스에서 데이터를 조회할때는 SELECT 명령을 통해 조회할 수 있습니다. 그렇다면 데이터를 추가할때는 어떻게 해야할까요? 데이터베이스 데이터를 추가할때는 INSERT 명령을 사용할 수 있습니다. INSERT로 행 추가하기 INSERT 명령을 사용하면 테이블의 행 단위로 데이터를 추가할 수 있습니다. 먼저 테스트 용도로 다음 테이블을 생성해봅시다. CREATE TABLE sample ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, a varchar(30) NOT NULL, b date ); desc로 해당 테이블의 구조를 확인해보면 다음과 같습니다. 이제 INSERT 명령을 통해 행을 추가해봅시다. 먼저 INSERT INTO 뒤에 추가할 테이블 명을 적어줍시.. 2022. 9. 8.
데이터베이스 첫걸음 정리 - 15장. CASE 문으로 데이터 변환하기 함수를 사용하면 데이터를 임의의 형태로 변경할 수 있지만, 특정 상황에 따라 데이터를 변경하고 싶을 수도 있을 수 있습니다. 이런 경우 CASE문을 활용할 수 있습니다. CASE 문 특정한 상황에 특정 데이터를 반환시키고 싶을때 CASE문을 활용하면 간단하게 해결할 수 있습니다. CASE문은 다음과 같은 형태로 사용합니다. CASE WHEN 조건식 THEN 식1 [WHEN 조건식2 THEN 식2] [ELSE 식3] END 먼저 WHEN 절에는 참과 거짓을 반환하는 조건식을 적습니다. 해당 조건을 만족하여 참이 되는 경우는 THEN 절에 기술한 식이 처리됩니다. WHEN 절의 조건식을 차례로 비교해 나가다가 가장 먼저 조건을 만족한 WHEN 절과 대응하는 THEN 절 식의 처리결과를 CASE 문의 결과값으.. 2022. 9. 6.
데이터베이스 첫걸음 정리 - 14장. 날짜 연산 날짜/시간 데이터를 저장하는 방법은 데이터베이스 제품에 따라 크게 달라집니다. 날짜와 시간 전부를 저장할 수 있는 자료형을 지원하거나, 혹은 날짜는 DATE형, 시간은 TIME 형, 날짜와 시간은 DATETIME 형과 같이 세분화해 지원하는 데이터베이스 제품도 있습니다. 이번에는 날짜와 시간을 초 단위로 저장할 수 있는 날짜시간형을 기준으로 설명하겠습니다. SQL에서의 날짜 날짜나 시간 데이터는 수치 데이터와 같이 연산을 할 수 있습니다. 날짜시간 데이터를 연산하면 결괏값으로 동일한 날짜시간 유형의 데이터를 반환하는 경우도 있으며 기간의 차를 나타내는 기간형 데이터를 반환하는 경우도 있습니다. 기간형은 “10일간", “2시간 10분"과 같이 시간의 간격을 표현할 수 있습니다. 시스템 날짜 날짜시간 데이터.. 2022. 9. 5.
데이터베이스 첫걸음 정리 - 13장. 문자열 연산 데이터는 수치형 외에도 문자열형도 존재합니다. 이번에는 SQL에서 문자열형을 연산하는 방법을 알아보겠습니다. 문자열 결합 문자열 결합이란 다음과 같이 문자열 데이터를 결합하는 연산입니다. 'ABC' || '1234 -> 'ABC1234' 문자열을 결합하는 연산자는 데이터 베이스 제품마다 다르며 다음과 같습니다. 연산자/함수 연산 데이터베이스 + 문자열 결합 SQL Server CONCAT 문자열 결합 MySQL 문자열 결합은 2개의 열 데이터를 모아서 1개의 열 데이터로 처리하고 싶은 경우에 사용됩니다. 다음은 문자열 결합 예시입니다. (테스트 사이트 sqltest.net) SELECT CONCAT(firstname, lastname) FROM mysql_test_a; SUBSTRING 함수 SUBSTR.. 2022. 9. 4.
데이터베이스 첫걸음 정리 - 12장. 수치 연산 사칙 연산 SQL에서도 다음과 같이 사칙연산이 가능합니다. 연산자 연산 예 + 덧셈 1 + 2 → 3 - 뺄셈 1 - 2 → -1 * 곱셈 1 * 2 → 2 / 나눗셈 1 /2 → 0.5 % 나머지 1 % 2 → 1 데이터베이스 제품에 따라 % 대신 MOD 함수를 사용하는 경우도 있습니다. 연산자의 우선순위의 경우 일반적으로 사칙연산 할때와 같이 나눗셈, 곱셈, 나머지를 먼저 계산하고 다음은 덧셈, 뺄셈을 계산합니다. 우선순위가 같다면 왼쪽에서 오른쪽으로 계산하게 됩니다. SELECT 구로 연산하기 SELECT 구에는 열명을 지정한다고 학습했지만 이외에도 여러가지 식을 작성할 수 있습니다. 이 식은 열명, 연산자, 상수로 구성됩니다. SELECT 식 1, 식 2... FROM 테이블명 다음은 SELECT.. 2022. 9. 3.
데이터베이스 첫걸음 정리 - 11장. 결과행 제한하기 인터넷 쇼핑몰에서 물건을 구매하거나 커뮤니티 사이트의 게시판을 읽다 보면, 수많은 상품과 게시물을 전부 하나의 페이지에 표시하는 대신 몇 건식 나누어 표시하는 것을 알 수 있습니다. 이런 경우 LIMIT 구를 사용해 표시할 건 수를 제한할 수 있습니다. 행수 제한 LIMIT 구는 표준 SQL은 아닙니다. MySQL과 PostgreSQL에서 사용할 수 있는 문법이라는 점을 기억해둡시다. LIMIT구를 사용하기 위해서는 SELECT 명령의 마지막에 지정하는 것으로 WHERE 구나 ORDER BY 구의 뒤에 지정합니다. SELECT 열명 FROM 테이블명 WHERE 조건식 ORDER BY 열명 LIMIT 행수 LIMIT 다음에는 최대 행수를 수치로 지정합니다. 만약, LIMIT 10으로 지정하면 최대 10개의.. 2022. 9. 1.
데이터베이스 첫걸음 정리 - 10장. 복수의 열을 지정해 정렬하기 ‘상품 코드와 해당 상품의 하위번호'까지 함께 고려했을 때 하나의 행을 특정지을 수 있는 경우와 같이 하나의 열만으로는 행을 특정짓기 어려운 때가 많습니다. 이런 경우 복수의 열을 지정해 정렬할 수 있습니다. 복수 열로 정렬 지정 ORDER BY로 정렬을 하다보면 값은 값을 가진 행의 순서는 어떻게 정해지는지 궁금증이 들 수 있습니다. 또, ORDER BY 구는 생략할 수 있는데 이때 순서는 어떻게 정해질지도 궁금합니다. 답은, “순서는 일정하지 않다” 입니다. 데이터 베이스 서버의 당시 상황에 따라 어떤 순서로 행을 반환할지 결정됩니다. 따라서, 언제나 같은 순서로 결과를 얻고 싶다면 반드시 ORDER BY 구로 순서를 지정해야 합니다. 일반적으로 ORDER BY 구를 지정하지 않는 경향이 있으나 사실.. 2022. 8. 31.
데이터베이스 첫걸음 정리 - 9장. 정렬(ORDER BY) SELECT 명령에 ORDER BY 구를 지정하면 검색 결과의 행 순서를 바꿀 수 있습니다. ORDER BY구를 지정하지 않았을 경우에는 데이터베이스 내부에 저장된 순서로 반환됩니다. 언제나 정해진 순서로 결괏값을 얻기 위해서는 ORDER BY구를 지정해야 합니다. ORDER BY로 검색 결과 정렬하기 SELECT 명령의 ORDER BY 구로 정렬하고 싶은 열을 지정합니다. 지정된 열의 값에 따라 행 순서가 변경됩니다. 이때 ORDER BY 구는 WHERE 구 뒤에 지정합니다. SELECT 열명 FROM 테이블명 WHERE 조건식 ORDER BY 열명 검색 조건이 필요없는 경우에는 WHERE 구를 생략할 수 있으며 ORDER BY 구가 FROM 구 바로 뒤에 오게 됩니다. SELECT 열명 FROM 테이.. 2022. 8. 30.