SQL 기본 강좌 - DB생성하기

2017. 8. 24. 00:00카테고리 없음

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

안녕하세요


오늘부터 틈틈히 DB 문법을 확인해 보도록 하겠습니다.


IT직종에 근무하시는분들은 특히 DB와 밀접한 연관을 가지고 있습니다.


저 역시 학원에서 IT보안에 대해 배울때, DB와 언어에 엄청난 부담을 가지게 되었는데요.


그때 SQL을 업으로 절대 삼지 않겠다 라고 선언하였으나..


IT업계에 몸담고 있으면서 SQL을 사용하지 않으려면 (특히 서버나 솔루션 엔지니어 들은..) 어서어서 


치킨집을 차려야지요.


그만큼 SQL은 중요하고 밀접한 관계를 가지고 있고, 관리자의 빠른 퇴근을 불러옵니다.


UI에서 장비 1000대의 설정을 바꾼다고 한다면 일일이 1000대를 클릭하느냐 - DB에서 한번에 수정


하느냐 의 차이를 가지고 오겠지요.


( 그런점에서 DB를 잘 하려면 창의력도 좋아야 할듯하네요.. - 쿨럭)


기존의 강좌를 듣는것도 좋지만 조금씩 조금씩 초급수준의 문법을 익혀 나가가기 위한 강좌 ... 라고 


하기엔 무색한 끄적거림이 되겠습니다.

 

 

 

 

학원에서 막상 SQL을 접할때에는 이런 귀여운 돌고래 (SQLYog) 같은 프로그램 없이 시커먼 cmd 를

 

이용했기때문에 더 어렵게 느낀것 같습니다.

 

 

 

이 화면보다는 나은듯..

 

 

자 그럼 DB에 대한 이론설명은 ... Google 혹은 위키를 뒤적여 보시길 바라고,

 

데이터베이스 정의(위키)   < 가볍게 읽어보세요

 

바로 실전 예제입니다.

 

- MySQL 기준으로 제작된 컨텐츠 입니다.

 

 

 

1. 데이터베이스 만들기

 

create database 데이터베이스명;

 

가장 기초적인 문법입니다. 사용할 db를 만드는 문인데요,

 

aRcWorld 라는 데이터베이스를 만들도록 하겠습니다.

 

 

ok 라는 문구와 함께 데이터 베이스가 생성되었습니다.

 

 

 

yog를 새로고침 하면 arcworld 라는 DB가 생성되었는데요, 여기서 보시면 aRcWorld 로 생성하였지만

 

모두 소문자로 보이는걸 알수 있습니다.

 

나중에 설명하겠지만, db튜닝시 모두 소문자로 인식되도록 튜닝도 하였지만, 기본적으로 sql문에서는

 

대소문자를 구분하지 않습니다.

 

간혹 사용하시는 분중 문법은 대문자, 컬럼, 속성명은 소문자로 사용하시는 분들도 있는데 어디까지나

 

구분을 용이하게 하기 위한 편의라는점을 알고계시면 되겠네요.

 

 

SQLyog 등의 DBMS편의 툴을 사용하면 사용할일이 없겠지만,

 

보시는바와 같이 root 안에 엄청나게 많은 DB가 있는데, 이중 사용할 DB를 선택해 주어야 합니다.

 

'서버선택' 정도라고 칭하도록 하죠.

 

use 사용할데이터베이스;

 

우리는 arcmir 이라는 db를 사용해야 하니

 

use arcmr; 이라고 입력하면 됩니다.

 

 

DB가 선택되었네요.

 

물론 툴에서는 사용할 DB를 클릭하면 됩니다.. (해킹도 그렇고 네떡도 그렇고.. 툴 만세...)

 

 

자 그럼 이제 테이블을 생성하도록 할건데요.

 

DB - TABLE - 속성 으로 하위 트리구조로 생각하시면 됩니다.

 

1개의 DB속 여러 Table과 그 테이블 속에 여러 속성 ... 이런 식으로 생성해 나가는것이지요.

 

arcworld 라는 데이터베이스를 가지고 있다면 어느 테이블을 만들어볼까요.

 

하나의 홈페이지라 본다면, 역시 '회원정보' 를 가지고 있어야 할것같네요.

 

문법은 새로 만들어야 하니 'create' 로 시작합니다.

 

create

 

다음은 '테이블' 을 만들어 주어야 겠지요? 

 

create table

 

테이블 을 만들겠다고 선언했다면, 테이블 이름을 정해야합니다. 회원에 대한 테이블이니 member 

 

라고 만들 겁니다. 

 

create table member

 

이제 member 이라는 테이블을 만들고, 해당 테이블에 '속성' 을 채워 줍니다.

 

우선, 회원정보를 만들려면 무었이 있어야 할까요?

 

항상 새로 가입하려면 id중복확인 을 하게 되지요. 각각의 회원이 갖는 고유한 식별자인 id가 있어야

 

합니다.

 

속성을 채울떄에는, 속성 을 쓰고 어떤 형태의 속성을 가질것인가를 정해주게 됩니다.

 

id는 문자일수도 있고 숫자일수도 있겠지요

 

문자속성은 char 혹은 varchar 을 사용하는데, char(20) varchar(20) 으로 몇 바이트의 문자를 입력할수

 

있을지 지정하게 됩니다.

 

( 두 문자 속성별 로직이 달라 어느게 좋다 라고 의견이 분분한데 편의상 varchar 로 하겠습니다)

 

주소나 좌우명, 혹은 자기소개 등의 속성이 있어야 한다면 varchar(50) 등으로 문자 할당을 크게 해주고

 

성별을 적거나 한다면 짧게 주면 되겠지요? (물론 성별은 남/여 둘중 하나만 입력하도록 할수도

 

있습니다)

 

 

create table member (id varchar(10), age int);

 

회원정보 라는 테이블에 'id' 하나만 들어가게 되면 낭비가 심해지겠죠? 그래서 여러가지 속성을 넣을수

 

있습니다. 필드 구분은 , 로 하시면 됩니다.

 

member테이블에 id와 age를 int(숫자) 로 입력가능한 속성을 주고 만들었습니다.

 

 

 

 

지금까지 입력한 쿼리를 보자면,

 

데이터베이스를 만들어 주었고, 만들어준 데이터베이스를 선택하고, member이라는 테이블을 만들고

 

해당 테이블에는 id와, age를 저장할수 있도록 만들었습니다.

 

 

 

이렇게 member테이블에 id와 age를 입력할수 있게 되었습니다.

 

사실 홈페이지를 만들때, id와 age 등등을 입력하고 '회원가입' 을 누르면 해당 정보를 쿼리로 만들어

 

db에 저장하는 방식으로 운영됩니다.

 

이글 하단에 '발행' 역시 누르게 되면, 이 글이 티스토리 디비 어딘가에 저장이 되겠지요.

 

 

그럼 오늘은 여기서 마무리하도록 하겠습니다.

 

다음 시간에는 이 테이블 속성에 데이터를 넣고, 테이블 속성을 변경하도록 할게요.