분류 전체보기 287

[SQL 첫걸음] 18강. 데이터 갱신하기 - UPDATE

데이터 갱신하기 - UPDATE 테이블에 저장되어 있는 데이터를 갱신하기 위해서는 UPDATE 명령을 사용한다. UPDATE 테이블 SET 열1=값1, 열2=값2... WHERE 조건식; UPDATE로 데이터 갱신하기 데이터를 잘못 입력하거나 변경되어 값을 수정해야 하는 경우 UPDATE 명령으로 셀 값을 갱신할 수 있다. UPDATE sample41 SET a='AAA',b='2021-01-27' WHERE no=3; UPDATE로 갱신할 경우 주의사항 SET구에서 =는 비교 연산자가 아닌 대입 연산자이다. UPDATE sample41 SET no = no+1; 위 명령을 실행하면 WHERE 구가 지정되어 있지 않으므로 테이블의 no열의 모든 행이 no+1로 갱신된다. 복수열 갱신 UPDATE의 SET..

자격증/SQLD 2022.04.04

[SQL 첫걸음] 17강. 삭제하기 - DELETE

삭제하기 - DELETE DELETE로 행 삭제하기 DELETE FROM 테이블 WHERE 조건식 DELETE 명령을 실행하기 전 SELECT 명령으로 기존 테이블의 데이터를 확인하는 것이 좋다. WHERE구를 따로 지정하지 않고 DELETE하면 테이블의 모든 데이터가 삭제된다. 또한 DELETE는 다른 명령처럼 열을 지정할 수 없어 WHERE 조건에 일치하는 모든 행을 삭제한다. DELETE 명령구 MySQL에서는 DELETE명령에서 ORDER BY와 LIMIT구를 사용해 삭제할 행을 지정할 수 있다. DELETE FROM sample41 WHERE no = 1 OR no = 2;

자격증/SQLD 2022.04.04

[SQL 첫걸음] 16강. 행 추가하기 - INSERT

