Cloud System Engineer

select 문 본문

mysql/MySQL

select 문

클라우드 엔지니어 2021. 1. 29. 01:34

sql 문장중 select insert,update delete 등 여러가지 문장이 있다.

그중 select 문은 원하는 데이터를 가져오는 구문이다.

select 문은 다양한 옵션이 있다.

select table~
from~table_references
group by~col_name | expr positsion
having~where_condition
orderby col_name | expr | position

인데 처음에는 복잡해 보일수도 있다. 가장 자주 쓰이는 문장으로 줄여보자

select 열 이름
from 테이블 이름
where 조건

use 문 // 내가 지금 이 데이터베이스를 사용하겠다 라는 뜻이다.

 

 

 

use mysql 하고 

 

select * from employees; 하면

 

 이런 에러가 생긴다. 그 이유는 현재 mysql 라는 데이터 베이스를 사용하기 때문이다.

 

 

다시  use employees; 하고  select * from employees; 하면 정상적으로 출력이 된다.

 

select * fro

m titles;  ->  employees 데이터 데이스에 있는 타이틀의 정보 확인

 

mysql 을 사용한다해도 employees 에 있는 테이블을 볼려면 다음과 같이 해야한다.

 

select * from employees.titles;

 

select first_name from employees;  // 모든 열이 아닌 필요로 하는 열도 가져올 수 있다.

 

 

select first_name , gender,hire_date from employees;  , 를 해서 여러개의 열도 가져올 수 있다. 

 

show databases; -- 현재 있는 데이터베이스 목록

 

show table status; -- 현재 데이터베이스 안에있는 테이블목록 확인

 

desc employees; -- 테이블에 대한 정보출력

 

 

create database sqldb;  // sqldb 라는 데이터베이스 생성
use sqldb; // sqldb 사용

 

create table usertbl  -- 사용자 테이블 생성
( userID char(8) NOT NULL primary KEY,
 name varchar(10) not null, -- 이름
 birthYear int not null, -- 출생년도
 addr char(2) not null, -- 지역
 mobile1 char(3), -- 국번
 mobile2 char(8), -- 번호 나머지
 height  smallint, -- 키
 mDate date -- 가입일
);

 

 

create table buytbl -- 회원 구매 테이블 생성

( num int auto_increment not null primary key, -- 순번 
 userID char(8) not null, -- 아이디
 proName char(6) not null,
 groupName char(4), -- 분류
 price int not null, -- 단가
 amount smallint not null,  -- 수량 
 foreign key (userID) references usertbl(userID)
);

 

각 각 틀을 살펴보면 

 

select * from usertbl;

 

 

select * from buytbl;

 

이제 테이블 틀 안에 정보를 기입하자.

 

 

INSERT INTO usertbl VALUES('LSG', '이승기', 1987, '서울', '011', '1111111', 182, '2008-8-8');
INSERT INTO usertbl VALUES('KBS', '김범수', 1979, '경남', '011', '2222222', 173, '2012-4-4');
INSERT INTO usertbl VALUES('KKH', '김경호', 1971, '전남', '019', '3333333', 177, '2007-7-7');
INSERT INTO usertbl VALUES('JYP', '조용필', 1950, '경기', '011', '4444444', 166, '2009-4-4');
INSERT INTO usertbl VALUES('SSK', '성시경', 1979, '서울', NULL  , NULL      , 186, '2013-12-12');
INSERT INTO usertbl VALUES('LJB', '임재범', 1963, '서울', '016', '6666666', 182, '2009-9-9');
INSERT INTO usertbl VALUES('YJS', '윤종신', 1969, '경남', NULL  , NULL      , 170, '2005-5-5');
INSERT INTO usertbl VALUES('EJW', '은지원', 1972, '경북', '011', '8888888', 174, '2014-3-3');
INSERT INTO usertbl VALUES('JKW', '조관우', 1965, '경기', '018', '9999999', 172, '2010-10-10');
INSERT INTO usertbl VALUES('BBK', '바비킴', 1973, '서울', '010', '0000000', 176, '2013-5-5');
INSERT INTO buytbl VALUES(NULL, 'KBS', '운동화', NULL   , 30,   2);
INSERT INTO buytbl VALUES(NULL, 'KBS', '노트북', '전자', 1000, 1);
INSERT INTO buytbl VALUES(NULL, 'JYP', '모니터', '전자', 200,  1);
INSERT INTO buytbl VALUES(NULL, 'BBK', '모니터', '전자', 200,  5);
INSERT INTO buytbl VALUES(NULL, 'KBS', '청바지', '의류', 50,   3);
INSERT INTO buytbl VALUES(NULL, 'BBK', '메모리', '전자', 80,  10);
INSERT INTO buytbl VALUES(NULL, 'SSK', '책'    , '서적', 15,   5);
INSERT INTO buytbl VALUES(NULL, 'EJW', '책'    , '서적', 15,   2);
INSERT INTO buytbl VALUES(NULL, 'EJW', '청바지', '의류', 50,   1);
INSERT INTO buytbl VALUES(NULL, 'BBK', '운동화', NULL   , 30,   2);
INSERT INTO buytbl VALUES(NULL, 'EJW', '책'    , '서적', 15,   1);
INSERT INTO buytbl VALUES(NULL, 'BBK', '운동화', NULL   , 30,   2);

 

 

결과

 

 

select * from usertbl;

 

select * from buytbl;

'mysql > MySQL' 카테고리의 다른 글

Group by , having 절  (0) 2021.02.01
SQL기본 - WHERE 절  (0) 2021.01.29
사용자 관리  (0) 2021.01.28
데이터 베이스 모델링  (0) 2021.01.25
데이터 베이스 백업  (0) 2021.01.25