반응형

MYSQL 25

[MySQL] CASE

CASE WHEN 다음의 조건이 성립하면 THEN 다음의 식이 실행된다. ▶ 기본 문법 CASE WHEN 조건식1 THEN 식1 (WHEN 조건식2 THEN 식2) (ELSE 식3) END CASE WHEN 1 THEN '남자' WHEN 2 THEN '여자' END 검색케이스문 null을 활용한 조건을 실행할시 더 적합하다. mysql> SELECT a, -> CASE WHEN a IS NULL THEN 0 -> ELSE a -> END AS 'a(null=0)' -> FROM sample37; mysql> SELECT a, -> CASE WHEN a=1 THEN '남자' -> WHEN a=2 THEN '여자' -> END AS 성별 -> FROM sample37; ▶ null값이 0 일때 평균을 구하기..

SQL 2022.09.16

[MySQL] 집계함수

집계함수 집계함수 설명 COUNT 개수 SUM 합계 AVG 평균 MIN 최소 MAX 최대 COUNT -- *은 모든 열 이라는 의미가 있다. SELECT COUNT(*) FROM sample51; +----------+ | COUNT(*) | +----------+ | 5 | +----------+ -- sample51 +------+------+----------+ | no | name | quantity | +------+------+----------+ | 1 | A | 1 | | 2 | A | 2 | | 3 | B | 10 | | 4 | C | 3 | | 5 | NULL | NULL | +------+------+----------+ ▶ name이 A인 것의 합계 SELECT COUNT(*) FR..

SQL 2022.09.16

[MySQL] AS

AS 테이블의 컬럼에 이름을 붙인다. AS를 생략해도 가능하다. ▶ 구문의 순서 FROM → WHERE → SELECT → ORDER BY 테이블선택 → 행 선택 → 열 선택 (추가 열) ▶ 예제 SELECT *, price * quantity AS amount FROM sample34; +------+-------+----------+--------+ | no | price | quantity | amount | +------+-------+----------+--------+ | 1 | 100 | 10 | 1000 | | 2 | 230 | 24 | 5520 | | 3 | 1980 | 1 | 1980 | +------+-------+----------+--------+ SELECT *, price * ..

SQL 2022.09.16

[MySQL] 날짜 연산

날짜 연산 유일하게 FROM구를 사용하지 않고 데이터를 불러온다. ORACLE에서는 FROM 생략 불가 ORACEL 방언에서는 SYDATE 함수 SQL Server 방언에서는 GETDATE 함수가 존재한다. 표준 함수사용이 필요하다. 국가간 표시 ▶ 기본 구문 시간 데이터를 저장한다. SELECT CURRENT_TIMESTAMP; ▶ ORACLE TO_DATE('2020/03/22', 'YYYY/MM/DD') 문자열 데이터 → 날짜형 데이터 TO_CHAR 날짜형 데이터 → 문자열 데이터 시간 더하기, 빼기 SELECT CURRENT_TIMESTAMP - INTERVAL 1 MONTH; SELECT CURRENT_TIMESTAMP - INTERVAL 1 DAY; 시간 더하기, 빼기 함수 ▶ 더하기 DATE..

SQL 2022.09.16

[MySQL] DELETE, UPDATE

DELETE 행을 삭제한다. ▶ 기본문법 DELETE FROM 테이블명 WHERE 조건식 ▶ 예제 DELETE FROM sample41 WHERE no=3; UPDATE 행을 추가 한다. ▶ 기본문법 UPDATE 테이블명 SET 열1 = 값1, 열2 = 값2, ... WHERE 조건식 ▶ 예제 UPDATE sample41 SET b='2020-03-24' WHERE no=2; UPDATE sample41 SET no = (no+1); UPDATE sample41 SET b = '2020-03-23' WHERE no = 2; UPDATE sample41 SET a = '2020-03-23' WHERE no = 2; ▶ NULL값 업데이트 UPDATE sample41 SET a = NULL; +----+--..

SQL 2022.09.16

[MySQL] 수치연산

