//////
Search
📗

02 테이블에서 데이터 검색하기

전체 파일

02_테이블에서 데이터 검색하기.zip
2.0KB

MySQL 주석

# 한 줄 주석 -- 한 줄 주석 /* 두 줄 이상의 주석 */
SQL
복사

sample 데이터베이스 사용하기

USE sample;
SQL
복사

01 테이블에서 데이터 검색

SELECT * FROM 테이블명; (1) *(애스터리스크)는 모든 열을 의미한다. (2) 명령의 마지막에는 세미콜론( ; )을 붙인다.
SHOW TABLES; SELECT * FROM sample21;
SQL
복사

02 테이블 구조 확인하기

DESC 테이블명; (1) Filed : 열 이름 (2) Type : 자료형 예) int(11) => 11자리의 정수값을 저장할 수 있는 자료형 (3) Null : NULL 값을 허용할 것인지 아닌지를 나타내는 제약사항 예) Yes로 지정하면 NULL 값을 허용하게 된다. (4) Key : 해당 열이 '키'로 지정되어 있는지 를 나타낸다. 추후 설명 예정. (5) Default : '기본값'으로 생략했을 때 적용되는 값이다. 테이블에 행을 추가할 때 값을 생략하면 이 기본값으로 채워진다.
DESC sample21;
SQL
복사

03 자료형

1. 정수 : INT
2. 고정 길이 문자열 : CAHR, 최대 10문자까지 가능하다. 싱글쿼트('')로 표기한다. 3. 가변 길이 문자열 : VARCHAR, CHAR형과 달리 데이터 크기에 맞춰 저장공간의 크기도 변경된다. 싱글쿼트('')로 표기한다.
4. 날짜 : DATE, 연월일을 하이픈(-)으로 구분한다. 5. 시간 : TIME, 시분초를 콜론(:)으로 구분한다.

04 검색 조건 지정하기

04-1 SELECT 구에서 열 지정하기

SELECT 열1, 열2, ... FROM 테이블명;
-- [문제] no열과 name열 값만 읽어오기 SELECT no, name FROM sample21;
SQL
복사

04-2 WHERE 구에서 행 지정하기

SELECT 열 FROM 테이블명 WHERE 조건식;
-- [문제] no열 값이 2인 행만 추출 SELECT * FROM sample21 WHERE no = 2; -- [문제] no열 값이 2가 아닌 행만 추출 SELECT * FROM sample21 WHERE no <> 2; -- [문제] name열 값이 '박준용'인 행만 추출 SELECT * FROM sample21 WHERE name='박준용';
SQL
복사

05 연산자

05-1 비교 연산자

(1) = : 같니? (2) > : 크니? (3) < : 작니? (4) <> : 다르니? (5) >= : 크거나 같니? (6) <= : 작거나 같니?

05-2 논리 연산자

(1) 조건식1 AND 조건식2 : 모든 조건을 만족하는 경우 조건식은 참이 된다. (2) 조건식1 OR 조건식2 : 어느 쪽이든 하나만 참이 되면 조건식은 참이 된다. (3) NOT 조건식 (4) AND는 OR에 비해 우선 순위가 높다!
SELECT * FROM sample24; -- [문제] a열과 b열이 모두 0이 아닌 행 검색 SELECT * FROM sample24 WHERE a <> 0 AND b <> 0; -- [문제] a열이 0이 아니거나 b열이 0이 아닌 행을 검색 SELECT * FROM sample24 WHERE a <> 0 OR b<> 0; -- [문제] a열이 0이 아니거나 b열이 0이 아닌 행을 제외한 나머지 행을 검색 SELECT * FROM sample24 WHERE NOT(a <> 0 OR b <> 0); -- (4) AND는 OR에 비해 우선 순위가 높다! -- [문제] a열이 1또는 2이고, b열이 1 또는 2인 행을 검색 SELECT * FROM sample24 WHERE a=1 OR a=2 AND b=1 OR b=2; -- 잘못된 명령문 SELECT * FROM sample24 WHERE a=1 OR (a=2 AND b=1) OR b=2; -- 위 문장은 이와 같이 실행되고 있다. SELECT * FROM sample24 WHERE (a=1 OR a=2) AND (b=1 OR b=2); -- 올바른 명령문
SQL
복사

06 부분 검색

06-1 LIKE

LIKE 에서 사용할 수 있는 문자 (1) 퍼센트(%) : 임의의 문자열을 의미한다. (2) 언더스코어(_) : 임의의 문자 하나를 의미한다.
SELECT * FROM sample25; -- [문제] text 열이 'SQL'로 시작하는 행을 검색(=전방 일치) SELECT * FROM sample25 WHERE text LIKE 'SQL%'; -- [문제] text 열이 'SQL'을 포함하는 행을 검색(= 중간 일치) SELECT * FROM sample25 WHERE text LIKE '%SQL%'; -- [문제] text 열이 'SQL'로 끝나는 행을 검색(= 후방 일치) SELECT * FROM sample25 WHERE text LIKE '%SQL';
SQL
복사

06-2 LIKE로 % 검색

LIKE '%\%%’
-- [문제] text열에 %를 포함하는 행을 검색 -- 첫번째와 마지막 %는 메타문자(=임의의 문자열) -- \%는 % 그 자체 문자 SELECT * FROM sample25 WHERE text LIKE '%\%%'; -- [문제] text열에 _를 포함하는 행을 검색 SELECT * FROM sample25 WHERE text LIKE '%\_%';
SQL
복사