2 분 소요

MYSQL👾

database : 서로 연관된 데이터(table)들을 모아놓은것 쉽게말해 폴더같은느낌, SCHEMA라고도 불린다.
database server : 여러개의 schema들을 모아놓은곳
database




간단한 명령어들


CREATE DATABASE '작명'; ➡️ 스키마 생성

DROP DATABASE 'table이름'; ➡️ 스키마 delete

SHOW DATABASES; ➡️ 스키마들을 보여줌

USE 'table이름' ➡️ 해당 스키마에서 작업을 하겠다.

테이블 만들기
mysql> create table data(
// table  만들겠다.

    -> id int(11) not null auto_increment,
// id 숫자로 11번째까지 보여주고 빈값은 허용하지않으며 자동적으로 1씩늘려가겠다.

    -> title varchar(100) not null,
// title 100글자까지 보여주고 빈값은 허용하지않겠다.

    -> des text null,
// des 텍스트타입이며 빈값을 허용한다.

    -> created datetime not null,
// 시간타입이며 빈값을 허용하지않는다.

    -> author varchar(30) null,
// author 30글자만 보여주고 빈값을 허용한다.

    -> primary key(id));
// 가장중요한 값으로 id 정했고 그값은 중복을 허용하지않는다.

SHOW TABLES ➡️ 해당 스키마가 가지고있는 table을 보여준다.

DESC 'table이름' ➡️ table의 구조를 보여줌

INSERT INTO 'table이름' (필드들) values ('필드에 넣을값들') ➡️ 작성했던 테이블에 데이터 넣기

SELECT * FROM 'table이름'; ➡️ table로 부터 모든것을 가져오겠다 ( 보여준다. )

mysql> SELECT * FROM data;
+----+--------------+-----------------+---------------------+-----------+
| id | title        | des             | created             | author    |
+----+--------------+-----------------+---------------------+-----------+
|  1 | 배고프다     | 진짜로많이      | 2021-12-14 01:25:40 | 이준혁    |
+----+--------------+-----------------+---------------------+-----------+
1 row in set (0.00 sec)

SELECT id,title FROM 'table이름' ➡️ 원하는 값들만 골라서 보여줄 수도 있다.

SELECT * FROM 'table이름' WHERE author="이준혁" ➡️ author가 “이준혁”인 값들만 보이게 가능

SELECT * FROM 'table이름' WHERE author="이준혁" ORDER BY id DESC ➡️ id값을 기준으로 내림차순으로 보여줌

SELECT * FROM 'table이름' WHERE author="이준혁" ORDER BY id DESC LIMIT 2 ➡️ select된 데이터가 몇개든 최대2개까지 보여줌

UPDATE 'table이름' SET '필드'='바꾸고싶은값으로' WHERE id=2 ➡️ table의 필드의 값을 바꾸고싶을때 이때 where을 쓰지않고 그냥하면 모든 필드의 값이 바뀌어버리니 조심할것

DELETE FROM 'table이름' WHERE id=5 ➡️ 삭제기능 WHERE을 꼭 쓰자

RENAME TABLE 'table이름' TO '바꿀이름' ➡️ 테이블 이름바꾸기

SELECT * FROM 'table이름' LEFT JOIN '합칠 tabled이름' ON ABC.id = QWE.id ➡️ join시키기 ON 뒤쪽에 기준을 정해준다. (NULL값이 뜬다면 한쪽에 값이 없다는것이다.)

SELECT * FROM 'table이름' INNER JOIN '합칠 tabled이름' ON ABC.id = QWE.id ➡️ NULL값을 제외한, 즉 교집합만을 join시킨다. (엄격하다고 볼수있음)

SELECT * FROM 'table이름' FULL OUTER JOIN '합칠 tabled이름' ON ABC.id = QWE.id ➡️ 모두보여줌(지원하지않으면 left right를 UNION으로 결함)

ALTER TABLE [table이름] AUTO_INCREMENT = [시작할 값]; ➡️ id값을 초기화해줌

ALTER TABLE 'table이름' ADD FOREIGN KEY(ID) REFERENCES 참조할테이블(ID); ➡️ 필드값 나중에 추가해주기

SELECT songs.title, songs.lyrics FROM songs WHERE songs.lyrics LIKE '%넘실넘실%'; ➡️ LIKE를 사용하면 %%사이의 값이 포함된 값을 보여줌




관계형 데이터 모델링

업무파악 ➡️ 개념적 데이터 모델링 ➡️ 논리적 데이터 모델링 ➡️ 물리적 데이터 모델링
database1


database2


업데이트: