SQL 기본 문법
기본문법
DB | 생성 제거 |
CREATR DATABASE 데베명; DROP DATABASE 데베명; |
|
TB | 생성 제거 변경 |
CREATE TABLE 테이블명 (속성명 속성타입 [제약조건], ...); DROP TABLE 테이블명; RENAME TABLE 원래이름 TO 바꿀이름; |
|
TB | 속성 | 추가 | ALTER TABLE 테이블명 ADD COLUMN 칼럼명 자료형 [DEFAULT 기본값] [제약조건]; ALTER TABLE TEMP ADD COLUMN AGE INT DEFAULT 20 CHECK (AGE>0); ALTER TABLE 테이블명 ADD 칼럼명 자료형 FIRST; *추가하고싶은 위치 |
수정 | ALTER TABLE 테이블명 MODIFY COLUMN 칼럼명 바꿀자료형 바꿀조건; ALTER TABLE TEMP MODIFY COLUMN AGE INT NOT NULL; ALTER TABLE 테이블명 RENAME COLUMN 칼럼명 TO 바꿀이름; |
||
삭제 | ALTER TABLE 테이블명 DROP COLUMN 칼럼명; | ||
값 | 추가 | INSERT INTO 테이블명 (칼럼명1,칼럼명2) VALUES (값1,값2); INSERT INTO BILL_INFO (B_ID) VALUES (001); |
|
수정 | UPDATE 테이블명 SET 칼럼명=수정할 값 WHERE 조건 UPDATE MENU_ETC SET PHRASE = '닭강정 세트' WHERE M_ID = 207; |
||
삭제 | DELETE FROM 테이블명 WHERE 조건; delete from member where point=20; |
||
IS NULL!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |||
값이름 | 수정 | ALTER TABLE 테이블명 RENAME COLUMN 칼럼명 TO 바꿀이름; | |
KEY | PK | 생성 | CREATE TABLE country( country_id integer, PRIMARY KEY (country_id) ); |
추가 | ALTER TABLE member ADD CONSTRAINT PRIMARY KEY (mem_id); | ||
삭제 | |||
FK | 생성 | CREATE TABLE country( country_id integer, FOREIGN KEY (country_id) REFERENCES country(country_id)); ㄴ칼럼 ㄴ부모테이블(칼럼) |
|
추가 | ALTER TABLE MENU_ETC ADD CONSTRAINT FOREIGN KEY (M_ID) REFERENCES MENU_INFO(M_ID); |
||
삭제 |
< SELECT문 >
ORDER BY : 정렬
SELECT 칼럼명 FROM 테이블명 ORDER BY 칼럼명 추가조건;
SELECT *FROM EMP ORDER BY ENMAE; OR ORDER BY JOB,SAL;
SELECT *FROM EMP ORDER BY ENAME DESC; *역순
< CREATE문 >
조건식
1. UNIQUE : 중복미허용
2. CHECK : 조건이 참인 경우에만 허용
3. NOT NULL : NULL값 미허용 (속성 바로 뒤에 작성)
CREATE TABLE TEMP (ID INT NOT NULL, NAME VARCHAR(15));
▶데이터 추가 (INSERT)
사용법
INSERT INTO 테이블명 [컬럼1, 컬럼2, ...] VALUES (값1, 값2, ...);
예제 : 전체 컬럼
INSERT INTO table_name VALUES (1105, '테스트', '대한민국');
예제 : 일부 컬럼
INSERT INTO table_name (id, name) VALUES (1105, '테스트');
예제 : 다수 추가
INSERT INTO table_name VALUES (1105, '테스트', '대한민국'),(1106, '테스트2', '미국');
▶데이터 수정 (UPDATE)
사용법
UPDATE 테이블명 SET 컬럼1 = 수정값1 [, 컬럼2 = 수정값2 ...] [WHERE 조건];
예제 : 테이블 데이터 전체 수정
UPDATE table_name SET country = '대한민국';
예제 : 테이블 데이터 일부 수정
UPDATE table_name SET name = '테스트 변경', country = '대한민국' WHERE id = 1105;
▶데이터 삭제 (DELETE)
사용법
DELETE FROM 테이블명 [WHERE 조건];
예제 : 테이블 데이터 전체 삭제
DELETE FROM table_name;
예제 : 테이블 데이터 일부 삭제
DELETE FROM table_name WHERE id = 1105;
테이블 제거 명령
drop table board;
테이블에서 이름을 변경하는 명령
alter table board rename column re_order to reindex;
테이블의 필드의 자료형을 수정하는 명령. 기존의 12를 20으로 늘림
alter table board modify write_id varchar(20);
테이블에 필드를 추가하는 명령
alter table board add filename varchar(30);
테이블에서 필드를 제거하는 명령. 사용하지 않는 필드를 제거
alter table board drop column filename;
시퀸스 생성 명령(게시글의 시퀸스와 댓글의 시퀸스)
최소 글 게시자는 글 인덱스와 그룹 아이디는 같다.
create sequence board_idx_seq increment by 1 start with 1;
create sequence board_groupid_seq increment by 1 start with 1;
시퀸스 조회 명령
select * from user_sequences;
시퀸스 제거 명령
drop sequence board_idx_seq;
drop sequence board_groupid_seq;
필드 명에 별명을 주어서 처리하는 명령
select rownum,idx,title,content from board order by idx asc;
필드 명에 별명을 주어서 처리하는 명령
select rownum rnum,idx,title,content from board order by idx asc;
아래는 테이블에 별명을 줘서 처리하는 명령. 테이블 명이 길 때 사용하면 유용
select * from board a order by a.idx desc
select * from board a order by a.idx desc, a.title asc;
PK & FK
1. country 테이블에 기본 키 생성하기
DROP TABLE country;
CREATE TABLE country(
country_id integer,
name varchar(50),
population integer,
PRIMARY KEY (country_id) );
2. 테이블을 생성하면서 키 생성하기
DROP TABLE city;
CREATE TABLE city (
city_id integer,
name varchar(50),
country_id integer,
PRIMARY KEY (city_id),
FOREIGN KEY (country_id) REFERENCES country(country_id));
ㄴ칼럼 ㄴ부모테이블(칼럼)
3. 이미 생성된 칼럼에 키 생성하기
--ALTER TABLE [FK를 생성시킬 테이블]
--ADD CONSTRAINT [FK명] *생략가능
--FOREIGN KEY (FK로 지정할 컬럼명)
--REFERENCES [PK가 위치하는 부모테이블] ([PK컬럼명])
--ALTER TABLE board
--ADD CONSTRAINT fk_memberindex
--FOREIGN KEY(memberindex)
--REFERENCES member (memberindex);
ALTER TABLE MENU_ETC
ADD CONSTRAINT
FOREIGN KEY M_ID
REFERENCES member MENU_INFO;
ALTER TABLE member ADD CONSTRAINT PRIMARY KEY (mem_id);
ALTER TABLE MENU_ETC ADD CONSTRAINT FOREIGN KEY (M_ID) REFERENCES MENU_INFO(M_ID)