행 추가하기 - INSERT SELECT는 질의를 하면 DB 서버에서 클라이언트로 결과를 반환하는 검색 명령이다. 반대로 INSERT,UPDATE,DELETE 등 데이터를 변경하는 명령은 클라이언트에서 서버로 데이터를 전송한다. INSERT 로 행 추가하기 INSERT [INTO] 테이블 VALUES (값1,값2...); sample41 저장된 데이터가 없는 테이블이다. DESC로 조회한 저장가능한 데이터 유형은 위와 같다. INSERT INTO sample41 VALUES(1,'ABC','2021-01-26'); 위 명령으로 sample41 테이블에 데이터를 추가한 후 다시 조회하면 다음과 같은 결과가 나온다. 값을 저정할 열 지정하기 INSERT [INTO] 테이블(열1,열2...) VALUES (값..

자격증/SQLD 2022.04.04

[SQL 첫걸음] 15강. CASE문으로 데이터 변환하기

임의의 조건에 따라서 독자적으로 변환 처리를 지정해서 데이터를 변환하고 싶을 때 CASE문을 사용할 수 있다. CASE WHEN 조건식1 THEN 식1 [WHEN 조건식2 THEN 식2...] [ELSE 식3] END CASE문 예를 들어, NULL값을 0으로 간주해서 계산하고 싶을 때는 어떻게 해야 할까? NULL값으로 연산한 결과는 모두 NULL이 되는데? 이 경우에 CASE문을 이용해서 처리할 수 있다. RDBMS에서는 사용자가 함수를 작성할 수 있다. 간단한 처리의 경우에는 사용자 정의 함수를 작성하지 않고 CASE문으로 처리할 수 있다. WHEN절: 참과 거짓을 반환하는 조건식을 적어준다. 해당 조건을 만족해서 참이 되는 경우, THEN절에 있는 식이 처리된다. 이때 WHEN과 THEN을 한데 ..

자격증/SQLD 2022.04.04

[SQL 첫걸음] 14강. 날짜 연산

CURREUNT_TIMESTAMP CURRENT_DATE INTERVAL SQL에서의 날짜 시스템 날짜 RDBMS에서는 시스템 날짜와 시간을 확인하는 함수를 제공한다. CURREUNT_TIMESTAMP는 함수이지만 인수를 필요로 하지 않는다. 즉, 괄호를 사용하지 않는 함수이다. #CURREUNT_TIMESTAMP로 시스템 날짜 확인 SELECT CURRENT_TIMESTAMP; # 2020-05-03 20:00:30 위의 예문에서 FROM구를 생략했는데, SELECT구만으로도 실행되지만, Oracle과 같이 전통적인 데이터베이스에서는 FROM구는 생략할 수 없으니 주의하자. 날짜 서식 날짜 데이터를 데이터베이스에 저장할 때는 CURREUNT_TIMESTAMP를 사용해서 시스템 상의 날짜를 저장할 수 있..

자격증/SQLD 2022.04.04

[SQL 첫걸음] 13강. 문자열 연산

문자열 결합 문자열 결합이란 문자열 데이터를 결합하는 연산을 말한다. 문자열을 결합하는 연산자에는 데이터베이스 제품마다 방언이 있어서 차이가 있다. + || CONCAT SUBSTRING TRIM CHARACTER_LENGTH 데이터베이스 제품별 문자열 결합 연산자 +: SQL Server ||: Oracle, DB2, PostgreSQ CONCAT: MySQL 연산자, || 연산자, CONCAT함수로 문자열을 결합할 수 있다! 문자열 결합은 2개의 열 데이터를 모아서 1개의 열로 처리하고 싶은 경우에 자주 사용한다. 문자열 결합 예시 SELECT * FROM world.countrylanguage c ; 위의 테이블 countrylanguage Language열과 CountryCode열의 데이터를 결합..

자격증/SQLD 2022.04.04

[SQL 첫걸음] 12강. 수치 연산

SELECT구로 연산하기 SELECT 식1, 식2... FROM 테이블명; 열의 별명 별명이 중복되지 않게 지정한다. 별명은 예약어 AS를 사용해서 지정한다. SELECT구에서는 콤마(,)로 구분해서 복수의 식을 지정할 수 있고, 각각의 식에 별명을 붙일 수 있다. MySQL에서는 별명을 중복해서 지정해도 에러는 발생하지 않는다. But, 프로그래밍 언어에서 결과값의 처리 방식에 따라 문제가 발생할 수 있다. 기본적으로 별명이 중복되지 않게 지정하자. 키워드 AS는 생략 가능하다. 단, 별명을 한글로 지정하는 경우에는 여러 가지로 오작동하는 경우가 많다. 더블쿼트("")로 감싸서 지정한다. (MySQL에서는 백쿼트(``)로 감싸준다!) 더블쿼트("")로 감싸주면, 데이터베이스 객체의 이름이라고 간주한다...

자격증/SQLD 2022.04.04

[SQL 첫걸음] 11강. 결과 행 제한하기- LIMIT

1. LIMIT구 mysql> SELECT 열명 FROM 테이블명 LIMIT 행수 [OFFSET 시작행]; 2. 행수 제한 LIMIT구는 표준 SQL은 아니다. MYSQL과 PostgreSQL에서 사용할 수 있는 문법 2-1. LIMIT구 문법 mysql> SELECT 열명 FROM 테이블명 WHERE 조건식 ORDER BY 열명 LIMIT 함수; LIMIT 다음에는 최대 행수를 지정한다. 만약, 테이블에 1개의 행만 있다면, LIMIT 3으로 지정하더라도 1개의 행만 반환된다. LIMIT으로 제한하는 행수는 최대 행수이므로 존재하는 행이 더 적으면 존재하는 해당 행만큼 반환된다! 2-2. 정렬한 후 제한하기 LIMIT은 WHERE와는 기능과 내부처리 순서가 전혀 다르다! LIMIT 반환할 행수를 제한하..

자격증/SQLD 2022.04.04

[SQL 첫걸음] 10강. 복수의 열을 지정해 정렬하기

1. ORDER BY mysql> SELECT 열명 FROM 테이블명 WHERE 조건식 ORDER BY 열명1 [ASC | DESC], 열명2 [ASC | DESC]...; 복수의 열을 지정해 정렬하는 경우 ex) 상품코드와 해당 상품의 하위 번호까지 함께 고려하는 경우 정렬할 때 NULL값에 주의해야 한다! 2. 복수 열로 정렬 지정 ORDER BY구를 지정해도 1개의 열만으로는 정확히 순서를 결정할 수 없는 경우가 많다. 언제나 같은 순서로 결과를 얻고 싶다면, 반드시 ORDER BY구로 순서를 지정해야 한다. 2-1. ORDER BY구로 복수 열 지정하기 mysql> SELECT 열명 FROM 테이블명 ORDER BY 열명1, 열명2...; 값이 같아서 순서를 결정할 수 없는 경우에는 다음으로 지정..

자격증/SQLD 2022.04.04

[SQL 첫걸음] 9강. ORDER BY

1. ORDER BY로 검색 결과 정렬하기 SELECT 명령에 ORDER BY 구를 지정하면 검색 결과의 행 순서를 바꿀 수 있다. 2. 오름차순으로 정렬 SELECT 열 FROM 테이블 WHERE 조건식 ORDER BY 열 ASC; ASC는 생략 가능하다. 3. 내림차순으로 정렬 SELECT 열 FROM 테이블 WHERE 조건식 ORDER BY 열 DESC; 검색 조건이 필요없으면 WHERE 구를 생략한다. 4. 대소관계 4-1. 수치형 데이터, 날짜형 데이터 : 숫자 크기로 판별 1 < 2 < 10 < 100 1999 < … < 2013 < … < 2020 4-2. 문자열형 데이터 : 사전식 순서(ABC순, 가나다순) 가방 < 가족 < 나비 car < flower < glasses 4-3. 사전식 순..

자격증/SQLD 2022.04.04