수치연산 식에 해당되는 행과 행을 계산한 행을 가져온다. 연산 순위는 *, /, %가 우선순위로 계산되며 그 다음으로 +, -가 계산된다. ▶ 기본 문법 SELECT 식1, 식2, ... FROM 테이블명 - SELECT 식 1 , 식 2 ... from 테이블명 ▶ 예시 SELECT *, price * quantity FROM sample34; +------+-------+----------+------------------+ | no | price | quantity | price * quantity | +------+-------+----------+------------------+ | 1 | 100 | 10 | 1000 | | 2 | 230 | 24 | 5520 | | 3 | 1980 | 1 |..

SQL 2022.09.16

[MySQL] INSERT

INSERT 테이블에 새로운 행을 입력한다. ▶ 기본문법 INSERT INTO 테이블명 (열1, 열2, ...) VALUES (값1, 값2) ▶ 비어있는 테이블에 데이터를 입력. INSERT INTO sample41 (no, a, b) VALUES (1, 'ABA', '2014-01-25'); ▶ NULL 값 입력 결측치 입력이 가능한 행만 NULL이 입력된다. INSERT INTO sample41 (no, a, b) VALUES (3, NULL, NULL); ▶ DEFAULT 값 입력 0이 들어간다. 의미적으로 결측치를 넣는것이 더 좋다. > INSERT INTO sample411(no, d) VALUES (2, DEFAULT);

SQL 2022.09.16

[MySQL] 예약어

예약어 SELECT와 FROM이 구를 결정하는 키워드이자 예약어이다. 데이터베이스에는 테이블 외에 다양하 데이터를 저장하거나 관리하는 어떤 것 을 만들 수 있다. '뷰 (view)' 데이터베이스 객체는 이름을 붙여 관리한다. 통상적으로 데이터베이스 객체명은 예약어와 동일한 이름을 사용할 수 없다. 테이블 정보 가져오기 ▶ 데이터를 보여준다. show databases ; show tables; non-TEMPOPARY 테이블에 대한 많은 정보를 가져온다. SHOW TABLE STATUS; 열 지정 ▶ 해당 테이블의 내용을 볼 수 있다. SELECT * FROM 테이블명 열을 지정하지 않거나 존재하지 않는 열을 지정하면 에러 발생. 열의 지정 순서는 임의로 가능. 여러개의 같은열도 지정 가능(의미 없음)...

SQL 2022.09.14

[MySQL] 실행, 종료 (MAC)

MySQL 실행 (MAC) ▶ 터미널 서버를 불러온다. mysql.server start 비밀번호가 없을시 mysql -u root 비밀번호가 있을 시 아래와 같이 입력후 다음 라인에서 비밀번호를 입력한다. 비밀번호가 없을 시 Enter로 넘어갈 수 있다. mysql -u root -p ▶ 파일로 바로 들어간다. mysql -u root (파일명) ▶MySQL 폴더로 파일을 옮기고 파일을 불러온뒤 아래의 코드 실행 기본 터미널에서 ls를 실행했을때의 폴더가 현재의 MySql폴더. source sample.dump (파일명) source sample.sql (파일명) ※ sql명령어 마지막에 ; 를 꼭 붙여주어야한다. 종료

SQL 2022.09.14

[MySQL] JOIN

JOIN 정의 n개 이상의 관계성이 존재하는 테이블을 참조하여 하나의 테이블을 만들어내는 연산이다. 튜플의 조합 집합을 만들어내는 연산이다. * JOIN은 RDBMS에서 가장 강력하고 중요한 연산이다. JOIN 시나리오 책과 작가를 소개하는 사이트다. 책은 제목, 작가, 책 소개글이 필요하다. 작가는 이름, 사는도시, 직업, 직업 소개글이 필요하다. CREATE TABLE topiktbl ( id INT NOT NULL PRIMARY KEY, title VARCHAR(40) NOT NULL, description VARCHAR(100), name VARCHAR(20), city VARCHAR(20), job_title VARCHAR(40), job_description VARCHAR(100) ); INS..

SQL 2022.04.01
반응형