'SQL강좌'에 해당되는 글 39건

  1. 2013.09.25 SQL AUTO INCREMENT 구문
  2. 2013.09.24 SQL ALTER TABLE 구문
  3. 2013.09.23 SQL DROP 구문
  4. 2013.09.17 SQL CHECK 제약조건 (2)
  5. 2013.09.16 SQL FOREIGN KEY 제약 조건 (2)
  6. 2013.09.12 SQL PRIMARY KEY 제약조건 (2)
  7. 2013.09.11 SQL UNIQUE 구문
  8. 2013.09.10 SQL NOT NULL, DEFAULT 구문
  9. 2013.09.09 SQL Constraints 구문
  10. 2013.09.07 SQL CREATE DATABASE and TABLE 구문

SQL AUTO INCREMENT 구문

SQL 2013. 9. 25. 19:00

 

 

안녕하세요!! 

이번에 포스팅할 내용은 AUTO INCREMENT 구문입니다.

 

테이블을 만들때 주로 고유 번호를 생성하는데 사용됩니다.

AUTO INCREMENT 를 사용하면 레코드의 값이 중복되지 않고 1씩 자동 증가하게 됩니다. 특히 가장 많이 사용되는 곳은 테이블 제일 첫 칼럼입니다. 테이블을 만들때 첫 칼럼은 거의 대부분 테이블 레코드에 대한 고유값을 지정하여 사용하기 때문입니다.

 

MySql 구문

CREATE TABLE Member
(
ID int NOT NULL AUTO_INCREMENT,
Name varchar(255) NOT NULL,
Address varchar(255),
City varchar(255),
PRIMARY KEY (ID)
)
// MySql 에서는 위와 같이 AUTO_INCREMENT 언더바를 사용합니다.
기본적으로 시작값은 1이며, 각 새 레코드가 추가 될때마다 1씩 자동증가 합니다.
 
MSSQL 구문
CREATE TABLE Member
(
ID int IDENTITY(1,1) PRIMARY KEY,
Name varchar(255) NOT NULL,
Address varchar(255),
City varchar(255)
)
// MS SQL SERVER 는 자동증가 기능을 위해 IDENTITY 를 사용합니다.
(1,1) 이렇게 되어 있는데 시작값은 1이며 1씩 증가시키라는 뜻이 되겠습니다.
괄호의 앞 숫자는 시작값이며, 뒤 숫자는 증가값이 됩니다.
예를들어 5부터 시작해서 2씩 증가라 하면(5,2) 이렇게 되겠죠.
 
Access 구문
CREATE TABLE Member
(
ID Integer PRIMARY KEY AUTOINCREMENT,
Name varchar(255) NOT NULL,
Address varchar(255),
City varchar(255)
)
// MS Access 구문에서는 AUTOINCREMENT 을 사용합니다.
기본적으로 시작값은 1이며, 1씩 자동증가 합니다.
한가지 팁을 알려드리면 5부터 증가해서 2씩 증가하는 구문은 AUTOINCREMENT (5,2) 입니다.
 
Oracle 구문
사실 오라클은 조금 까다롭습니다. 그냥 함수로 만들어 넣으면 편했을 것을 굳이 우리에게 만들어 사용하라고 하죠.
오라클에 자동증가를 이용하기 위해선 자동증가 필드를 만들어야 합니다.
CREATE SEQUENCE seq_member
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10
// seq_member 이라는 시퀀스를 생성하고 1부터 시작하여 1씩 증가시키라는 의미입니다. 또한 빠른 엑세스를 위해서 10까지의 값을 캐쉬합니다.
오늘은 여러가지 일때문에 포스팅이 조금 늦었네요. 어떻게 하루를 잘 보내셨나요.
남은 시간 보람차게 보내시기 바랍니다.

'SQL' 카테고리의 다른 글

SQL AVG() 구문  (0) 2013.09.30
SQL DATE 함수들  (0) 2013.09.26
SQL AUTO INCREMENT 구문  (0) 2013.09.25
SQL ALTER TABLE 구문  (0) 2013.09.24
SQL DROP 구문  (0) 2013.09.23
SQL CHECK 제약조건  (2) 2013.09.17
Posted by 진격의 파파

