테이블의 행(row)에 대하여 추가/수정/삭제 등을 수행하기 위한 언어
insert into 테이블이름(컬럼01, 컬럼02, …)
values(값01, 값02, …)
Insert into employees(id, name, password, gender, birth, marriage, salary, address, manager)
values('yusin', '김유신', 'abc123', '남자', '1990/12/25', '결혼', 220, '용산', null);
CREATE TABLE employees (
id VARCHAR(20) PRIMARY KEY,
name VARCHAR(30) NOT NULL,
password VARCHAR(20) NOT NULL,
gender VARCHAR(10),
birth DATE,
marriage VARCHAR(30),
salary DECIMAL(10, 2) DEFAULT 100.00,
address VARCHAR(50),
manager VARCHAR(50)
);
Insert into employees(id, name, password, gender, birth, marriage, salary, address, manager)
values('yusin', '김유신', 'abc123', '남자', '1990/12/25', '결혼', 220, '용산', null);
Insert into employees(id, name, password, gender, birth, marriage, salary, address, manager)
values('lee', '이순신', 'abc123', '남자', '1990/12/25', '이혼', 220, '용산', null);
Insert into employees(id, name, password, gender, birth, marriage, salary, address, manager)
values('choi', '최영', 'abc123', '남자', '1990/12/25', '결혼', 155, '용산', 'yusin');
Insert into employees(id, name, password, gender, birth, marriage, salary, address, manager)
values('kang', '강감찬', 'abc123', '남자', '1990/12/25', '결혼', null, '용산', 'yusin');
컬럼 이름을 명시하는 경우
컬럼의 갯수와 데이터의 타입을 반드시 맞춰줘야함
Insert into employees(id, name, password, gender, birth, marriage, salary, address, manager)
values('yoon', '윤봉길', 'abc123', '남자', '1990/12/25', '미혼', 230, '용산', 'yusin');
Insert into employees(id, name, password, gender, birth, marriage, salary, address, manager)
values('kim9', '김구', 'abc123', '남자', '1990/12/25', '이혼', 280, '강남', null);
Insert into employees(id, name, password, gender, birth, marriage, salary, address, manager)
values('general', '김좌진', 'abc123', '남자', '1990/12/25', '결혼', 550, '마포', 'kim9');
Insert into employees(id, name, password, gender, birth, marriage, salary, address, manager)
values('an', '안중근', 'abc123', '남자', '1990/12/25', '결혼', 155, '용산', 'kim9');
입력이 필요 없는 컬럼을 명시하지 않는 경우
굳이 명시할 필요가 없는 컬럼은 insert 구문에 작성할 필요없음, 급여가 책정되지 않은 직원의 경우 기본값 100으로 입력됨
Insert into employees(id, name, password, gender, birth, marriage, address, manager)
values('nongae', '논개', 'abc1234', '여자', '1990/12/25', '미혼', '강남', 'soon');
연산자 | 연산자 | 의미 | 수학적 기호 | 오라클 결과 |
---|---|---|---|---|
항등 연산자 | = | 같다 | = | False |
항등 연산자 | <> | 같지않다 | != | True |
비교 연산자 | > | 좌측이 크다 | > | True |
비교 연산자 | >= | 좌측이 크거나 같다 | >= | False |
비교 연산자 | < | 좌측이 작다 | < | True |
비교 연산자 | <= | 좌측이 작거나 같다 | <= | True |
연산자 | 의미 |
---|---|
And | 논리곱 |
Or | 논리합 |
not | 부정 |
select * from employees where name='강감찬' or name='논개';
Update 구문은 이미 저장이 되어 있는 데이터 값을 변경하고자 하는 경우 사용하는 문장
update 테이블_이름
set 컬럼1=값1, 컬럼2=값2, …, 컬럼n = 값n
Where 조건식;
update employees
set salary=100;
rollback;
아이디가 kim9 이거나 lee이거나 kang 인 항목을 찾아보는 문구?
그런데 in을 사용한다면?
(명령어) in (set)
or 연산자 대신에 간략히 표현할 목적으로 만든 키워드
or 연산자의 조합으로 셋트 목록 중의 하나와 일치하는 모두를 의미함
select * from employees where id in ('kim9', 'lee', 'kang');
Ex) in 키워드를 사용해 관리자가 ‘김유신’이나 ‘김구’인 회원들의 급여를 555로 변경
update employees set salary=555 where manager in ('yusin','kim9');
delete 문법을 사용함
delete from 테이블_이름 where 조건식;
주의) column 삭제는 불가능하며, 문자와 날짜는 ''(외따옴표)로 둘러싸야함
(예시)
delete from employees;
select * from employees;
"안중근" 회원에 대한 정보 삭제
delete from employees where id='an';
select * from employees;
관리자가 "김유신"인 회원 이름 삭제
delete from employees where manager='yusin';
select * from employees;
관리자가 "soon"이고 급여가 220 이상인 회원 삭제
delete from employees where manager='soon' and salary>=220;
select * from employees;
주소가 '서대문'과 '강남'을 제외한 다른 지역에 거주하는 회원을 삭제
delete from employees where address not in ('서대문', '강남');
select * from employees;