일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Bootstrap
- Java
- ||
- 부트스트랩
- HTML
- HTTP Status 500
- JavaScript
- 답변형 게시판
- Oracle SQL
- JSP
- 제약조건
- SQL
- alias
- github
- tomcat
- rownum
- sql developer
- jQuery
- Oracle DB
- git
- distinct
- 과정평가형
- 모조칼럼
- 이클립스
- HTTP Status 404
- 한글 인코딩
- CRUD
- 성적프로그램
- oracle
- group by
초급의 끄적거림
[SQL] DCL/DDL/DML 명령어 & 기본 명령어 본문
[SQL문]
- Stored Query Language
- 어떻게 작업을 수행할지가 아니라 무엇을 해야할지에 관해 정의하는 결과중심적 언어. (절차적 X - cf. 자바 : 절차적 언어)
- 대소문자를 구분하지 않는다
- 주석 : --
[★★★★★ DCL/DDL/DML 명령어]
1. DCL명령어 (Data Control Language) : 제어어
- 사용자가 별로 쓸 일 없음. 호스팅업체가 주로 사용
- grant : 사용자 접근 권한 부여
- revoke : 사용자 접근 권한 취소
- deny : 특정 사용자만 접근 차단
2. DDL명령어 (Data Definition Language) : 정의어
- DB 및 TABLE 에 대한 정의
- Create : 생성
- Drop : 삭제
- Alter : 수정
3. DML 명령어 (Data Manipulation Language) : 조작어
- 레코드 작업
- Select : 조회 및 검색
- insert : 삽입
- update : 수정
- delete : 삭제
[명령어 사용]
1. 테이블 관련
- 테이블 생성 : create table 테이블명;
- 테이블 수정 : alter table 테이블명;
- 테이블 삭제 : drop table 테이블명;
- 테이블 명 변경 : rename 원래테이블명 to 바꿀테이블명;
- 테이블 목록 확인 : select * from tab; +) 행 목록 확인 : select * from 테이블명;
- 테이블 구조 확인 : desc 테이블명;
테이블 생성 |
create table t_emp( id number(5) not null -- 사번 (숫자의 5자리까지 허용) ,name varchar2(25) -- 이름 ,salary number(7,2) -- 급여 ,phone varchar2(15) -- 전화번호 ,dept_name varchar2(25) -- 부서명 ); |
테이블 삭제 | drop table t_emp; |
테이블명 변경 | rename t_emp to s_emp; |
테이블 목록확인 | select *from tab; |
행 목록 확인 | select * from s_emp; |
테이블 구조 확인 | desc s_emp; |
2. 칼럼 등
- 행추가 : insert into 테이블명 values ( , , , , )
- 행목록 확인 : select * from 테이블명;
- 테이블에 칼럼명 추가 : alter table 테이블명 add(필드명 자료형);
- 칼럼 수정 : alter table 테이블명 modify(필드명 바꾸려는 자료형(사이즈));
조건이 있는 수정 : update 테이블 set 필드=값 where 조건;
+) 오늘 시스템 날짜 : sysdate (ex_ where sysdate;)
- 칼럼 이름 수정 (A라는 칼럼명을 B로 바꿈) : alter table 테이블명 rename column A to B;
- 칼럼 삭제 : alter table 테이블명 drop column 삭제할 칼럼;
행 추가 | insert into s_emp values(100,'손흥민',2000,'010-222-2222','개발부'); insert into s_emp values(101,'박지성',3000,'010-333-3333','총무부'); insert into s_emp values(102,'김연아',4000,'010-444-4444','영업부'); |
행 목록 확인 | select * from s_emp; |
칼럼명 추가 | → (hire_date date형)로 바꾸시오 alter table s_emp add (hire_date date); |
칼럼 수정 | → phone의 varchar2(15) 를 varchar2(20)로 alter table s_emp modify (phone varchar2(20)); |
칼럼 삭제 | → dept_name 삭제 alter table s_emp drop column dept_name; |
3. 오류 보고
- phone은 15글자를 초과할 수 없는데
insert into s_emp values(103,'태평양',5000,'1654981189401121444-555-5555','영업부','2019-07-18'); 초과 되게 만듦.
▶ 오류보고 - ORA-12899: value too large for column "JAVA0514"."S_EMP"."PHONE" (actual: 28, maximum: 15) ▶ 글자수 초과 시
▶ 오류 보고 - ORA-00907: missing right parenthesis 00907. 00000 - "missing right parenthesis" ▶ 오른쪽 괄호 가 빠졌을 때
'DB > Oracle' 카테고리의 다른 글
[SQL] 제약조건 (constraint) 2 (0) | 2019.07.20 |
---|---|
[SQL] Oracle SQL Developer 기본적인 사용법 (0) | 2019.07.20 |
[SQL] Oracle SQL Developer 설치 / 접속 (0) | 2019.07.20 |
[SQL] 제약조건 (constraint) 1 (0) | 2019.07.19 |
[SQL] Sequence (시퀀스), 오라클DB 함수 (0) | 2019.06.25 |