댓글을 달아 주세요

SQL ALTER TABLE 구문

SQL 2013. 9. 24. 09:30

 

 

안녕하세요!! 

이번 포스팅에서는 SQL ALTER TABLE 구문에 대해서 알아보겠습니다.

 

ALTER TABLE 이란 녀석은 기존 테이블의 열을 추가, 삭제 또는 수정하는데 사용됩니다.

 

기본 구문은 아래와 같습니다.

 

칼럼을 추가하는 구문

ALTER TABLE table_name
ADD column_name datatype
 
테이블의 열을 삭제하는 구문(일부 데이터베이스에서는 아래 구문을 허용하지 않을 수 있습니다.)
ALTER TABLE table_name
DROP COLUMN column_name
 
칼럼의 유형을 변경하는 구문
SQL server / MS Access
ALTER TABLE table_name
ALTER COLUMN column_name datatype
 
MySql / Oracle
ALTER TABLE table_name
MODIFY COLUMN column_name datatype


각각의 데이터베이스마다 명령어에 대한 차이는 있지만 같은 맥락이라고 보면 됩니다. 

 

 M_id

 Name

 City

 Age

 1

 Park

 CheongJu

 38

 2

 Kim

 Seoul

 35

 3

 Lee

 YongIn

 27

 

// 위와 같이 Members 라는 테이블이 있다고 가정하고 Birth 에 대한 칼럼을 ALTER TABLE을 이용하여 추가해보겠습니다.

 

Birth 칼럼 추가 구문

ALTER TABLE Members
ADD Birth date
// 칼럼 형식에 대해선 날짜형식이기 때문에  date 라고 만들었습니다.
 
결론적으로 나오는 테이블 내용은 아래와 같이 나오게 됩니다.

 M_id

 Name

 City

 Age

 Birth

 1

 Park

 CheongJu

 38

 NULL

 2

 Kim

 Seoul

 35

 NULL

 3

 Lee

 YongIn

 27

 NULL

// 값이 없기 때문에 내용은 NULL로 표시됩니다.

 

참고로 Birth 의 형식도 바꾸어 볼까요.

ALTER TABLE Members
ALTER COLUMN Birth year
// date 를 year 형식으로 바꾸어 년도만 들어가게 바꾸었습니다. 아!! 그리고 alter table ~ alter 이렇게 사용하였는데 위 내용에서 보다시피 MySql/Oracle 에서는 alter table ~ modify 이렇게 사용된다는점 기억해두시기 바랍니다.
 
크게 어려운점은 없을거라 생각합니다. 혹시라도 모르는 부분은 쪽지/댓글 남겨주시면 아는 지식을 총 동원하여 답글 달겠습니다. ^^;
오늘은 시간이 남는 관계로 오전에 일찍 포스팅을 했습니다.
남은 하루 즐겁게 보내시고 즐거운 프로그래밍 되시길 바랍니다.

 

'SQL' 카테고리의 다른 글

SQL DATE 함수들  (0) 2013.09.26
SQL AUTO INCREMENT 구문  (0) 2013.09.25
SQL ALTER TABLE 구문  (0) 2013.09.24
SQL DROP 구문  (0) 2013.09.23
SQL CHECK 제약조건  (2) 2013.09.17
SQL FOREIGN KEY 제약 조건  (2) 2013.09.16
Posted by 진격의 파파

댓글을 달아 주세요

SQL DROP 구문

SQL 2013. 9. 23. 16:45

 

 

안녕하세요!! 

오랜만에 포스팅을 하는듯 합니다. 차가 많이 밀려서 명절은 잘 보내셨는지 궁금하군요.

저는 대전이 큰집인데 차가 생각보다 너무 많이 밀려서 신탄진에서 유성으로 대전을 들어가니 차도 많지 않고 편하게 잘 갔다온듯 합니다.

 

어쨋든 ㅎㅎ 오늘 포스팅할 내용은 SQL 구문중 DROP 에 대해서 알아보겠습니다.

SQL에서 DROP 은 INDEX 데이터베이스 그리고 테이블을 삭제할 수 있습니다.

 

