이렇게 얼마 되지 않는 데이터로 이런 명령어를 수행하는 것은 굉장히 비효율적이다.
하지만 현재 다룰 데이터는 몇개 되지 않지만, 데이터가 한 1억개쯤 있다고 생각하며 배워야 한다!
우선 이렇게 데이터를 사용할 준비를 한다.
mysql -uroot
(본인은 비밀번호를 설정해놓지 않아서 바로 접속할 수 있음)use [접속할 데이터베이스];
🔗GitHub cheatsheet
그리고 이 검색어를 활용해 sql 명령어를 참고하는 것이 좋다.
(시험칠 때는 사용하면 안되지만 공부하기 좋음)
강의에서의 예제처럼 테이블을 생성할 것이다.
NOT NULL
: 비워두지 않도록AUTO_INCREMENT
: 새로운 행이 추가될 때 값 1씩 자동 증가PRIMARY KEY()
: () 안에 든 값을 primary key로 지정하겠다는 뜻➡️ SHOW TABLES;
로 전체 테이블 조회하기
혹시 이 테이블을 삭제하려면 DROP TABLE topic;
하지만, 테이블을 날리는 명령어인 만큼 조심해서 사용해야 한다.
SET PASSWORD = PASSWORD('[바꿀 비밀번호]');
: Create Read Update Delete
가장 중요한 것은 Create와 Read
없을 수도 있는 것은 Update와 Delete
INSERT INTO [table_name] (column1, 2, ...)
VALUES (value1, 2, ...);
당연히 순서대로 colum1과 value1 이렇게 매칭되기 때문에 순서를 꼭 지켜주어야 한다.
DESC topic;
로 Column을 확인하면서 하면 편함NOW()
: 현재 시간을 불러오는 함수SELECT * FROM [테이블 이름];
: *
은 모든 데이터를 보겠다는 뜻이라 해당 구문은 이 테이블의 모든 데이터를 보여달라는 것아무튼 이런식으로 예제의 데이터를 입력해 넣으면 된다.
하지만 전체 데이터가 아닌 특정 컬럼만 포함하여 보고싶을 때가 있다.
SELECT [필요한 컬럼], [], .. FROM [테이블];
SELECT
뒤에는 컬럼이 나온다.FROM
은 생략 가능하다.
SELECT [필요한 컬럼], [], .. FROM [테이블] WHERE [원하는 조건];
WHERE
는FROM
다음에 등장한다.
SELECT [필요한 컬럼], [], .. FROM [테이블] WHERE [원하는 조건] ORDER BY [기준] DESC;
SELECT [필요한 컬럼], [], .. FROM [테이블] ORDER BY [기준] DESC LIMIT [제한을 둘 숫자];
LIMIT 3
조건을 걸어 데이터 3개만 조회하였다.⚠️ WHERE문을 잊지말자
이게 현재 topic 테이블 데이터 상태이다.
여기서 id=2의 title과 description의 내용을 수정할 것이다.
UPDATE [테이블명] SET [수정할 컬럼명]='[수정할 내용]', ... WHERE id=[];
WHERE id=2
를 절대 잊으면 안된다‼️⚠️ WHERE문을 잊지말자
DELETE FROM [테이블명] WHERE id=[];