MySQL을 먼저 구동을 시키고 진행을 해보겠습니다. (우분투 환경에서 실행했고, 설치 방법은 구글링 ㄱㄱ)
$ mysql -u root -p
실행하고 database를 확인 하기 위해 show databases;를 이용합니다.
이런 화면이 나타나게 됩니다.
그럼 database를 선택하고 table(표)를 확인합니다.
show tables; 를 이용해서 (터미널에서 ';'를 사용하지 않으면 진행이 되지 않습니다. 하지만 tableplus라는 프로그램을 사용한다면 그런 걱정이 없습니다.)
아무튼 show tables;를 실행해주면
테이블을 생성하기 이전에 나만의 database를 생성하면 좋겠죠?
저는 이번 프로젝트가 instagram 모방하기라서 database를 instagram으로 생성해보겠습니다.
table 을 생성하기 이전에 스키마(데이터베이스라고 생각하시면 됩니다.)설계도가 필요합니다.
이런 식으로 말이죠. 이런 스키마 설계도가 없으면 데이터 베이스를 구축할 때 용량을 많이 사용할 수도 있고 데이터를 수정하거나 처리할 때 더 복잡해질 겁니다. 뭐가 중복이 되는지 잘 확인해서 이런 스키마를 구축해보세요.
이렇게 스키마 설계도를 잘 구축했다면 table을 생성할 준비가 되었다고 생각됩니다.
table을 만들 때, head 부분의 조건을 지정해 줘야합니다. 값이 int 인지 varchar 인지 몇 글자인지 값이 없어도 되는지 등등을 조건으로 넣어서 head 부분을 만들어야합니다. 그리고 마지막으로 primary 키를 작성해주면 완성입니다.
완성된 테이블의 조건값을 확인하는 방법은 desc 'table 이름' ; 입니다.
잘 생성된 것이 보이시나요?
ALTER
만일 table 조건을 만들었는데 더 추가할 사항이 있거나 수정사항이 있으면 alter 문을 사용해서 진행하면 됩니다.
alter table users add age int not null; 이렇게 추가하면 됩니다.
alter table users add primary key(id); 프라이머리키도 변경할 수 있습니다.
기존 사항도 변경 가능합니다.
ALTER DROP
열 삭제할 때는 alter drop을 사용해서 삭제해주시면 됩니다.
alter table users drop '열 이름';
테이블 삭제에도 DROP 문이 사용되는데.... 조심하세요. 인생이 바뀔 수 있습니다.
테이블 내의 데이터만 삭제해야하는 경우
DELETE 명령을 사용해서 테이블 내의 데이터만 삭제할 수 있습니다.
'코딩 개발' 카테고리의 다른 글
암호화의 종류 (0) | 2022.11.07 |
---|---|
Session & Token (0) | 2022.11.07 |
인증과 인가 (0) | 2022.11.06 |
API Documentation (0) | 2022.11.06 |
MYSQL - query 문은 어려워 (table 1칸에 여러개의 값) (0) | 2022.11.04 |