일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Stock
- 주식
- Eclipse
- 제이쿼리
- html
- 주식 청약
- 자바
- 자바스크립트
- 오라클
- codeigniter
- Stock ipo
- 맥
- SQL
- 코드이그나이터
- linux
- 공모주 청약 일정
- IPO
- 공모주 청약
- php
- MYSQL
- jquery
- Oracle
- 리눅스
- JavaScript
- 공모주
- 7월 공모주 청약 일정
- css
- 6월 공모주 청약 일정
- 주식 청약 일정
- java
- Today
- Total
개발자의 끄적끄적
[SQL] ALTER TABLE 문. 테이블 수정하기 [펌] 본문
[SQL] ALTER TABLE 문. 테이블 수정하기 [펌]
ALTER 구문은 테이블을 수정합니다.
컬럼을 추가 한다거나 삭제 한다거나, 컬럼의 속성을 변경해 줄수 있습니다.
도움말에는
열과 제약 조건을 변경, 추가 또는 삭제하거나 파티션을 재할당하거나 제약 조건과 트리거를 설정 또는 해제하여 테이블 정의를 수정합니다.
라고 나와있습니다.
앞서 만들어 봤던 테이블을 한번 확인 해보면 상당히 쓸모없게 생겼는데.
alter table 을 통해 컬럼을 추가해주고 삭제하여 좀더 쓸모 있게 만들어 보겠습니다.
나이값을 없애고 생년월일을 넣어 두고 싶습니다.
컬럼이름은 Birth 로 변경을 하고
속성은 문자열 형태로 변경을 할겁니다.
이름을 변경 할때는 저장프로시저를 사용하면 편하지만
alter를 통해 컬럼을 삭제 하고 추가 해봅시다.
column userage 삭제
alter table UserTbl drop column UserAge
-- UserTbl 테이블에서 UserAge 컬럼을 삭제 합니다. (drop은 폴더 삭제라고 생각하면 됩니다.)
select * from UserTbl
column birth 추가
alter table UserTbl add Birth varchar(6) NULL
-- UserTbl 테이블에서 Birth 컬럼을 추가 합니다 . 형식은 varchar 형식이고 널값을 허용합니다.
select * from UserTbl
일단 열 순서는 신경 쓰지 마세요.
COLUMN 속성 변경
ALTER TABLE … ALTER COLUMN 을 이용하여 COLUMN 의 속성을 변경 해봅시다.
alter table UserTbl alter column UserID varchar(50) NULL
--UserID 의 데이터 형식을 varchar(50) 으로 지정하고 NULL값을 허용한다.
alter table UserTbl alter column UserID varchar(50) NOT NULL
--UserID 의 데이터 형식을 varchar(50) 으로 지정하고 NULL값을 허용하지 않는다.
ID는 항상 가지고 있을 것이기 때문에 NULL값을 허용 하지 않고 쿼리를 실행 해줍니다.
결과는 똑같이 나오지만 UserID는 이제 NULL값을 허용하지 않습니다 ㅎㅎ
위에서는 varchar 형식으로 계속 지정을 하고 있지만
alter table __ alter column 문을 통해서 다른 데이터 형식으로도 변경할수 있습니다.
이제 위 내용을 종합해서
UserTbl의 컬럼에는
이름 / 아이디 / 전화번호 / 지역 / 돈 / 아이템 / 아이템2/ 아이템3 / 코멘트
alter table usertbl add Area varchar(50) NULL
alter table usertbl add Money int NULL
alter table usertbl add Item1 varchar(50) NULL
alter table usertbl add Item2 varchar(50) NULL
alter table usertbl add Item3 varchar(50) NULL
alter table usertbl add Comment varchar(50) NULL
select * from UserTbl
정도로 만들고
ItemTbl 의 컬럼에는
아이템코드 / 아이템이름 / 금액 만 입력 할 수 있도록 만들어 봅시다~!
alter table ItemTbl drop column UserID
alter table ItemTbl drop column uMoney
alter table ItemTbl drop column item2 , item3
alter table itemTbl add Itemcode varchar(10) NULL, Price int NULL
위처럼 ' , ' 를 이용해서 구문하나에 여러 개의 처리를 할수 있습니다!
그럼 UserTbl 처럼 막 힘들게 다 쓸 필요 없이 한번에 처리할 수 있겠죠 ㅎㅎ
처음보다는 나름 깨끗 해진것 같습니다
이번에는 alter 문의 이해를 돕기 위해서 alter 문만 주구장창 한번 써봤는데
다음에는 기본 키 개념에 대해 알아봅시다
도움말을 생활화합시다!
출처: https://121202.tistory.com/27 [책방 창고]
'개발 > sql' 카테고리의 다른 글
[sql] mssql BOF,EOF 속성 참고 [펌] (0) | 2020.05.28 |
---|---|
[MSSQL] 문자열 치환 (REPLACE,STUFF) 사용법 & 예제 (0) | 2020.05.28 |
[sql] MSSQL TOP 1 MYSQL LIMIT 1 사용법 (0) | 2020.05.26 |
[sql/tibero] Tibero_tibero is stopped or disabled.[펌] (0) | 2020.05.23 |
[SQL] Oracle 필수 스크립트 모음(딕셔너리, SQL 문법, 성능 분석)[펌] (0) | 2020.05.21 |