-- CREATE 생성 DROP삭제 ALTER구조변경
-- INSERT 데이터삽입, DELETE 데이터삭제, UPDATE 데이터값 변경
-- GRANT권한부여, REVOKE권한회수, SAVEPOINT 저장시킬 위치를 지정해서 해당 자료를 저장,
-- COMMIT 처리되어서 변경되었다고 가정했을때 공간에다 실제로 저장할때, 커밋은일괄저장
-- ROLLBACK 오류가 발생되었을때나 잘못 연산되었을때 전으로 돌림 / 명령취소
** INSERT 문
- 데이터를 테이블에 저장시키는 명령
(사용형식)INSERT INTO 테이블명[(컬럼명,...)] VALUES(값,...);
- '테이블명' : 데이터 삽입 대상 테이블명
- '[(컬럼명,...)]' :
생략할 수 있으며, 생략하면 테이블의 모든 컬럼에 저장할 테이터를 VALUES절에 기술해야한다.
데이터를 저장할 필요한 컬럼만 기술할 때는 ','로 구분하여 컬럼을기술하며, NOT NULL 로 속성으로 설정된 컬럼은 생략할 수 없음- 'VALUES(값,...)' :
저장할 자료를 기술하며, '테이블명[(컬럼명,...)]'의 컬럼의 갯수와 순서와 일치해야함-- (컬럼명,...) 삭제되어지면 VALUES(값,...)에 컬럼값이 순서대로 저장? -- (컬럼명,...)<< 몇개만 입력 컬럼명을 기술하던 기술하지않던 밸루값이랑 입력하려는 컬럼갯수는 같아야 함 -- 같지않으면 저장안됨. 순서일치 중요하고 *NOT NULL< 이거 붙이면 NULL 허용하지않겠다. -- 데이터를 입력 수정 삭제 - 검사를 해야함>>SELECT!
[자료]
-------------------------------------------------
사원번호 사원명 전화번호 직위 부서명
-------------------------------------------------
A10 전준호 사원 영업부
B09 이나영 042)123-5678 팀장
B10 홍길동 공공사업부
-------------------------------------------------
INSERT INTO EMP VALUES('A10','전준호','NULL','사원', '영업부');
INSERT INTO EMP VALUES('B09','이나영','042)123-5678','팀장', '');
INSERT INTO EMP (EEPT_NAME,EMP_ID,EMP_NAME)
VALUES('공공사업부','B10','홍길동');
SELECT * FROM EMP;
-- INSERT INTO EMP VALUES('A10','전준호', '사원', '영업부');
-- SQL 오류: ORA-00947: not enough values
-- 'NULL' = "" <바이트스페이스? 화이트스페이스?
-- 오라클에서 ALL = * (아스트릭스)
-- SELECT 는 FROM
-- INSERT 아예없는 데이터를 넣을 때 / UPDATE 기존데이터값 변경
[자료]
--------------------------------------------------------
사업장번호 사업장명 주소 비고
--------------------------------------------------------
1000 한밭대교신축 대전시 중구 대흥동 공사중
1001 새여울초 공사완료
--------------------------------------------------------
ALTER TABLE CONSTRUCTIN_SITE
MODIFY (ADDRESS VARCHAR2 (250) NOT NULL);
INSERT INTO CONSTRUCTIN_SITE VALUES(1000,'한밭대교신축','대전시 중구 대흥동','공사중')
INSERT INTO CONSTRUCTIN_SITE(CONST_ID,CONST_NAME,REMARKS,ADDRESS)
VALUES(1001,'새여울초','공사완료',' ');
SELECT * FROM CONSTRUCTIN_SITE;
DROP TABLE WORK;
DROP TABLE CONST_MATERIALS;
DROP TABLE CONSTRUCTIN_SITE;
DROP TABLE EMP;
-- INSERT INTO CONSTRUCTIN_SITE(CONST_ID,CONST_NAME,REMARKS)
-- VALUES(1001,'새여울초','공사완료');
-- ORA-01400: cannot insert NULL into ("JY92"."CONSTRUCTIN_SITE"."ADDRESS")
-- .은 소유자 > CONSTRUCTIN_SITE는 JY92이 소유자
-- ADDRESS 의 소유자는 CONSTRUCTIN_SITE
-- INSERT INTO CONSTRUCTIN_SITE(CONST_ID,CONST_NAME,REMARKS,ADDRESS)
-- VALUES(1001,'새여울초','공사완료',' '); ' ' 띄워야만해