티스토리 뷰
▶▶ SQL이란?
– Structured Query Language
– 데이터 엑세스를 위해 Oracle Server와 통신하는 언어.
– 관계형 데이터베이스의 서버와 정보를 주고 받을 때 사용하는 언어.
– 기본적으로 대소문자를 구분하지 않음.
▶ 용어

• 열 (column)
– 속성을 나타냄.
ex ) employe_id, last_name, first_name...
• 행 (row)
– 테이블에 담겨 있는 하나의 데이터의 모든 데이터 값 (레코드 데이터)
ex ) 1명의 사원이 가진 모든 속성이 포함된 데이터.
– 필드에는 한 개의 값들만 보관됨.
ex ) 숫자, 문자, 날짜...
– 하나의 속성(col)에는 단일 데이터타입이 입력됨.
ex ) ID 속성에는 무조건 숫자만, Last name 속성에는 무조건 문자만
▶ PRIMARY KEY & FOREIGN KEY
– 제약조건
1. PRIMARY KEY(기본키, 부모)
– 테이블의 각 행(row)을 고유하게 식별하는 열(column) 또는 열 집합.
– 무조건 값이 있어야 하며 중복 불가능.
– 겹치지 않는 고유 값 .
ex ) 사원번호
2. FOREIGN KEY(외래키, 자식)
– 다른 테이블의 기본 키를 참조(인용)하는 열.
– 그래서 조작이 불가능하며 그대로 써야 함.
– 중복이 가능하나 값이 없다거나 엉뚱한 값이 있을 순 없음.
– 부모에게 물려받은 것만 활용 가능.


▶▶ DB 사용 순서
- SHOW : 현재 가지고 있는 데이터베이스 목록 조회 // mysql> SHOW databases;
- USE : 이제부터 접속할 데이터베이스를 선택함 // mysql> USE hr;
- SHOW : 데이터베이스의 테이블 목록 조회 // mysql> SHOW tables;
- DESCRIBE : 테이블 구조 조회 // mysql> DESCRIBE employees;
- SELECT & FROM : SELECT + 컬럼명 & FROM + 테이블명 // mysql> SELECT employee_id FROM employees;
▶ show databases;
– 현재 가지고 있는 데이터베이스를 보여줌.
mysql> show databases; +--------------------+ | Database | +--------------------+ | hr | // 내가 설치한 것 | information_schema | | mysql | | performance_schema | | sakila | | sys | | world | // 샘플 데이터베이스 +--------------------+
▶ use + db name;
– 사용할 데이터베이스 선택.
mysql> use hr; Database changed
▶ show tables;
– db는 테이블 단위로 묶어서 보관함.
– hr db가 가진 테이블 목록을 보여줌.
mysql> show tables; +------------------+ | Tables_in_hr | +------------------+ | countries | | departments | | emp_details_view | | employees | | job_history | | jobs | | locations | | regions | +------------------+ 8 rows in set (0.01 sec)
▶ describe + 테이블명;
– desc 테이블명도 가능.
– 테이블 구조조회.
– 컬럼의 목록, 데이터타입, 다른 속성값들을 조회가능.
mysql> DESCRIBE employees; +----------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------------+--------------+------+-----+---------+-------+ | employee_id | int unsigned | NO | PRI | NULL | | | first_name | varchar(20) | YES | | NULL | | | last_name | varchar(25) | NO | | NULL | | | email | varchar(25) | NO | | NULL | | | phone_number | varchar(20) | YES | | NULL | | | hire_date | date | NO | | NULL | | | job_id | varchar(10) | NO | MUL | NULL | | | salary | decimal(8,2) | NO | | NULL | | // decimal(8,2) : 8자리까지 표현할 수 있는데, | commission_pct | decimal(2,2) | YES | | NULL | | 2자리정도는 소숫점자리로 표현하는 데이터타입 | manager_id | int unsigned | YES | MUL | NULL | | | department_id | int unsigned | YES | MUL | NULL | | +----------------+--------------+------+-----+---------+-------+ 11 rows in set (0.00 sec)
→ varchar(20) : 가변문자열의 데이터타입, 최대 20byte까지 문자데이터 담을 수 있음.
→ date : 날짜값을 저장하는 데이터타입이며 고정값임.전세계의 날짜는 동일하기 때문.
→ decimal(8,2) : 실수, 8자리숫자(8byte) 받을건데 그 중에서 2자리(2byte)는 소수점 아래 표현에 사용한다는 뜻.
'DB > MySQL' 카테고리의 다른 글
논리 연산자 (AND / OR / NOT) (0) | 2023.02.01 |
---|---|
비교 연산자(between A and B / IN / LIKE / IS NULL) (0) | 2023.02.01 |
WHERE(조건문)절 / 비교 연산자(관계) (0) | 2023.02.01 |
중복된 값을 제거하는 DISTINCT 키워드 (0) | 2023.02.01 |
SELECT 구문 / 표현식 / null값이란? / Column Alias (0) | 2023.01.31 |
- Total
- Today
- Yesterday
- 인자
- 논리형
- 숫자형
- JSTL
- 원격저장소
- Java
- Git
- DB
- 매개변수
- 문자형
- jsp
- gitbash
- 로컬저장소
- javascript
- 다형성
- Object
- 출력문
- mysql
- 오버라이딩
- 내장객체
- 제어문
- model2
- null
- 단일행함수
- Method
- Dao
- github
- 데이터타입
- 업캐스팅
- 주석문
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |