본문 바로가기
🛢 3. Database/3-1 Mysql

[Database] 06. 테이블 수정 및 업무 테이블 준비하기

by 달님🌙 2021. 9. 10.
반응형

 

 

테이블 수정하기

1. create (테이블 생성) 

 

CREATE TABLE `member` 
(
  `ID` varchar(50) DEFAULT NULL,
  `PWD` varchar(50) DEFAULT NULL,
  `NAME` varchar(50) DEFAULT NULL,
   
  `GENDER` char(6) DEFAULT NULL,     
   --> '남' '여'로 표현 가능 2.수정요청        

  `AGE` tinyint unsigned DEFAULT NULL, 
   --> BIRTHDAY(생년월일)로 계산 가능 3.삭제요청

  `BIRTHDAY` char(10) DEFAULT NULL,
  `PHONE` char(13) DEFAULT NULL,

   <-- `EMAIL` 정보 1.추가요청

  `REGDATE` date DEFAULT NULL
);

* 참고

 `back tick`  : 중간에 공백이 있는 개체의 이름을 사용할 때 `...` 묶어야 하나의 이름으로 인식한다.

 

- timestamp 표현식

 

 

2. ADD (추가)

 

-- [Member Table] 실습
ALTER TABLE member ADD `EMAIL` VARCHAR(200);

 

 

3. Modify (수정)

 

- 테이블 DROP 하고 CREATE ?

 - 만약 데이터가 기존에 존재하고 있는 경우라면...문제발생!

- 컬럼에 해당 데이터(값)를 검증(조치) 후 수정해야 한다.

 -- [Member Table] 실습
 ALTER TABLE member MODIFY `GENDER` CHAR(3);
 ALTER TABLE member MODIFY `ID` VARCHAR(100);
 ALTER TABLE member MODIFY `PWD` VARCHAR(100);
 ALTER TABLE member MODIFY `NAME` VARCHAR(100);

 

 

4. DROP (삭제)

 

-- [Member Table] 실습
ALTER TABLE member DROP COLUMN `AGE`;

 

 

업무 테이블 준비

 

1. 이유 

 

- 업무용 애플리케이션을 만들기 위해서는 기본 DML(데이터조작언어)을 숙지해야 한다.

- 기본 CRUD 즉, INSERT/SELECT/UPDATE/DELETE를 다룰 수 있어야 한다.

 

멤버가 관리하는 오브젝트(공지사항)

 

[NOTICE]
  CREATE TABLE `NOTICE`(
  ID			INT,
  TITLE		VARCHAR(300),
  WRITER_ID 	VARCHAR(100),
  CONTENT 	TEXT,
  REGDATE 	TIMESTAMP,
  HIT 		INT,
  FILES 		VARCHAR(3000)
);

 

 

공지에 추가되는 댓글

 

[COMMENT]
  CREATE TABLE `COMMENT`(
  ID			INT,
  CONTENT 	TEXT,
  REGDATE 	TIMESTAMP,
  WRITER_ID 	VARCHAR(100),
  NOTICE_ID	INT
);

 

 

역할 구분자(관리자/학생/선생)

 

[ROLE]
  CREATE TABLE `ROLE`(
  ID			VARCHAR(100),
  DISCRIPTION VARCHAR(1500)
);

 

 

회원의 역할 담당 테이블

 

[MEMBER_ROLE]
  CREATE TABLE `MEMBER_ROLE`(
  MEMBER_ID			VARCHAR(100),
  ROLE_ID				VARCHAR(100)
);

 

 

반응형

댓글