Category: SQL

0

복수의 테이블 다루기

07장 복수의 테이블 다루기UNION으로 합집합 구하기UNION으로 합집합 구하기SELECT * FROM sample71_a;+------+| a |+------+| 1 || 2 || 3 |+------+3 rows in set (0.00 sec) SELECT * FROM sample71_b;+------+| b |+------+| 2 || 10 || 11 |+------+3 rows in set (0.00 sec) 두개의 SELECT 명령을 UNION해서 합집합 구하기SELECT * FROM sample71_aUNIONSELECT * FROM sample71_b; 결과 +------+| a |+------+| 1 || 2 || 3 || 10 || 11 |+------+5 rows in set (0.00 sec)

0

데이터베이스 객체 작성과 삭제

6장 데이터베이스 객체 작성과 삭제26장 테이블 작성, 삭제, 변경CREATE TABLE로 테이블 작성하기CREATE TABLE sample62( no INTEGER NOT NULL, a VARCHAR(30), b DATE);) 결과 mysql> DESC sample62;+-------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| no | int | NO | | NULL | || a | varchar(30) | YES | | NULL | || b | date | YES | | NULL | |+-------+-------------+------+-----+---------+-------+3 rows in set (0.00 sec) 데이터 행 삭제 TRUNCATE TABLE [테이블명] ALTER TABLE로 테이블에 열 추가하기

0

집계와 서브쿼리

집계와 서브쿼리행 개수 구하기 - COUNTCOUNT로 행 개수 구하기 테이블 SELECT* FROM sample51;+------+------+----------+| no | name | quantity |+------+------+----------+| 1 | A | 1 || 2 | A | 2 || 3 | B | 10 || 4 | C | 3 || 5 | NULL | NULL |+------+------+----------+5 rows in set (0.00 sec) 명령어 SELECT COUNT(*) FROM sample51; 결과 +----------+| COUNT(*) |+----------+| 5 |+----------+1 row in set (0.00 sec)

0

데이터 추가, 삭제, 갱신

데이터 추가, 삭제, 갱신행 추가하기 - INSERT 명령어 SELECT * FROM sample41; 결과 Empty set (0.00 sec) 현재는 비어있는 테이블이다. sample41 열 구성 확인하기 명령어

0

정렬과 연산

정렬과 연산정렬하기 - ORDER BY 기존 테이블 mysql> SELECT * FROM sample31;+------+------+---------------------------+| name | age | address |+------+------+---------------------------+| A씨 | 36 | 대구광역시 중구 || B씨 | 18 | 부산광역시 연제구 || C씨 | 25 | 서울특별시 중구 |+------+------+---------------------------+3 rows in set (0.00 sec) age를 기준으로 테이블 정렬하기 명령어 SELECT* FROM sample31 ORDER BY age; 나이를 기준으로 테이블sample31을 정렬하였다. 결과

0

테이블에서 데이터 검색

테이블에서 데이터 검색use sample SELECT 명령어SELECT * FROM sample21; SELECT는 DML에 속하는 멸령으로 SQL에서 자주 사용된다.SELECT명령으로 데이터 베이스의 데이터를 읽어올 수 있다.*는 모든 열을 의미하는 메타문자이다.FROM은 처리 대상 테이블을 지정하는 키워드 결과+------+-----------+------------+---------------------------+| no | name | birthday | address |+------+-----------+------------+---------------------------+| 1 | 박준용 | 1976-10-18 | 대구광역시 수성구 || 2 | 김재진 | NULL | 대구광역시 동구 || 3 | 홍길동 | NULL | 서울특별시 마포구 |+------+-----------+------------+---------------------------+3 rows in set (0.00 sec) NULL은 데이터 값으로 아무것도 저장되어 있지 않은 상태를 의미한다. DESC 명령어

0

SQL - DDL DML DCL

DDL DML DCLDDL 데이터 베이스 스키마를 정의하기 하거나 조작하기 위한 명령어 명령어 설명 CREATE 데이터 베이스, 테이블을 생성하기 위한 명령어 ALTER 테이블을 수정하기 위한 명령어 DROP 데이터베이스, 테이블을 삭제하기 위한 명령어 RENAME TRUNCATE 데이터베이스를 초기화 시키기 위한 명령어 DML 데이터 베이스에 저장된 데이터를 조회, 수정, 삽입, 삭제하기 위한 언어 명령어 설명 SELECT 데이터를 조회 하기 위한 명령어 INSERT 데이터를 삽입하기 위한 명령어 UPDATE 데이터를 수정하기 위한 명령어 DELETE 데이터를 삭제하기 위한 명령어 DCL 데이터 베이스에 접근하거나 객체에 권한을 주는 역할을 하는 언어

0

트랜잭션과 ACID

목차 트랜잭션과 ACID 트랜잭션 격리수준 (Isolation Level) 트랜잭션과 ACID 원자성(Atomicity) 일관성(Consistency) 격리성(Isolation) 지속성(Durability) 원자성 보장 트랜잭션 원자성은 All or Nothing 으로 부분적으로 실행되거나 중단되지 않음을 보장한다. 즉, 분해가 불가능한 최소 단위인 하나의 원자처럼 동작한다는 의미 트랜잭션에 의한 변경 내용을 유지하면서, 이전에 Commit 된 시점의 데이터를 임시영역에 따로 저장함으로써 원자성을 보장한다. 현재 수행하고 있는 트랜잭션에 오류가 나면 현재 내역을 날려버리고 임시 영역에 저장했던 상태로 Rollback 을 한다. 이전 데이터들이 저장된 영역을 롤백 세그먼트라고 부른다. 현재 수행중인 트랜잭션에 의해 새롭게 변경되는 내역을 데이터베이스 테이블이라 부른다. 트랜잭션의 원자성은 롤백 세그먼트에 의해 보장이 된다. Consistency - 일관성 보장 트랜잭션 수행 전, 후 데이터 베이스 제약 조건 이나, 자료형 이 변하지 않음을 보장한다.

0

sql.md

SQL 첫걸음 My SQL 설치하기 1장 데이터 베이스 구축 2장 테이블에서 데이터 검색 3장 정렬과 연산 4장 데이터 추가, 삭제, 갱신 5장 집계와 서브쿼리 6장 데이터베이스 객체 작성과 삭제 7장 복수의 테이블 다루기 SELECTFROMWHEREGROUP BYHAVINGORDER BYIFNULL, ISNULL, COALESCE, NVL