MySQL 데이터베이스와 상호작용할 수 있는 방법이 두 가지가 있다. 하나는 MySQL workbench를 이용하는 방법이고 또 다른 하나는 터미널을 이용하는 방법이다. 나는 workbench만 사용해보았고 터미널은 이용해본 적이 없어서 이번에 터미널로 데이터베이스를 다뤄보려고 한다. 잠깐이지만 터미널로 MySQL을 이용해본 소감은 workbench는 GUI 도구라서 CLI 기반인 터미널보다 데이터베이스와 상호작용하기가 더 쉽다는 점이다. SQL 명령어를 사용하긴 해야 하지만 버튼 클릭으로도 데이터베이스를 조작 가능하다는 점에서 workbench가 편리하긴 하다. 그렇지만 터미널 실행만으로 데이터베이스를 조작한다는 점에서 터미널로 MySQL을 조작하는 게 속도는 더 빠를 것 같다. 터미널로 MySQL을 조작하는 방법과 간단한 터미널 명령어까지 공부해보자!!
SHOW _______;
1. SHOW DATABASES;
전체 데이터베이스를 출력할 수 있다.
2. SHOW TABLES;
테이블을 보기 위해서는 우선 데이터베이스를 사용할지 알려준 다음에 SHOW TABLES; 명령어를 사용해야 한다. 나는 TEST 테이블을 보여주는 명령어를 작성했다.
CREATE _______;
1. CREATE DATABASES 이름 ;
새로운 데이터베이스를 만들기 위해서는 CREATE DATABASE 이름; 라는 명령어를 작성하면 된다. instagram 이라는 명령어를 작성했다.
2. CREATE TABLE users;
이제 인스타그램 안에 필요한 테이블을 만들어보자. 테이블을 만들 때는 데이터 타입과 제약조건을 같이 기술해줘야 한다.
테이블을 만들고 나서 DESC 테이블명; 을 하면 각 테이블의 데이터타입과 제약조건을 한 눈에 볼 수 있다! 그런데 여기서 실수를 두 가지 했다. 하나는 users 테이블에 uupdated_at 필드명 오타가 있는 것이고 또 다른 하나는 posts 테이블에 updated_at을 생략한 것이다.
테이블에서 잘못된 열 이름을 수정하려면 ALTER 명령어를 사용해야 한다.
1. uupdated_at에서 updated_at으로 컬럼명 수정하기
ALTER TABLE users
CHANGE COLUMN uupdated_at updated_at TIMESTAMP NULL ON UPDATE CURRENT_TIMESTAMP;
2. 누락된 컬럼 추가하기
ALTER TABLE posts
ADD COLUMN updated_at TIMESTAMP NULL ON UPDATE CURRENT_TIMESTAMP;
이렇게 하면 원하는대로 테이블이 수정된 것을 볼 수 있당!!
추가로 열을 삭제할 때는 ALTER TABLE 테이블명 DROP 컬럼명; 을 하면 된다.
그리고 열의 자료형이나 제약조건을 수정하고자 할 때는 ALTER TABLE 테이블명 MODIFY 열이름 [자료형] [제약조건] 을 하면 된닷
DROP을 사용할 때는 항상 주의해야 한다. 테이블 안의 데이터까지 모두 삭제할 수 있기 때문이다 만약 테이블 형태는 그대로 냅두고 데이터만 삭제하길 원한다면 DELETE FROM 테이블명 [WHERE 조건]; 이나 TRUNCATE TABLE 명령; 을 해주면 된다.
'> 개발 > Database' 카테고리의 다른 글
[MySQL] 터미널로 MySQL 사용하기 : 데이터 추가/수정/삭제 (0) | 2023.08.01 |
---|---|
[DB] SQL ROLLUP과 CUBE (0) | 2023.06.28 |
[MySQL] 맥북 MySQL Workbench 응용 프로그램이 예기치 않게 종료되었습니다. (0) | 2023.02.28 |
데이터베이스와 RDBMS (0) | 2023.02.20 |
댓글