본문 바로가기

DB/MS Acess

Access Create Table Query

 본 포스트에서는 Ms access 2016을 이용하여 Table 생성 및 변경, 삭제 쿼리를 다루어보는 일을 하겠다.

포스트의 대부분은 링크로 대체하여 설명할 것이며, 특수하게 발생 할 수 있는 일만 직접 다룬다.

그냥 누군가가 정리해놓은 reference를 본다고 생각하고 봐주시면 된다.


1. CREATE TABLE:


1). 문법:

1
2
3
4
5
CREATE TABLE table_name
(
attribute_1 data_type constraint,
attribute_2 data_type constraint,
....
)

cs


 문법은 다음과 같다:

(1). table_name은 table의 이름을 뜻한다.

(2). attribute_1은 attribute의 이름을 뜻한다.

(3). data_type은 data의 type을 의미한다:


data_type에는 다양한 종류가 있다.


(4). constraint는 제약조건을 의미하는데, MS access에서는 다음과 같은 제약조건이 존재한다


(5). 예시:


1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TABLE CUSTOMER
(
CustomerID AUTOINCREMENT NOT NULL PRIMARY KEY
LastName varchar(25NOT NULL,
FirstName varchar(35NOT NULL,
Address varchar(35),
City varchar(35),
State varchar(2),
ZIP varchar(10),
Phone varchar(12NOT NULL,
FAX varchar(12),
Email varchar(100)
)
cs



Multifield constraint의 경우엔 CONSTRAINT 구문을 통하여 추가한다:


1
2
3
4
5
6
7
8
9
10
11
CREATE TABLE CONTACT
(
ContactID AUTOINCREMENT NOT NULL,
CustomerID INT,
ContactDate DATETIME NOT NULL,
ContactType varchar(10)NOT NULL,
Remarks LONGTEXT,
CONSTRAINT CONTACT_PK PRIMARY KEY(ContactID),
CONSTRAINT CUS_CONT_FK FOREIGN KEY(CustomerID)
                         REFERENCES CUSTOMER(CustomerID)
)
cs


2. ALTER TABLE:


ALTER TABLE 문에는 여러가지 기능이 있다: attribute/constraint를 추가, 변경, 삭제한다.


1). 문법:

1
2
3
ALTER TABLE table 
{ADD {COLUMN field type[(size)] [NOT NULL] [CONSTRAINT index] | 
ALTER COLUMN field type[(size)] | CONSTRAINT multifieldindex} | DROP {COLUMN field I CONSTRAINT indexname} }
cs


 자세한 설명을 위해 하나씩 분리하여 설명하겠다.


(1).  ADD COLUMN


1
2
3
ALTER TABLE table 
ADD COLUMN field type(size) (NOT NULL) (CONSTRAINT index)
cs


본 쿼리는 table에 column을 추가한다.

field: 본 attribute의 이름을 뜻한다.

type: 데이터 타입을 의미한다. 위에서 레퍼런스를 걸었으니 이를 참고하길 바란다.

NOT NULL: 공백으로 지정할 수 없다는 의미이다.

Single-field constraint의 경우에는 CONSTRAINT를 명시하지 않고 바로 추가할 수 있다.


(2). ALTER COLUMN


작성 준비중...