카테고리 없음

SQL 기본 문법

joo_coding 2025. 5. 12. 14:29

기본문법

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)