블로그

[DB] Oracle 11g SQL - 노트정리1 본문

CS

[DB] Oracle 11g SQL - 노트정리1

왕방토 2022. 12. 13. 08:58
728x90

실행:
sqlplus system/비번

 

<기본 구조> - select절, from절, where절

SELECT COLUMN_NAME, DATA_TYPE, DATA_LENGTH 
FROM USER_TAB_COLUMNS 
WHERE TABLE_NAME = 'SAMPLE';

 

SQL의 종류 - DDL, DML, DCL

DDL(Data Definition Language): create, drop, alter, truncate

   ->    (*truncate: 테이블 전체를 삭제하고 똑같은 이름의 테이블 새로 생성)

DML(Data Manipulation Language): select, insert, update, delete

DCL(Data Control Language): grant, revoke

 

 

현재 user로 볼 수 있는 테이블들 보기

select * from tab;

 

user들의 목록 확인하기
select * from all_users;

 

scott 계정 만들기 -> 경로/scott.sql 실행

 

새계정 만들기 -> create user (유저네임) identified by (유저비번) account unlock;

만든 계정으로 접속하기 -> conn (유저네임)/(유저비번)
create 로 만든거 없애기 -> drop
권한주기 -> grant dba to (유저네임)

(dba: 권한 다 주기)

 

<테이블 수정(alter table)> - add, modify, rename column, drop column

컬럼 추가
alter table (테이블 이름) add (컬럼이름) (컬럼 데이터타입);


컬럼 수정
alter table (테이블 이름) modify (컬럼이름) (바꿀 데이터타입);


컬럼이름바꾸기
alter table (테이블 이름) rename column (전 이름) (바꿀 이름);


컬럼 삭제
alter table (테이블 이름) drop column (컬럼이름);

 

primary key 조건 -> not null + unique

 

별칭부여

select (컬럼1) as (별칭1), (컬럼2) as (별칭2) from (테이블이름);

  ->  (as: 생략가능)

 

where 절의 and 와 or

-> 조건의 교집합: and

-> 조건의 합집합: or

 

화면 넓게보기:
set linesize 300

 

where절에 날짜 정보 입력할 때

-> '날짜' 와 같이 해주어야함

ex) where startdate >= '1991/01/01';

 

where 절의 where like ~ (정규식 비슷한 표현)

1. 컬럼의 원소가 A로 시작

 -> where (컬럼이름) like 'A%';

2. 컬럼의 원소가 A로 끝남

 -> where (컬럼이름) like '%A';

3. 컬럼의 원소가 들어감

 -> where (컬럼이름) like '%A%';

4. 자리수 지정 (둘째자리가 A) 

 -> where (컬럼이름) like '_A%';

Comments