기본적인 INDEX 삭제 구문은 아래와 같습니다.

MS Access 의 INDEX DROP 구문

DROP INDEX index_name ON table_name

 

MS-SQL 의 INDEX DROP 구문

DROP INDEX table_name.index_name

 

Oracle 의 INDEX DROP 구문

DROP INDEX index_name

 

MySql 의 INDEX DROP 구문

ALTER TABLE table_name DROP INDEX index_name

(alter 구문에 대해서는 다음 포스팅에서 설명 하겠습니다.)


각 데이터베이스 마다 구문이 조금씩 틀리긴 하지만 사실 같은 맥락입니다. 약간의 표현법이 틀릴뿐이죠.

코딩을 이것저것 하다 보면 대부분의 프로그래밍 언어중 하나만 잘 알고 있어도 금방금방 적응되지 않을까 합니다.

웹언어 하나를 제대로 알면 그 밖의 웹언어도 적응기간이 상당히 짧고 금방 익숙해지듯이 어플리케이션 언어도 마찬가지라고 개인적으로 생각해봅니다. ㅎㅎ;

 

그리고 테이블과 데이터베이스의 삭제 구문에 대해서 알아보겠습니다.

데이터베이스 삭제 구문

DROP DATABASE database_name


테이블 삭제 구문

DROP TABLE table_name


구문 자체는 크게 어렵지 않습니다. 단순히 drop 이라는 명령어를 적은 후 데이터베이스를 삭제할지 테이블을 삭제할지 구문(database/table)을 적고 난뒤 삭제할 데이터베이스 또는 테이블 이름을 넣으시면 됩니다. 주의할 점은 중요한 데이터베이스 또는 테이블 이라면 항상 백업을 해 두시는게 좋습니다. 만약을 위해서 말이죠. 대부분 기업들이 백업장치를 운영하긴 하겠지만 혹시라도... ^^;

 

다음 포스팅에서는 SQL ALTER 구문에 대해서 알아보겠습니다.

 

긴 명절 후 월요일 회사 또는 학교를 가느라 힘든 하루겠지만 힘 내세요!! 퐈이팅!!

그럼 얼마 남지 않은 오후 즐거운 시간 되시고 즐거운 프로그래밍 되시길 바랍니다.

 

'SQL' 카테고리의 다른 글

SQL AUTO INCREMENT 구문  (0) 2013.09.25
SQL ALTER TABLE 구문  (0) 2013.09.24
SQL DROP 구문  (0) 2013.09.23
SQL CHECK 제약조건  (2) 2013.09.17
SQL FOREIGN KEY 제약 조건  (2) 2013.09.16
SQL PRIMARY KEY 제약조건  (2) 2013.09.12
Posted by 진격의 파파

댓글을 달아 주세요

SQL CHECK 제약조건

SQL 2013. 9. 17. 15:40

 

 

안녕하세요!! 

이번 포스팅에서는 SQL 제약조건중 CHECK에 대해서 알아보겠습니다.

 

CHECK 제약조건은 단어 그대로 어떤 열에 대해서 특정한 조건을 걸어서 체크를 할 수 있는 역할을 합니다.

예를 들어서 테이블을 하나 만들어서 CHECK에 대해서 알아보겠습니다.

아래 MEMBER 테이블을 만들겠습니다.

CREATE TABLE member
(
m_id int NOT NULL CHECK (m_id>0),
Name varchar(255) NOT NULL,
Address varchar(255),
City varchar(255)
)

// 첫 번째 줄을 주의깊게(?) 살펴보면 CHECK (m_id>0)  구문이 있습니다. 무슨 의미인지 대충 짐작했으리라 생각합니다. 해당 열은 0의 값보다 커야한다는 의미죠. 만약 0보다 작은 값이 들어가게 되면 에러를 반환하겠죠.

그런데 여기서 MYSQL중요한 포인트가 하나 있습니다.

mysql 은  check 제약조건을 이용하여 테이블을 만들수는 있지만 효과는 없습니다. 즉 mysql 에서는 조건을 무시합니다.

