반응형
Notice
Recent Posts
Recent Comments
Link
NOW OR NEVER
[DataBase] 데이터 조작어(DML) - 명령어 본문
반응형
데이터 조작어(DML)
insert
- 새로운 레코드(튜플) 삽입
기본 문법
- insert into 테이블이름 values (값리스트)
- 값 리스트는 테이블의 구조와 동일해야 한다.
- ex) insert into book values(1,'재미있는 자바', '쌍용', 3000);
- insert into 테이블이름 [(속성리스트)] values (값리스트)
- 값 리스트는 속성리스트와 동일해야 한다.
- ex) insert into book(bookname, publisher, price, bookid) values('즐거운 자바', '한빛', 40000,2);
- not null이나 primary key는 반드시 속성리스트에 포함시켜야 한다.
- null 제약
- ex) insert into book values(3,'즐거운 오라클', null, null); or insert into book values(bookid, bookname) values(3,'즐거운 오라클');
bulk insert
- 대량 삽입 : 한꺼번에 여러 개의 튜플을 삽입(이미 있는 테이블의 레코드(들)을 검색해서 insert하기)
- insert into 테이블명1[(속성리스트)] select 속성이름(들) from 테이블명2; : 테이블 1에 테이블2에 관해 검색한 것들 insert 함
- 속성리스트 작성할 경우 select 문도 그에 맞춰 작성
- ex) insert into newbook(bookname, publisher, price, bookid) select bookname, publisher, price, bookid from book;
update
- 자료의 수정
- 특정 속성 값을 수정하는 명령어
- 기본문법 : update 테이블이름 set 속성이름1=값1[, 속성이름2 = 값2,...] [where 조건식]
- 한꺼번의 여러 개의 컬럼 수정 가능
- 조건식
- 조건식이 없으면 모든 레코드의 값 수정됨
- 조건식이 있으면 조건식을 만족하는 레코드의 값이 수정됨
- update 할 때 값이 오는 자리에 sub query 올 수 있음
- update 테이블1이름 set 속성이름=(select 속성이름 from 테이블2이름 where 테이블2조건식 ) where 테이블1조건식
delete
- 테이블에 있는 기존 튜플 삭제
- 기본문법: delete [from] 테이블명 [where 조건식]
- 조건식
- 조건식이 없으면 테이블의 모든 레코드 삭제
- 조건식이 있으면 조건식을 만족하는 레코드가 삭제
- 해당 컬럼(속성)을 참조하고 있는 자식레코드가 있는 경우에 삭제할 때는 참조되고 있는 자식레코드를 먼저 삭제해야 한다.
rollback과 commit
- commit; : 현재까지의 작업을 dbms에 반영
- rollback; : DML 작업을 가장 최근의 commit 지점까지 취소
- DCL이나 DDL은 자동 커밋 : dcl와 ddl 명령어 쓴 경우 그 이전의 한 dml의 내역이 다 반영이 되어 버린다. 그래서 rollback을 하더라도 돌아가지 못하므로 의미가 없다.
Tips
[]는 생략 가능
conn c##sist/sist : 해당 사용자 계정으로 연결
속성 = 컬럼= 필드, 레코드 = 튜플 = 행
입력된 값이 sql상에서 한글 깨짐 현상 해결 : server.xml - 마우스 오른 쪽 - open with - xml editor - ctril + f Connector 검색 - 아래와 같이 변경
<Connector connectionTimeout="20000" port="8000" protocol="HTTP/1.1" redirectPort="8443" URIEncoding ="utf-8"/>
dual : 가상의 테이블
'Back-End > Database' 카테고리의 다른 글
[DataBase] View & Index (0) | 2022.04.28 |
---|---|
[DataBase] 내장 함수 (0) | 2022.04.26 |
[DataBase] 데이터 정의어(DDL) (0) | 2022.04.24 |
[DataBase] 데이터 베이스 연동 프로그램 (0) | 2022.04.23 |
[DataBase] 데이터조작어(DML) - Sub Query (0) | 2022.04.22 |