본문 바로가기
공부하기/SQL

mysql 명령어(create, show, describe, insert ...)

by DA_DA 2021. 8. 24.

SQL(Structured Query Language) 
관계형 데이터베이스에서 데이터 정의(DDL), 데이터 조작(DML), 데이터 제어(DCL)를 하기 위해 사용하는 언어다.

SQL의 최초 이름이 SEQUEL(Structured English QUEry Language)이었기 때문에 '시큐얼'로 읽는 경우도 있지만 표준은 SQL 이므로 '에스큐엘'로 읽는다.

SQL 문장은 단순 스크립트가 아니라 독립된 하나의 개발 언어이다. 하지만, 일반적인 프로그래밍 언어와는 달리 SQL은 관계형 데이터베이스에 대한 전담 접속 용도로 사용되며 세미콜론(;)으로 분리되어 있는 SQL 문장 단위로 독립되어 있다.

관계형 데이터베이스는 수학의 집합 논리에 입각한 것이므로, SQL도 데이터를 집합으로써 취급한다.

이렇게 특정 데이터들의 집합에서 필요로 하는 데이터를 꺼내서 조회하고 새로운 데이터를 입력/수정/삭제하는 행위를 통해서 사용자는 데이터베이스와 대화하게 된다.

그리고 SQL은 이러한 대화를 가능하도록 매개 역할을 한다.  결과적으로 SQL 문장을 배우는 것이 곧 관계형 데이터베이스를 배우는 기본 단계라고 할 수 있다.

o 데이터 조작어 (DML :  Data Manipulation Language)
    DB에서 데이터를 조작하는 명령어들이 해당된다.
    - SELECT :
테이블에 있는 데이터를 조회하는 명령어
    - INSERT :
테이블에 있는 데이터를 삽입하는 명령어
    - UPDATE :
테이블에 있는 데이터를 수정하는 명령어
    - DELETE :
테이블에 있는 데이터를 삭제하는 명령어

o 데이터 정의어 (DDL : Data Definition Language)
테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들로 테이블의 구조를 생성하거나 변경하거나 삭제하거나 이름을 바꾸는 데이터 구조와 관련된 명령어들이다.
   - CREATE   :
테이블을 생성하는 명령어
   - ALTER    :
테이블을 수정하는 명령어
   - DROP     :
테이블을 삭제하는 명령어
   - RENAME   :
테이블명을 변경하는 명령어

 

o table 생성하기
- 형식 : create table TB명 (필드명1 타입[, 필드명2 타입 ...]);
*** 반드시 table을 생성시 DB를 선택해야 한다. ***

 mysql> create database sample;  <-- DB를 생성한다. 
 mysql> use sample;              <-- DB를 선택한다.
 mysql> create table test_table  <-- table을 생성한다.
     -> (idx int, name char(20), password varchar(30));
 mysql> show tables;      <-- 현재 DB에 있는 table을 출력한다.
 mysql> describe test_table;  <-- table의 구조를 출력한다.
+----------+-------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| idx          | int(11)      | YES  |     | NULL    |       |
| name      | varchar(20) | YES  |     | NULL    |       |
| password | varchar(30) | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

o data 넣기
- 형식 : insert into TB명 values('필드명1값'[, '필드명2값' ...])

mysql> insert into test_table values(1, 'aaa', 'aaa1234');
mysql> insert into test_table values(2, 'bbb', 'bbb1234');
mysql> insert into test_table values(3, 'ccc', 'ccc1234');

o data 출력하기
- 형식 : select [컬럼명]  from TB명
mysql> select * from test_table;
mysql> select idx,name from test_table;
mysql> select name,password from test_table;

o data 삭제하기
- 형식 : delete from TB명 WHERE 필드명 조건식 값

- 1번 자료 삭제
mysql> delete from test_table WHERE idx = 1;

- 2번 자료 삭제
mysql> delete from test_table WHERE idx < 3;

- 3번 자료 삭제
mysql> delete from test_table WHERE idx = 3;

o data 업데이트
- 형식 : update TB명 set 필드명1 = 값 [, 필드명2 = 값 ...]

반응형

'공부하기 > SQL' 카테고리의 다른 글

mysql 명령어 예제(create, insert, show, update)  (0) 2021.08.25
select 문 #1  (0) 2021.08.21
DBMS의 역사  (0) 2021.08.21

댓글