오늘 포스팅은 여기까지 짧게 하는 것으로 마무리 하겠습니다.

혹시 궁금한점 있으시면 댓글 또는 쪽지로 질문주세요!~~

 

오늘은 즐거운 명절 날 입니다. 모두 귀향길 가시느라 바쁜 하루가 될듯 보여지네요.

언론에서는 벌써부터 차가 밀리니 마니 이야기를 계속하고 있는것 같구요.

이상하게 나이를 한살한살 먹어갈수록 명절이 그다지 즐겁게 안느껴지는건 왜일까요....흠... 현재 상황이 별로 안좋아서 그런 느낌인것 같기도 하고... 어쨋든 귀향길 조심히 잘 다녀오시고 주말엔 일하느라 공부하느라 받은 스트레스 팍팍 날려버리시길 바랍니다 ^^

 

즐거운 한가위 보내세요!!!

 

 

'SQL' 카테고리의 다른 글

SQL ALTER TABLE 구문  (0) 2013.09.24
SQL DROP 구문  (0) 2013.09.23
SQL CHECK 제약조건  (2) 2013.09.17
SQL FOREIGN KEY 제약 조건  (2) 2013.09.16
SQL PRIMARY KEY 제약조건  (2) 2013.09.12
SQL UNIQUE 구문  (0) 2013.09.11
Posted by 진격의 파파

댓글을 달아 주세요

  1. 작가 남시언 2013.09.21 11:06 신고  댓글주소  수정/삭제  댓글쓰기

    으....머리가 지끈지끈 @_@ㅎㅎㅎ

SQL FOREIGN KEY 제약 조건

SQL 2013. 9. 16. 12:13

 

 

안녕하세요!! 

이번 포스팅에서는  SQL FOREIGN KEY 제약 조건에 대해서 알아보겠습니다.

 

흔히들 FOREIGN KEY 를 우리나라 말로 외래키라고 사용합니다.

외래키 제약조건은 한 마디로 말해서 두 테이블간의 관계를 선언하여 데이터간의 무결성을 보장해주는 역할을 합니다. 즉 외래키 관계를 설정하면 하나의 테이블이 다른 테이블에 의존하는 형태입니다.

외래키 테이블에 데이터가 입력될 경우 기준 테이블의 내용을 참조해서 데이터가 입력되기 때문에 만약 기준 테이블에 데이터가 존재하지 않을 경우 값이 반영되지 않게 됩니다.

그리고 외래키 설정시 주의해야 할점은 기준 테이블의 열에 반드시  primary key, unique  제약조건이 설정되어 있어야 한다는 점입니다.

 

설명은 여기까지 마치고 테이블을 예로들어서 알아보겠습니다.

 

우선 아래 member 기준테이블을 하나 만들겠습니다.

 m_id

 name

 address

 age

 1

 park

 seoul

 33

 2

 song

 inchun

 24

 3

 kim

 cheongju

 42

 

그리고 order 주문 테이블을 하나 만들겠습니다.

 o_id

 order_no

 m_id

 1

 23456

 3

 2

 53672

 2

 3

 25676

 3

 4

 46255

 1

 

 

 

처럼 테이블이 있다고 가정할 경우

두 테이블간의 공통점이 있습니다. m_id 라는 칼럼을 가지고 있는 것이죠. member 테이블의 m_id 는 primary key 입니다. 그리고 아래 order 테이블의 m_id 는 foreign key 입니다. 이처럼 구성을 하여 order 테이블의 m_id 에 member 테이블의 m_id 값중 다른 값이 들어가는것을 방지할 수 있게 됩니다.

 

CREATE TABLE Order
(
o_Id int NOT NULL PRIMARY KEY,
order_no int NOT NULL,
m_Id int FOREIGN KEY REFERENCES member(m_Id)
)

// 처럼 테이블을 구성할 수 있습니다.

 

예전 asp 시절에는 외래키를 이용하여 테이블 구성을 많이 했었는데 php 로 넘어오면서 작은 프로젝트만 하다보니 외래키를 이용하는 경우가 드물더군요. 혹시라도 설명이 부족했던 부분이 있었다면 이해바랍니다. ^^;

