티스토리 뷰

DB/MySQL

SQL이란? / mySQL 사용 순서

태로미 2023. 1. 25. 22:34

 

 

 

 

 

 

 

 

 

 

▶▶   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 사용 순서

  1.  SHOW                   :  현재 가지고 있는 데이터베이스 목록 조회      // mysql> SHOW databases;
  2.  USE                       :  이제부터 접속할 데이터베이스를 선택함       // mysql> USE hr;
  3.  SHOW                   :  데이터베이스의 테이블 목록 조회                 // mysql> SHOW tables;
  4.  DESCRIBE            :  테이블 구조 조회                                          // mysql> DESCRIBE employees;
  5.  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)는 소수점 아래 표현에 사용한다는 뜻.

 

 

 

 

 

 

 

 

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
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
글 보관함