Chap.6 SQL 기본 - 명칭, 주석, DESC, 샘플 데이터베이스 구축, SELECT
SELECT문
명칭, 주석, DESC, 샘플 데이터베이스 구축, SELECT
명칭
-
데이터베이스명.테이블명
▪ desc employees.titles;
-
현재 사용 중인 데이터베이스의 명칭은 생략 가능
▪ use employees
▪ desc titles;
-
SQL 명령어는 대소문자 구분하지 않음
-
사용자 정의 명칭은 구분하기도 함
주석
-
--
▪ 한 줄 주석문
-
/* */
▪ 여러 줄 주석문
DESC
-
테이블의 구조를 출력
use employees;
DESC titles;
결과
DESC employees;
결과
샘플 데이터베이스 구축
-
shopDB.sql 파일을 c:\temp에 준비
-
시작 > MariaDB > Command Prompt
> cd \temp
> mysql -u root -p
-
MariaDB [sqlDB]> source showDB.sql
데이터베이스 생성
DROP TABLE IF EXISTS sqlDB;
CREATE DATABASE sqlDB;
userTbl
SELECT * FROM userTbl;
결과
buyTbl
SELECT * FROM buyTbl;
결과
SELECT
-
테이블의 내용 출력
SELECT 필드 목록
FROM 테이블명
[ WHERE 조건 ]
[ GROUP BY 컬럼명 ]
[ HAVING 조건 ]
[ ORDER BY 컬럼명 ]
SELECT 이용
USE sqlDB;
SELECT * FROM userTbl;
결과
WHERE 절
SELECT * FROM userTbl WHERE name='김경호'; -- 대입연사자 없다. 동등 연산자.
결과
-
WHERE 절 - 관계 연산자(AND, OR, NOT)의 사용
AND
SELECT userID, Name
FROM userTbl
WHERE birthYear >= 1970 AND height >= 182;
결과
OR
SELECT userID, Name
FROM userTbl
WHERE birthYear >= 1970 OR height >= 182;
결과
-
WHERE 절 - BETWEEN … AND, IN() 그리고 LIKE
BETWEEN AND
SELECT userID, Name
FROM userTbl
WHERE height >= 180 AND height <= 183;
SELECT userID, Name
FROM userTbl
WHERE height BETWEEN 180 AND 183;
결과
IN()
SELECT Name, addr
FROM userTbl
WHERE addr = '경남' OR addr = '전남' OR addr = '경북';
SELECT Name, addr
FROM userTbl
WHERE addr IN('경남', '전남', '경북');
결과
LIKE
% : 아무 글자가 와도 상관없음 - 개수 제한 없음
SELECT Name, height
FROM userTbl
WHERE name LIKE '김%';
결과
_ : 한 글자로 아무 글자가 와도 상관없음
SELECT Name, height
FROM userTbl
WHERE name LIKE '_종신';
결과
-
테이블의 내용 출력
AS
USE employees;
SELECT first_name FROM employees;
SELECT first_name, last_name, gender FROM employees;
USE employees;
SELECT first_name AS 이름, gender AS 성별 FROM employees;
SELECT first_name 이름, gender 성별, hire_date 입사일 FROM employees;
결과
-
WHERE 절
WHERE, AND, BETWEEN AND
SELECT *
FROM employees
WHERE last_name = 'Lenart';
결과
SELECT *
FROM employees
WHERE birth_date >= '1960-01-01'; -- 문자열을 알아서 date type으로 바꿔줌
결과
SELECT *
FROM employees
WHERE birth_date >= '1960-01-01'
AND birth_date <= '1960-12-31';
SELECT *
FROM employees
WHERE birth_date BETWEEN '1960-01-01' AND '1960-12-31';
결과
WHERE, OR, IN()
SELECT *
FROM employees
WHERE last_name = 'Lenart'
OR last_name = 'Baaz'
OR last_name = 'Pillow';
SELECT *
FROM employees
WHERE last_name IN('Lenart', 'Baaz', 'Pillow');
결과
댓글