궁금한점 있으시면 댓글 또는 쪽지 보내주시면 최선을 다해서 답변 달아드리겠습니다.

 

자 ~ 그럼 남은 하루 일정 잘 마무리 하시고 즐거운 프로그래밍 되시기 바라며 일교차가 심하니 감기 조심하세요!

 

 

'SQL' 카테고리의 다른 글

SQL DROP 구문  (0) 2013.09.23
SQL CHECK 제약조건  (2) 2013.09.17
SQL FOREIGN KEY 제약 조건  (2) 2013.09.16
SQL PRIMARY KEY 제약조건  (2) 2013.09.12
SQL UNIQUE 구문  (0) 2013.09.11
SQL NOT NULL, DEFAULT 구문  (0) 2013.09.10
Posted by 진격의 파파

댓글을 달아 주세요

  1. +요롱이+ 2013.09.16 12:44 신고  댓글주소  수정/삭제  댓글쓰기

    제약조건에 대해서 너무 잘 보고 갑니다^^

SQL PRIMARY KEY 제약조건

SQL 2013. 9. 12. 14:29

 

 

안녕하세요!! 

이번 포스팅에서는 제약조건중에서 PRIMARY KEY 에 대해서 설명하겠습니다.

 

PRIMARY KEY 는 테이블의 각 레코드를 식별하는데 사용됩니다.

PRIMARY KEY 는 고유 한 값을 포함해야 합니다.

PRIMARY KEY 열은 NULL 값을 포함 할 수 없습니다.

각 테이블에는 PRIMARY KEY 가 있어야하고, 각 테이블은 하나의 PRIMARY KEY 를 가질 수 있습니다.

 

아래처럼 테이블을 만들때 PRIMARY KEY 조건을 줄 수 있습니다.

CREATE TABLE Person
(
Id int NOT NULL PRIMARY KEY,
Name varchar(255) NOT NULL,
Address varchar(255),
City varchar(255)
)

 

그리고 저의 경우 My-sql 테이블을 만들때 아래와 같은 방식으로 만듭니다.

CREATE TABLE IF NOT EXISTS person// person 테이블이 있는지 검사 후 만듭니다.
id int(11) NOT NULL AUTO_INCREMENT, // 1씩 자동증가 되는 옵션 AUTO_INCREMENT 을 사용합니다.
name varchar(100) DEFAULT NULL,
tel varchar(20) DEFAULT NULL,
zip varchar(7) DEFAULT NULL,
addr varchar(200) DEFAULT NULL,
d_addr varchar(200) DEFAULT NULL,
PRIMARY KEY (id) //   PRIMARY KEY 를 마지막에 정의 해줍니다.
)

 

지금은 위와 같이 굳이 하드코딩으로 테이블을 만드는 일은 아마도 거의 드물거라 생각합니다. 좋은 툴들이 정말 많기 때문에요. 기본적으로 저렇게 만들어진다라는 정도만 아셔도 많은 도움이 될꺼라 생각합니다.

 

날씨가 비가 왔다가 덥다가 아주 자기 맘대로네요 ㅡㅡ;

그래도 즐거운 마음 계속 유지하시고 오늘 하루도 힘차게 재미있는 프로그래밍 되시기 바랍니다.

'SQL' 카테고리의 다른 글

SQL CHECK 제약조건  (2) 2013.09.17
SQL FOREIGN KEY 제약 조건  (2) 2013.09.16
SQL PRIMARY KEY 제약조건  (2) 2013.09.12
SQL UNIQUE 구문  (0) 2013.09.11
SQL NOT NULL, DEFAULT 구문  (0) 2013.09.10
SQL Constraints 구문  (0) 2013.09.09
Posted by 진격의 파파

댓글을 달아 주세요

  1. 작가 남시언 2013.09.15 11:21 신고  댓글주소  수정/삭제  댓글쓰기

    간만에 들렀습니다.
    항상 좋은 정보 감사드려요. 잘 봤습니다!
    즐거운 하루 되시고, 풍성한 한가위 되세요.^^

SQL UNIQUE 구문

SQL 2013. 9. 11. 16:37

 

 

