일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 자바
- 딥러닝
- 토큰화
- 광주국비지원학원
- sellenium
- 과대적합제어
- 과대적합
- 스마트인재개발원
- 데이터프레임
- permisision부여
- 웹크롤링
- CountVectorizer
- 활성화함수
- 광주인공지능학원
- 파이썬
- 셀리니움
- tfidf
- 머신러닝
- servlet
- jsp
- DataFrame
- python
- 인공지능
- 인공지능학원
- 유투브크롤링
- 댓글분석
- 크롤링
- relu
- Selenium
- iris붓꽃
- Today
- Total
+ Hello +
0515 DB create table, alter table 본문
1. Create table 테이블 생성 (369p)
- DDL : 객체 생성, 수정, 삭제할 때 사용하는 언어
- 테이블 이름 및 열 이름
- 문자로 시작
- 최대 30자까지 가능
- 알파벳 대문자, 소문자, (한글 가능하긴 함 가독성 떨어짐), 숫자, _&#(특수기호 3개 가능, 단 문자로 시작)
- 테이블 이름이 다르면 같은 col이름 가능
- 동일한 소유자가 소유한 다른 객체의 이름은 중복 x
* 테이블 생성할 때 반드시 지정해야 할 것
- 테이블이름
- 열의 이름, 데이터 유형 및 크기
<DB구축>
1) create table > 생성
create table 테이블이름
(col 이름 number(2) ... ,
col이름 타입/길이 );
desc 테이블이름 으로 확인가능 (describe)
2) insert > data삽입
3) commit > data저장
* 데이터 유형
!!!!!!! (저장공간) 결정 신중하게!!!!!!
- char(5) : 고정 길이 문자 데이터
미리 공간 할당
성능을 중요시(공간 낭비일어날 수 있음)
- varchar2(5) : 가변 길이 문자 데이터
들어오는 data size에 맞게끔 할당
공간의 활용도를 중요시
- Number : +-0 최대 256자까지 가능 but 성능떨어짐
- number(p) : 정수만 사용
- number(p,s) : 소수점 표현 가능, 가장 많이 사용
- date : 날짜와 시간 값 (시차 계산을 못함)
- datetime
- timestamp : 시간, 분, 초까지 표기
ex) hire_date timnestamp
2. Alter table문 390p
: 열 추가, 수정, 새 열의 기본값 정의, 삭제
* alter table 구문
1) col 추가
alter table 테이블 이름
add
-추가된 column은 null 값 이므로 값 추가할 때 insert(X) update 사용!
2) col의 데이터 타입, 길이 변경
alter table 테이블 이름
modify (column datatype..
- (1) data type 변경
이미 문자 데이터로 입력되어 있을 땐, 문자로 데이터 타입을 바꿀 수 없음
- (2) 길이 증가
이미 데이터가 5 넘을 땐, 5이하로 데이터 크기를 줄일 수 없음
- (3) 길이 감소
>> 데이터가 없을 땐 변경, 증가, 감소 모두 가능
but 데이터가 있으면 타입 변경불가, 증/감소는 데이터 크기에 따라 정해짐
3-1) col 삭제
alter table 테이블 이름
drop column 지울column이름;
- DDL은 실행과 동시에 commit 저장되기 때문에 복구할 수 없음 !! > 데이터를 삭제할 때 주의하기
- data 뿐만 아니라 data 저장공간, data dictionary에 있는 모든 정보를 삭제해버림
- 백업파일이 있지 않는 한 복구 불가능
- 동시성이 떨어져서 사용 잘 안함 >> set unused 사용
* DML : 실행하는 동안 행에 Lock을 실시
* DDL : table 전체에 Lock
3-2) set unused
alter table 테이블 이름
set unused (컬러이름);
- unused된 컬럼은 변경할 수 없도록 만듦
- data 저장공간은 남아있음 > drop unused columns를 통해 저장 공간 없앰
*alter table 테이블이름
drop unused columns;
- unused 상태의 저장공간을 회수, 싹 날려버림
------------------
Q) DML 트랜잭션을 하는 도중에 commit을 안하고 DDL을 하면 어떻게 되나요?
insert (DML)
insert
insert
~~ing
create(DDL) > 새로운 트랜젝션이 되면서 그 전의 insert들은 auto commit 됨
-----------------------------------
** 삭제 3가지 방법
1) delete
- DML명령어
- 범위 : data 삭제
- 저장공간 : data 저장공간 남아있음
- 복구 : rollback
- where 절 있음(행 단위 삭제할 때 사용)
2) truncate
- DDL 명령어
- 범위 : data 삭제(모든 행 제거)
- 저장공간 : data 저장공간 삭제 but table의 구조는 남아있음
- 복구 : 복구 불가, 단 백업본 있을 시 가능
- where 절 없음(전체 table data 삭제할 때 사용)
3) drop
- DDL 명령어
- 범위 : data, data dictionary 삭제
- 저장공간 : 저장공간 모두 날림
- 복구 : 복구 불가, 단 백업본 있을 시 가능
------------------------------------
테이블에 주석 추가 400p
401p 테이블 생성 요약
'+ 스마트인재개발원 +' 카테고리의 다른 글
[스마트인재개발원] [웹 크롤링] 유튜브 영상의 제목, 조회수 크롤링하기 (2) | 2021.06.09 |
---|---|
[스마트인재개발원][웹 크롤링] Selenium 모듈 | 한솥 도시락 메뉴, 가격 데이터 프레임만들기 (0) | 2021.06.08 |
[스마트인재개발원] [웹 크롤링] 멜론 TOP 100 수집하기 (0) | 2021.06.05 |
[스마트인재개발원] [웹크롤링] Request, BeautifulSoup 사용하기, 네이버 기사 제목 크롤링하기 (0) | 2021.06.04 |
[자바 페스티벌] 01~05번 문제 풀이 (0) | 2021.05.09 |