SQL server 2003 (4) - create table
USE master
GO
DROP DATABASE MYDBOO
CREATE DATABASE MyDB00
USE MYDB00
GO
CREATE TABLE MYTABLE01
(
ID VARCHAR(10) NOT NULL PRIMARY KEY, <----중복불가, 데이터무결성, 제약조건
NAME VARCHAR(10) NULL,
ADDRESS VARCHAR(50) NULL,
TEL VARCHAR(14) NULL,
AGE TINYINT DEFAULT 0,
REGDATA DATETIME DEFAULT GETDATE()
) ON[PRIMARY]
SELECT*FROM MYTABLE01
EXEC SP_HELP MYTABLE01
SELECT NEWID()
분홍색은 함수
테이블 열에 기본값을 지정하는 예
USE MYDB00
GO
EXEC SP_ADDTYPE NAMETYPE,'VARCHAR(11)','NOT NULL'
EXEC SP_ADDTYPE BIRTHDAY,DATETIME, 'NULL'
EXEC SP_ADDTYPE TELEPHONE,'VARCHAR(24)','NOT NULL'
EXEC SP_ADDTYPE FAX,'VARCHAR(24)','NULL'
CREATE TABLE MYTABLE02
(
ID VARCHAR(10) NOT NULL PRIMARY KEY,
NAME VARCHAR(10) NULL,
ADDRESS VARCHAR(50) NULL,
TEL VARCHAR(14) DEFAULT 'XXX-XXXX',
AGE TINYINT DEFAULT 0,
REGDATA DATETIME DEFAULT GETDATE()
)
SP_HELP MYTABLE02
기본값은 데이터 추가시 열에 값을 지정하지 않을 경우 자동으로 입력되는 값이다.
SELECT*FROM MYTABLE02
INSERT INTO MYTABLE02 VALUES ('A001','옥주현','서울','010-123-1234',30,'2009/08/12')
INSERT MYTABLE02 (ID,NAME,ADDRESS)VALUES('A1234','김예린','서울시 마포구')
USE MYDB00
GO
CREATE TABLE MYTABLE03
(
PCODE VARCHAR(10) NOT NULL PRIMARY KEY,
PNAME VARCHAR(50) NULL,
UNITPRICE MONEY DEFAULT 0,
QTY INT DEFAULT 0,
PRICE AS (UNITPRICE*QTY),
REGDATE DATETIME DEFAULT GETDATE(),
UESRNAME AS USER_NAME()
)
EXEC SP_HELP MYTABLE03
테이블에 행을 추가하여 계산될 열의 값을 확인한다.
INSERT MYTABLE03 (PCODE,PNAME,UNITPRICE,QTY) VALUES('090912','시원한냉장고',54000,7)
INSERT MYTABLE03 (PCODE,PNAME,UNITPRICE,QTY) VALUES('090812','뜨거운냉장고',24000,5)
SELECT*FROM MYTABLE03
USE MYDB00
GO
CREATE TABLE MYTABLE05
(
NUM INT IDENTITY(1, 1) NOT NULL PRIMARY KEY,
NAME VARCHAR(20) NOT NULL,
ADDRESS VARCHAR(50) NOT NULL,
TEL TELEPHONE NULL,
AGE TINYINT NULL,
REGDATA DATETIME DEFAULT GETDATE()
)
EXEC SP_HELP MYTABLE05
SELECT*FROM MYTABLE05
테이블에 데이터 넣기
INSERT MYTABLE05 VALUES('김경민','서울시 마포구','456-4567',35,'2009-08-12')
INSERT MYTABLE05 (NAME, ADDRESS, TEL, AGE) VALUES('김은희','서울시 강남구','654-1237',32)
INSERT MYTABLE05 (NAME, ADDRESS, TEL, AGE) VALUES('김예린','서울시 서초구','512-1236',2)
SELECT*FROM MYTABLE05
@@IDENTITY 함수를 사용하여 사용된 IDENTITY값을 확인할 수 있다.
SELECT @@IDENTITY AS 사용된값
IDENTITYCOL 키워드는 테이블에서 IDENTITY 속성이 지정된 열을 의미한다.
SELECT*FROM MYTABLE05 WHERE NUM=2
DELETE MYTABLE05 WHERE NUM=2
DELETE MYTABLE05 WHERE IDENTITYCOL=2
SELECT*FROM MYTABLE05
지워진 테이블 사이에 테이블 넣기...
SET IDENTITY_INSERT MYTABLE05 ON
INSERT MYTABLE05 (NUM,NAME, ADDRESS, TEL, AGE) VALUES(2,'노홍철','서울시 노원구','123-4567',34)
SET IDENTITY_INSERT MYTABLE05 OFF
SELECT*FROM MYTABLE05
CREATE TABLE MYTABLE07
(
PCODE UNIQUEIDENTIFIER DEFAULT NEWID(),
PNAME VARCHAR(50) NOT NULL,
UNITPRICE MONEY DEFAULT 0,
QTY INT DEFAULT 0,
PRICE AS (UNITPRICE*QTY),
REGDATE DATETIME DEFAULT GETDATE()
)
INSERT MYTABLE07 (PNAME, UNITPRICE, QTY)VALUES('시원한냉장고',54000,7)
INSERT MYTABLE07 (PNAME, UNITPRICE, QTY)VALUES('잘나가는자동차',43000000,3)
INSERT MYTABLE07 (PCODE,PNAME, UNITPRICE, QTY)VALUES(NEWID(),'시원한커피',430,23)
SELECT*FROM MYTABLE07
CREATE TABLE MYTABLE08
(
NUM INT IDENTITY (1, 1) NOT NULL PRIMARY KEY,
NAME VARCHAR(20) NOT NULL,
ADDRESS VARCHAR(50) NOT NULL,
TEL TELEPHONE NULL,
REGDATE DATETIME DEFAULT GETDATE()
)
EXEC SP_HELP MYTABLE08
테이블에서 NAME열의 정의를 바꾸는 예
ALTER TABLE MYTABLE08
ALTER COLUMN NAME VARCHAR(10) NULL
GO
EXEC SP_HELP MYTABLE08
CREATE TABLE MYTABLE09
(
NAME VARCHAR(20) NOT NULL,
ADDRESS VARCHAR(50) NOT NULL
)
GO
INSERT MYTABLE09(NAME,ADDRESS)VALUES('이상철','수원시 어딘가')
INSERT MYTABLE09(NAME,ADDRESS)VALUES('김규필','서울시 어딘가')
INSERT MYTABLE09(NAME,ADDRESS)VALUES('안순형','파주시 어딘가')
SELECT*FROM MYTABLE09
테이블에 기본키를 갖는 열을 추가한다.
추가되는 열에 IDENTITY 속성을 정의하여 일련번호가 자동으로 입력되도록 한다.
ALTER TABLE MYTABLE09
ADD NUM INT IDENTITY(1, 1) PRIMARY KEY
GO
SELECT*FROM MYTABLE09
SELECT NUM,NAME,ADDRESS FROM MYTABLE09