안녕하세요!! 

오전엔 주룩주룩 비가 와서 그런가 지금은 습도 높은 더운 날씨네요.

 

이번 포스팅에서는 SQL 제약조건중에서 UNIQUE 조건에 대해서 알아보겠습니다.

UNIQUE 제약조건은 특정 열에 중복된 값이 입력되는 것을 방지할 수 있습니다.

사실 UNIQUE  와 PRIMARY KEY 두 조건 모두 같은 역할을 하지만 조금씩 틀립니다.

PRIMARY KEY 의 경우 하나의 테이블에 하나만 정의할 수 있지만 UNIQUE 의 경우는 여러 개를 정의할 수 있습니다.

그리고 PRIMARY KEY 조건과 달리 UNIQUE 에서는 NULL 값이 허용됩니다.

하지만 UNIQUE 조건에서는 열당 하나만 NULL 이 허용됩니다.

 

단일 UNIQUE 조건

CREATE TABLE PersonsUnique
(
Id int NOT NULL UNIQUE,
Name varchar(255) NOT NULL,
Address varchar(255),
City varchar(255)
);

// UNIQUE 조건을 하나만 사용한다면 위와 같이 하면되고

 

복수 UNIQUE 조건

CREATE TABLE PersonsUniqueMulti
(
Id int NOT NULL,
Name varchar(255) NOT NULL,
Address varchar(255),
City varchar(255),
CONSTRAINT uc_PersonID UNIQUE (Id,Name)
);

// 여러개의 칼럼에 UNIQUE 조건을 하려면 위처럼 하면됩니다.

 

사실 테이블을 구축할때 저의 경우 첫번째 필드는 거의 대부분 자동증가 옵션을 사용하여 PRIMARY KEY 값으로 설정하고 기타 필드를 설정합니다. 추후 프로그래밍 하다보면 아실테지만 테이블 내용중 고유값을 가진 필드가 중요한 역할을 하게 됩니다. 검색을 할때 또는 조인 구문을 만들때 등등 고유값이 없으면 중복된 값이 나오기 때문이기도 합니다.

 

제약조건의 경우는 테이블을 만들다 보면 자연적으로 알게되지 않을까 생각합니다. ^^

다음 포스팅에서도 제약조건중 PRIMARY KEY  조건에 대해서 설명하겠습니다.

 

남은 하루 마무리 잘하시고 즐거운 프로그래밍 되세요~!!

 

 

 

'SQL' 카테고리의 다른 글

SQL FOREIGN KEY 제약 조건  (2) 2013.09.16
SQL PRIMARY KEY 제약조건  (2) 2013.09.12
SQL UNIQUE 구문  (0) 2013.09.11
SQL NOT NULL, DEFAULT 구문  (0) 2013.09.10
SQL Constraints 구문  (0) 2013.09.09
SQL CREATE DATABASE and TABLE 구문  (0) 2013.09.07
Posted by 진격의 파파

댓글을 달아 주세요

SQL NOT NULL, DEFAULT 구문

SQL 2013. 9. 10. 14:25

 

 

안녕하세요!!

이번에 포스팅할 내용은 NOT NULL , DEFAULT 제약조건이며 이전에 설명드렸던 제약조건에 대해서 좀더 자세히 말씀드리려 합니다.

 

NOT NULL 제약조건

NOT NULL 그냥 직역하면 NULL 즉 공백을 NOT 하겠다는 의미 입니다. 

공백값을 허용하지 않는다 그런의미가 되겠네요!

 

그렇기 때문에 NOT NULL 제약조건은 항상 값을 포함할 필드에 적용됩니다. 그래서 만약 아무런 값이 안들어가게 되면 에러가 나게 됩니다.

 

사실 의미만 정확하게 알고 있다면 굳이 테스트까지는 필요없을듯 하지만 그래도 테이블을 한번 만들어 보겠습니다.

CREATE TABLE PersonsNotNull
(
id int NOT NULL,
Name varchar(255) NOT NULL,
Address varchar(255),
City varchar(255)
);

// 위처럼 간단하게 테이블을 하나 만들고 id, name 필드에 값을 안넣고 레코드를 생성하면 값이 없다는 에러를 반환하게 됩니다.

 

 

