본문 바로가기
컴터/Database (MYSQL)

3) [Database_MYSQL] table 조회

by 나 진짜 못차마 2023. 6. 16.
728x90

요약은 제일 밑에 !!

오늘은 table 데이터 조회 하는 방법에 대해 공부할 겁니닷

조회

테이블에서 데이터를 조회

SELECT 칼럼명1, 칼럼명2 
    [FROM 테이블명 ] 
    [GROUP BY 칼럼명] 
    [ORDER BY 칼럼명 [ASC | DESC]] 
    [LIMIT offset, 조회 할 행의 수]

칼럼명1, 칼럼명2,. .. 은 데이터를 조회할 때 원하는 칼럼을 부분적으로만 조회하고 싶을 때 기술하고,

전체 데이터(칼럼)를 보고싶으면 * 를 사용.

대괄호는 전부 생략 가능하나 ,

사용할 때는 지금 위에 기술한 순서대로 명령이 내려져야 합니다.

예제 :

DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
  `id` tinyint(4) NOT NULL,
  `name` char(4) NOT NULL,
  `sex` enum('남자','여자') NOT NULL,
  `address` varchar(50) NOT NULL,
  `birthday` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
INSERT INTO `student` VALUES (2, '박재숙', '남자', '서울', '1985-10-26 00:00:00');
INSERT INTO `student` VALUES (1, '이숙경', '여자', '청주', '1982-11-16 00:00:00');
INSERT INTO `student` VALUES (3, '백태호', '남자', '경주', '1989-2-10 00:00:00');
INSERT INTO `student` VALUES (4, '김경훈', '남자', '제천', '1979-11-4 00:00:00');
INSERT INTO `student` VALUES (8, '김정인', '남자', '대전', '1990-10-1 00:00:00');
INSERT INTO `student` VALUES (6, '김경진', '여자', '제주', '1985-1-1 00:00:00');
INSERT INTO `student` VALUES (7, '박경호', '남자', '영동', '1981-2-3 00:00:00');

 

1.

SELECT * FROM student;

이전에도 계속 사용했던 select * from student;

student 테이블 내의 모든 데이터를 조회 !

2.

SELECT name, birthday FROM student;

student 테이블 내의 name, birthday 칼럼 데이터를 조회 !

 

3.

SELECT * FROM student WHERE id=3;

student 에서 id 값이 3인 행의 데이터를 조회 !

 

4.

SELECT * FROM student WHERE sex='남자' AND address='서울';
SELECT * FROM student WHERE sex='여자' OR address='서울';

첫번째 명령문은 AND , 두번째 명령문은 OR !!

알다시피 AND는 둘 다 해당되는 경우의 데이터를 조회,

OR 은 둘 중 하나라도 해당되는 경우의 데이터를 조회 !

 

5.

SELECT * FROM student LIMIT 1;

LIMIT 은 몇 개의 데이터를 조회할 것인지를 지정하는 것!

 

6.

SELECT * FROM student LIMIT 0,1;
SELECT * FROM student LIMIT 2,1;
SELECT * FROM student LIMIT 3,1;

LIMIT a(offset),b : a 행에서 b개의 데이터를 가져오는 것

배열처럼 첫번째 offset 은 0,

그래서 LIMIT 0,1 일 경우 0행에서 1개 즉, 제일 첫행의 데이터를 가져 옴.

 

7.

SELECT * FROM student WHERE sex='남자' LIMIT 2;

성별이 '남자' 인 경우에서 2개의 데이터만 가져온다는 뜻.

오늘은 데이터 기본적인 조회하는 방법에 대해 공부했습니다.

다음에는 그룹핑(group by) , 정렬(order)을 공부하겠슴돳

 

 

요약

조회

테이블에서 데이터를 조회

SELECT 칼럼명1, 칼럼명2 
    [FROM 테이블명 ] 
    [GROUP BY 칼럼명] 
    [ORDER BY 칼럼명 [ASC | DESC]] 
    [LIMIT offset, 조회 할 행의 수]
칼럼명1, 칼럼명2,. .. 은 데이터를 조회할 때 원하는 칼럼을 부분적으로만

칼럼명1, 칼럼명2,. .. 은 데이터를 조회할 때 원하는 칼럼을 부분적으로만 조회하고 싶을 때 기술하고,

전체 데이터(칼럼)를 보고싶으면 * 를 사용.

대괄호는 전부 생략 가능하나 ,

사용할 때는 지금 위에 기술한 순서대로 명령이 내려져야 함.

'테이블명' 은 TN 으로 통일

- 'TN' 테이블에서 전체 데이터 조회.

SELECT * FROM 테이블명;

- 'TN' 테이블에서 칼럼1, 칼럼2 에 해당하는 데이터를 조회.

SELECT 칼럼1, 칼럼2 FROM 테이블명;

- 'TN' 테이블에서 칼럼1의 데이터가 해당하는 값인 행의 데이터를 조회

SELECT * FROM 테이블명 WHERE 칼럼1 = 값;

- 'TN' 테이블에서

1. 칼럼1의 값이 값1 '이고(AND)' 칼럽2의 값이 값2 인 데이터를 조회

2. 칼럼1의 값이 값1 '이거나(OR)' 칼럼2의 값이 값2 인 데이터를 조회

SELECT * FROM 테이블명 WHERE 칼럼1 = 값1 AND 칼럼2 = 값2;
SELECT * FROM 테이블명 WHERE 칼럼1 = 값1 OR 칼럼2 = 값2;

- 'TN' 테이블에서 조회할 행의 수를 결정하여 조회

SELECT * FROM 테이블명 LIMIT 조회할 행의 수;

- 'TN' 테이블에서

LIMIT a(offset),b : a 행에서 b개의 데이터를 가져오는 것

배열처럼 첫번째 offset 은 0,

그래서 LIMIT 0,1 일 경우 0행에서 1개 즉, 제일 첫행의 데이터를 가져 옴.

SELECT * FROM 테이블명 LIMIT 0,1;
SELECT * FROM 테이블명 LIMIT 2,1;
SELECT * FROM 테이블명 LIMIT 3,1;

- 'TN' 테이블에서 칼럼1 의 값이 값1인 경우의 데이터를 조회할 행의 수 만큼 조회

SELECT * FROM 테이블명 WHERE 칼럼1=값1 LIMIT 조회할 행의 수;

 

 

 

강의 및 자료 출처 -

생활코딩

https://opentutorials.org/course/1

 

생활코딩

hello world 생활코딩의 세계에 오신 것을 환영합니다. 생활코딩은 일반인들에게 프로그래밍을 알려주는 무료 온라인, 오프라인 수업입니다.  어떻게 공부할 것인가를 생각해보기 전에 왜 프로그

opentutorials.org

728x90