본문 바로가기

MySQL

MySQL 데이터 추가, 가져오기 (INSERT, SELECT)

1. 생활코딩 - DATABASE2 - MySQL 유튜브 강의를 참조

2. MariaDB 10.4.25 버전 사용

3. 윈도우10 환경


이전 포스트에서 테이블을 생성,

이번에는 데이터를 추가해보려고한다.


데이터 추가 문법 (INSERT INTO)

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

+ 추가 설명하자면 데이터를 추가하고 싶은 테이블을 선택하고 추가할 column 입력, 그리고 그 순서에 맞게 

value 값을 넣어주면 된다.

(각 컬럼과 대응하는 value 값이 기억 안나면 [ DESC "테이블이름" ]  명령어 활용)

더보기

 

DESC topic; 명령어를 실행 했을 때 id 컬럼의 auto_increment 가 보일 것이다.

이것은 전 시간에 id 의 추가로 AUTO_INCREMENT 를 부여했기때문


INSERT INTO topic (title, description, created, author, profile)
		VALUES('ORACLE', 'Oracle is', NOW(), 'egoing', 'developer');

이런 식으로 작성했다.

여기서 맨 첫번째 컬럼에 id 값을 적지 않은 이유는

id 컬럼은 특정값을 지정하지 않는다면 자동으로 auto_increment 로 지정됨.
INSERT INTO 테이블이름 (컬럼1, 컬럼2~~~)  이렇게 지정할 때
id는 auto_increment 를 해놨으므로 따로 언급하지 않아도 된다.

 

그 외에 NOW() 는 현재 시간을 가져오는 함수이다.

시간을 타이핑하지 않고 함수로 가져왔다.

2개의 데이터를 추가한 상태.


이제 데이터를 추가했으니 데이터를 가져오는 방법을 알아보겠다.

 

데이터 가져오는 문법 (SELECT  FROM)

 

1. 각각 컬럼을 지정해서 가져오기

SELECT column1, column2, ...
FROM table_name;

 

2. 모두 가져오기

SELECT * FROM table_name;

 


SELECT * FROM topic;

이런식으로 작성하면 될 것이다.

( 가져오고 싶은 데이터를 선택한다.(SELECT) * 어디에서?(FROM)=> topic )


 

더보기

현재 테이블 구조

[WHERE 사용] 이번엔 원하는 부분만 가져와 볼 것이다.

ex) id, title, created, author 만 출력하고 대상은 author 이 egoing 인 것만 대상

SELECT id, title, created, author FROM topic WHERE author='egoing';
-- id, title, created, author 를 선택해 출력/ 토픽 테이블에서/ author가 egoing 것만

해당 코드의 결과

author 가 egoing 것만 id 기준 순서대로 나열되었다.


[ORDER BY 사용]

ORDER BY 문법으로 내림차순, 오름차순으로 정렬할 수 있다.

SELECT id, title, created, author FROM topic ORDER BY 정렬기준칼럼명 DESC(내림차순) or ASC(오름차순)
/*
내림차순: 큰 값부터 작은 값
오름차순: 작은 값부터 큰 값
*/

 


사용해보기

SELECT id, title, created, author FROM topic WHERE author='egoing' ORDER BY id DESC;

id 컬럼을 기준 순서를 내림차순으로 출력한다.

 

 

+

[LIMIT] 순서대로 2개만 출력되게 하기.

SELECT id, title, created, author FROM topic WHERE author='egoing' ORDER BY id DESC LIMIT 2;

 


+ SQL 에서 주석 작성 방법

한줄: --

여러 줄: /* 주석내용 */

SELECT * FROM topic;	--토픽 테이블을 가져옴
/*
여러줄
*/