DEFAULT 제약조건

default 제약조건은 필드를 만들때 기본적으로 값이 들어가 있는 상태를 말합니다.

예를 들어서 위와 같이 테이블을 만든다고 가정할때 기본적으로 City 는 서울이라고 할 경우 아래와 같은 테이블을 구성할 수 있습니다.

CREATE TABLE PersonsNotNull
(
id int NOT NULL,
Name varchar(255) NOT NULL,
Address varchar(255),
City varchar(255) DEFAULT '서울'
);

 

또는 기본적으로 레코드가 생성될때 날짜를 넣고자 할 경우

CREATE TABLE Orders
(
o_id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
OrderDate date DEFAULT GETDATE()
);

// 처럼 하면 레코드가 입력될때 OrderDate 필드에는 입력된 시간이 기본적으로 들어가게 됩니다.

 

지금까지 제약조건중 NOT NULL , DEFAULT 구문에 대해서 설명드렸습니다. 크게 어려운건 없을거라 생각합니다.

다음 포스팅에서는 UNIQUE 제약조건에 대해서 설명하겠습니다.

 

오전에 비가 잠깐 오긴 했지만 다시 그쳤네요. 그리고 지금은 비가 올랑말랑 하네요.

저녁엔 비가 올듯하니 우산들 하나씩 챙기시기 바랍니다~

그럼 오늘도 즐거운 하루 즐거운 프로그래밍 되세요!!!

 

'SQL' 카테고리의 다른 글

SQL PRIMARY KEY 제약조건  (2) 2013.09.12
SQL UNIQUE 구문  (0) 2013.09.11
SQL NOT NULL, DEFAULT 구문  (0) 2013.09.10
SQL Constraints 구문  (0) 2013.09.09
SQL CREATE DATABASE and TABLE 구문  (0) 2013.09.07
SQL INSERT INTO SELECT 구문  (0) 2013.09.06
Posted by 진격의 파파

댓글을 달아 주세요

SQL Constraints 구문

SQL 2013. 9. 9. 15:30

 

 

 

안녕하세요!!

날씨가 아침 저녁은 쌀쌀하고 점심때는 정말 덥네요. 일교차가 심한 가을!! 감기 조심하세요!!

이번 포스팅에서는 SQL Constraints 에 대해서 설명하겠습니다.

 

SQL Constraints 우리말로 번역하면 제약조건 또는 제약 이라고 풀이됩니다. 그냥 단순히 제약이라는 말이 무슨뜻인지 저도 사실 풀이는 어렵네요. ㅎㅎ;; 쉽게 설명하자면 테이블을 만드는데 있어서 어떤 조건 또는 규칙을 지정하는 방법이라고 생각하면 되겠습니다.

 

CREATE TABLE table_name
(
column_name1 data_type(size) constraint_name,
column_name2 data_type(size) constraint_name,
column_name3 data_type(size) constraint_name,
....
);

보통 테이블을 위처럼 만드는데 데이터타입(data_type) 다음에 해당 칼럼에 대한 조건을 적어주게 됩니다. 예를들어 NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY. CHECK, DEFAULT 등을 사용합니다.

 

NOT NULL : 칼럼이 NULL 값을 가질수 없다는 조건

UNIQUE : 칼럼의 값이 중복된 값을 가질수 없다는 조건

PRIMARY KEY : NULL과 UNIQUE NOT의 조합 즉, 값이 무조건 존재해야 하며 유니크한 값이어야 함, 테이블의 특정 레코드를 찾는데 있어서 특별한 기능을 함

FOREIGN KEY : 다른 테이블의 값과 일치하며, 다른 테이블의 특정 값 이외에는 갖을수 없음

CHECK : 열의 값이 특정 조건을 충족하는지 확인하고 지정된 값 범위 외에는 갖을수 없음

DEFAULT : 이 열에 대해 아무것도 지정하지 않을 때 디폴트 값을 지정(지정된 값이 없을 경우, 지정된 값을 자동으로 갖음)

 

