japanese site
온라인강좌책메일다운로드동아리쇼핑기술지원기업정보갤러리동영상 블로그
『신개념 4단계 리눅스기술지원 시스템 공개』

※ 『무료 리눅스 배포판 배송서비스』 ※

 
기본 SQL문 - INSERT
조회 : 5,425  


데이터 정의 및 타입 - INSERT
1. 데이터 삽입(INSERT INTO)
테이블 이름은 RENAME 구문을 사용하여 변경할 수 있다.
1) 구문
INSERT INTO table_name [ ( attribute_list ) ] VALUES ( value_list ) [ ; ]
INSERT INTO table_name DEFAULT [ VALUES ] [ ; ]
table_name : 데이터를 생성하고자 하는 테이블 이름을 지정한다.
attribute_list : 입력하고자 하는 값의 컬럼 이름을 지정한다. 만약 attribute_list를 명시하지 않으면 테이블에 정의된 모든 컬럼에 대한 값을 채워야 한다. 만약attribute_list에 일부 컬럼만 명시가 된다면 나머지 컬럼에는 정의된 디폴트 값이 할당되며 디폴트 값이 없을 경우 NULL 값이 할당된다.
value_list : attribute_list 의 컬럼에 대응되는 값을 명시한다. value_list 의 항목은 표현식, 메소드 호출일 수 있고, attribute_list 의 속성 위치와 도메인 형식이 일치해야 한다. 각 이름과 값은 콤마(,)로 구별된다.
DEFAULT : 두 번째 구문 형식의 INSERT 문은 각각의 속성에 디폴트 값을 할당하여 데이터를 생성한다. 만약 테이블 정의에서 컬럼에 디폴트 값이 설정되어 있지 않으면 그 컬럼의 값으로 NULL이 할당된다.
2) 예제
다음은 athlete 테이블에 2008 베이징 올림픽 펜싱 은메달리스트 남현희 선수의 정보를 입력하는 예제이다. code 컬럼은 auto_increment이므로 값을 입력하지 않는다. 자세한 내용은 컬럼에서 자동 증가 특성 내용을 참조한다.
INSERT INTO athlete (name, gender, nation_code, event) VALUES ('Nam Hyun-Hee','W', 'KOR', 'Fencing');
다음은 olympic 테이블에 2008 베이징 올림픽의 대략적인 정보를 넣는 예제이다.
INSERT INTO olympic (host_year, host_nation, host_city, opening_date, closing_date) VALUES (2008, 'China', 'beijing', '2008-08-08','2008-08-24');
다음은 DEFAULT를 이용한 데이터 삽입을 보여주는 예제이다. 예제를 위해 de_test 테이블을 생성하고 데이터를 삽입한다. 아래와 같이 설정된 디폴트 값이 자동으로 삽입된 것을 알 수 있다.
CREATE TABLE de_test(
   a INT DEFAULT 10,
   b INT DEFAULT 20,
   c CHAR(1) DEFAULT 'M'
);
INSERT INTO de_test DEFAULT;

csql> SELECT * FROM de_test;
csql> ;x
=== <Result of SELECT Command in Line 1> ===
   a    b    c
===============
   10   20   'M'
1 rows selected.
2. 질의를 이용한 INSERT
INSERT 문에 질의를 사용하면 하나의 INSERT 문으로 다수의 데이터를 생성할 수 있다.
다른 테이블로부터 특정 검색 조건을 만족하는 데이터를 추출하고 싶은 경우 질의를 이용하면 조건을 만족하는 모든 데이터는 INSERT 문에 명시된 테이블의 데이터가 된다.
1) 구문
INSERT INTO table_name [ (attribute_list ) ] query_statement [ ; ]
table_name : 데이터를 삽입할 테이블의 이름을 지정한다.
attribute_list : 입력하고자 하는 값들의 컬럼 이름을 지정한다. 이 곳에 정의된 데이터 타입은 query_statement의 결과의 데이터 타입과 일치해야 한다.
query_statement : 삽입할 데이터를 추출하는 질의문을 정의한다.
2) 예제
다음은 man 테이블을 생성하고 athlete 테이블에서 남자 선수들의 이름을 조회하여 결과를 삽입한다. 하나의 INSERT 문을 이용하여 4087건의 데이터가 삽입되는 것을 알 수 있다.
CREATE TABLE man (
   name VARCHAR(40)
);

csql> INSERT INTO man (name) SELECT name FROM athlete WHERE gender ='M';
csql> ;x
4087 rows inserted.
Current transaction has been committed.
1 command(s) successfully processed.
3. 부질의를 이용한 INSERT
INSERT 문의 VALUES 항목의 하나로 질의를 포함하여 데이터를 삽입할 수 있다.
1) 구문
INSERT INTO table_name [ ( attribute_list ) ]
VALUES ( value_list, query_statement ) [ ; ]
table_name : 데이터를 삽입할 테이블의 이름을 지정한다.
attribute_list : 입력하고자 하는 값들의 컬럼 이름을 지정한다.
value_list : attribute_list의 컬럼에 대응되는 값들을 명시한다.
query_statement : 부질의를 정의한다. 부질의의 결과는 해당 컬럼에 대응되는 하나의 값이어야 한다.
2) 예제
다음은 athlete 테이블에 2008 베이징 올림픽 유도 73kg 은메달 리스트 왕기춘 선수의 정보를 입력하는 예제이다.
INSERT INTO athlete VALUES (16800, 'Wang Ki-chun','M',SELECT code FROM nation WHERE name ='Korea', 'Judo');

[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1617


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
큐브리드

 
   
 


『신개념 4단계 리눅스기술지원 시스템 공개』

CentOS 리눅스 전문서적 국내최초출시

 
회사소개 | 보도기사 | 채용안내 | 광고안내 | 이용약관 | 개인정보취급방침 | 책임한계와 법적고지 | 불편사항 신고하기 | 사이트맵
ㅇ 서울 : 서울특별시 강남구 노현로79길 66, 402호(역삼동,청송빌딩)  ㅇ 부산 : 부산광역시 해운대구 우동 1470 에이스하이테크21 914호
ㅇ 대표 : 1544-8128 ㅇ부산직통 : 051-744-0077 ㅇ서울직통 : 02-856-0055 ㅇ FAX : 02-6280-2663
ㅇ 사업자번호 : 128-86-68239 ㅇ 통신판매업 신고번호 : 2013-부산금정-0035호 ㅇ 개인정보책임자 : 이재석
ㅇ 상호명 : (주) 수퍼유저 ㅇ 대표자 : 박성수
Copyright ⓒ (주)수퍼유저. All rights reserved.

 아 이 디
 비밀번호
회원 가입 | 비밀번호 찾기

블로그~
 
▷ 데이타베이스
MySQL
Oracle
PostgreSQL
큐브리드
책제목
리눅스서버관리실무바이블v3.0


저자 박성수
페이지수 2,032 pages
펴낸곳(주)수퍼유저

리눅스 서버 구축 및 관리에 필요한 거의 모든 부분과 전반적인 실무 기법들을 다루고 있음
책제목
리눅스보안관리실무(2/E)


저자홍석범
페이지수 820 pages
펴낸곳(주)수퍼유저

리눅스 보안에 관련된 내용을 종합적으로 쓴 책. 저자의 명성 그대로 보안관련의 모든 내용이 그대로 담겨져 있다.