들어가기 전에
이번 시간에는 DBMS에 값을 저장, 수정, 삭제, 조회하는 방법에 대해 배워보도록 하겠습니다.
학습 목표
- insert문을 수행할 수 있다.
- update문을 수행할 수 있다.
- delete문을 수행할 수 있다.
- select문을 수행할 수 있다.
핵심 개념
- select
- insert
- update
- delete
학습하기
들어가기 전에
이번 시간에는 DBMS에 값을 저장, 수정, 삭제, 조회하는 방법에 대해 배워보도록 하겠습니다.
학습 목표
핵심 개념
학습하기
데이터 조작어(Data Manipulation Language, DML)의 종류
데이터 조작어는 모두 동사로 시작합니다.
시작하는 동사에 따라서 다음과 같은 4가지 조작어가 있습니다.
SELECT 구문의 기본문형
SELECT 구문 예제(전체 데이터 검색)
예제 : departments 테이블의 모든 데이터를 출력하시오.
SELECT * FROM DEPARTMENT;
SELECT 구문 예제(특정 컬럼 검색)
예제 : employee 테이블에서 직원의 사번(empno), 이름(name), 직업(job)을 출력하시오.
어떤 칼럼이 있는지는 desc명령으로 확인
select empno, name, job from employee;
SELECT 구문 예제(컬럼에 Alias부여하기)
예제 : employee 테이블에서 직원의 사번(empno), 이름(name), 직업(job)을 출력하시오.
select empno as 사번, name as 이름, job as 직업 from employee;
SELECT 구문 예제(컬럼의 합성(Concatenation))
예제 : employee 테이블에서 사번과 부서번호를 하나의 칼럼으로 출력하시오.
SELECT concat( empno, '-', deptno) AS '사번-부서번호'
FROM employee;
SELECT 구문 예제(중복행의 제거)
예제1 : 사원 테이블의 모든 부서번호 출력하시오. (사원 수 만큼 출력된다.)
select deptno from employee;
예제2 : 사원 테이블의 부서번호를 중복되지 않게 출력하시오.
select distinct deptno from employee;
SELECT 구문 예제(정렬하기)
SELECT 구문 예제(정렬하기)
예제 : employee 테이블에서 직원의 사번(empno), 이름(name), 직업(job)을 출력하시오.
단, 이름을 기준으로 오름차순 정렬합니다.
select empno, name, job from employee order by name;
select empno as 사번, name as 이름, job as 직업 from employee order by 이름;
SELECT 구문 예제(정렬하기)
예제 : employee 테이블에서 직원의 사번(empno), 이름(name), 직업(job)을 출력하시오.
단, 이름을 기준으로 내림차순 정렬합니다.
select empno, name, job from employee order by name desc;
참고 자료
https://dev.mysql.com
comment
select employee.name, department.name
from employee,departmnet
where employee.name = department.name;
where절을 이용한 inner join 방법이다.
select employee.name, department.name
from employee
join department on employee.deptno = department.deptno;
select deptno 부서번호 from department;
라고 입력하면
ERROR 1300 (HY000): Invalid utf8 character string: '\xBA\xCE\xBC\xAD\xB9\xF8\xC8\xA3'
이런 오류가 뜨는데
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
characterset이 다 utf8로 설정되어있는데 왜 이런 오류가 나는지 모르겠습니다ㅠㅠ
select emp_name as 사원명 dept_name as 부서명 where employee as A join department as B where a.dept_no =b.dept_no;
select employee.name as 사원명, department.name as 부서명 from employee, department where name.deptno = department.deptno;