오늘 포스팅은 제가 생각해도 쉬우면서도 무거운 느낌이 있네요. 날이 갈수록 설명이 점점 더 쉬워져야 하는데 어려워지고 있으니 ㅡㅡ;;

어쨋든 테이블 만들때 이러한 조건들이 있다는것을 알아두시면 되고 테이블을 만들다 보면 아! 하고 감이 오지 않을까 생각합니다.

 

서두에도 썻지만 일교차가 심한 가을 입니다. 모쪼록 환절기 감기 조심하시기 바랍니다.

남은 오후 마무리 잘하시고 즐거운 프로그래밍 되세요~^^

'SQL' 카테고리의 다른 글

SQL UNIQUE 구문  (0) 2013.09.11
SQL NOT NULL, DEFAULT 구문  (0) 2013.09.10
SQL Constraints 구문  (0) 2013.09.09
SQL CREATE DATABASE and TABLE 구문  (0) 2013.09.07
SQL INSERT INTO SELECT 구문  (0) 2013.09.06
SELECT INTO 구문  (0) 2013.09.05
Posted by 진격의 파파

댓글을 달아 주세요

 

안녕하세요!! 

오늘은 즐거운 주말입니다.

 

오늘 포스팅할 내용은 데이터베이스와 테이블을 만들수 있는 CREATE 에 대해서 알아보겠습니다.

사실 명령어 자체는 정말 간단합니다.

 

데이터베이스를 만들 경우

CREATE DATABASE database_name;

// 데이터베이스를 만들때 명령어는 CREATE DATABASE 입니다.그리고 그 다음에 만들 데이터베이스 이름을 입력하면됩니다.

 

테이블을 만들 경우는 조금 복잡합니다. 테이블의 경우는 테이블만 있는것이 아니고 그 안에 필요한 칼럼들을 정의해 주어야 하기 때문입니다.

테이블 만들때 기본구문은 아래와 같습니다.

CREATE TABLE table_name
(
column_name1 data_type(size),
column_name2 data_type(size),
column_name3 data_type(size),
....
);

// 우선 create table 이라는 명령을 한 후 테이블 이름을 넣습니다. 그리고 위 보이는 것처럼 테이블에 들어갈 칼럼이름과 데이터타입, 그리고 사이즈를 정의합니다.

 

칼럼 형식에 대해서 추후 포스팅하겠습니다. 오늘은 일단 테이블이 만들어지는 방법에 대해서 설명드리겠습니다.

그럼 간단하게 회원 테이블을 만들어보겠습니다.

테이블 이름은 Member 라고 정의하겠습니다.

제일 먼저 CREATE TABLE MEMBER 을 하여 테이블 이름을 만든 후 괄호() 안에 칼럼의 내용을 넣으면 되겠습니다. 아이디, 이름, 나이를 넣을 수 있는 칼럼형식을 만들면 아래와 같은 구문이 나오게 됩니다..

CREATE TABLE MEMBER

(

USER_ID varchar(255),
USER_NAME varchar(255),
AGE varchar(255)
);

// 간단하게 회원정보 테이블이 생성되었습니다.

 

요즘에 아마도 위처럼 하드코딩으로 테이블을 만드는 개발자들은 흔치 않을듯 합니다. 좋은 툴이 많이 있어서 간단하게 클릭 몇번으로 테이블을 만들수 있습니다. 하지만 기본적인 내용을 알고서 접근하는것과 아예 툴에 의존하여 접근하는것은 추후 큰 차이가 나게 됩니다. 최소한 저는 그렇게 생각합니다. ^^;

 

그럼 오늘도 즐거운 하루, 즐거운 주말, 즐거운 프로그래밍 되세요~

 

'SQL' 카테고리의 다른 글

SQL NOT NULL, DEFAULT 구문  (0) 2013.09.10
SQL Constraints 구문  (0) 2013.09.09
SQL CREATE DATABASE and TABLE 구문  (0) 2013.09.07
SQL INSERT INTO SELECT 구문  (0) 2013.09.06
SELECT INTO 구문  (0) 2013.09.05
SQL UNION 구문  (0) 2013.09.04
Posted by 진격의 파파

댓글을 달아 주세요