devil cat everdevel character

프로그래머가 아니던 시절 만들기 시작한 에버디벨 !
첫 오픈 한달과 최근 한달의 방문자수를 비교해보니 무려 190배 이상 증가했습니다.
그 사이 어느새 1년 9개월의 경력을 갖고 있는 프로그래머가 되었습니다.
실무의 경험을 담아 더 많은 내용으로 올해 2월 에버디벨이 책으로 나옵니다.
{HTML5, CSS3, jQuery, MySQL5, PHP7(PDO, OOP, MVC)}
아무것도 몰라도 컴퓨터만 있다면 하나부터 학습하며 발전해 나가는 자신을 보는 감동을 드리겠습니다.

에버디벨이 밥값을 할 수 있도록 광고를 넣었습니다. 양해 바랍니다.

disney Teyon kin

테이블 생성

테이블을 생성해보자~

데이터를 저장할 테이블을 생성하려면 어느 데이터베이스에서 테이블을 생성할지 정해줘야 하므로

use 데이터베이스명; < == 을 입력한다.

우리는 이전 수업에서 david_db 를 생성한적이 있다.

show database;를 입력하면 확인할 수 있다.

혹시 없다면 만들도록 한다.

create database david_db;

mysql image

테이블 생성 법은 아래와 같다.

create table 테이블명(

필드명 타입,

필드명 타입

.....

PRIMARY KEY(필드명)

);

위에보이는 프라이머리 키란 테이블에서 필드를 식별할 수 있는 기본 키이다. 특정 레코드를 검색하거나 레코드들을 정렬할 때 우선적으로 참조된다. 이번에 만들어볼 학생 DB에서 겹쳐서는 안되는 학번에 기본키를 설정하겠다. 그렇게 되면 같은 학번을 가진 학생은 있을수 없게 된다.

테이블에는 아래의 필드를 지정하도록 하자~~

필드명

데이터 타입

의미

비고

No

int

학번

primary key, not null

name

char(10)

성명

det

char(20)

전공

addr

char(80)

주소

tel

char(20)

전화번호

위의 필드대로 테이블을 만들려면 아래와 같이 입력한다.

테이블 이름은 student_tb로하자 !!

mysql image

그리고 확인을 위해 show tables; 를 입력

아래에 보듯이 student_tb가 생성되었다.

아앗!! 필자가 실수하여 student_db를 쳤네요 tb로 쳐야하는데 tb로 인식해주세요.~!!

mysql image

생성된것은 확인이 되었다. 그럼 저 테이블에 필드들이 제대로 설정되었는지 확인해보자

확인해보는 명령어는

desc or describe이class="lec3_in"다.

mysql>desc student_tb; 엔터

mysql image

그럼 위의 표가 무엇을 뜻하는지 보자.

Field는 선언한 필드를 보여주는 것이다.

Type은 그 필드가 갖고 있는 타입을 말해주는것이다.,

sno 는 정수 11자까지 입력가능하고

name도 10byte까지 입력가능하고 그런뜻이다.

저런식으로 특정 글자를 넘어가지 않도록 제한을 두는것이다.

Null은 공백을 인정 하는지 안하는지를 알려주는것이다. 학번은 공백을 인정않도록 설정하였다. 아까 not null 이걸로

Key 는 프라이머리 키를 의미하며 필드명sno가 기본으로 설정되어있다. 다섯번째는 디폴트의 초기값을 의미한다. null로 설정되어있다.

그럼 저 표에서 다른 필드를 추가 하려면 어떻게 해야 할까

아래와 같다.

mysql>alter table 테이블명 add 새로추가할필드명과 타입 after 필드이름;

after 필드이름 은 위치를 말한다. 예를 들어 addr을 입력하면 addr다음으로 새로추가할 필드가 위치한다.

그럼 아래와 같이 입력해보자.

mysql>alter table student_tb add age int after name;

student_tb 테이블에 age를 name다음에 위치한다 라는 뜻이다.

mysql image

중간에 보이는 에러는 제가 오타를 쳐서 신경쓰지 않으셔야 합니다.

위 테이블에 보이듯이 name 다음으로 새로생성한 필드인age가 있다.

after 필드명을 선택하지 않으면 추가한 필드는 가장 마지막에 위치하게 된다.

성별 필드를 추가해보자

mysql>alter table student_tb add sex int;

desc>student_tb;

mysql image

sex가 가장 마지막에 추가 되었다.

필드를 삭제 할려면 어떻게 해야 할까?

위의 명령문에서 add가 아닌 drop를 적어준다.

alter table 테이블명 drop 삭제할 필드명;

mysql>alter table student_tb drop age;

mysql>desc student_tb;

mysql image

만약 자신이 필드를 입력했는데 알고보니 잘못 입력했을수도 있다. 물론 지웠다가 다시 추가 할수도 있지만

수정을 해볼수도 있다. 수정해보자!!

alter table 테이블명 change 기존 필드명 새로운 필드명 타입;

mysql>alter table student_tb change tel hp int;

mysql>desc student_tb;

mysql image

tel 이 phone로 바뀌었다.

그럼 다시 원래 대로 바꿔 보자.

alter table student_tb change phone tel char(20);

desc student_tb;

mysql image

다시 원상태로 돌아왔다.

그럼 이번에는 타입만 변경을 해보자.

mysql>alter table 테이블명 modify 기존 필드명 새로운 타입;

그럼 det 필드의 타입을 int로 변경하려면 아래와 같이 입력하면 된다.

mysql>alter table student_tb modify det int;

mysql>desc student_db; <--- 이 명령어는 필드를 확인하는 명령어 입니다. 제대로 변경되었는지 확인하기 위해서 하는것

mysql image

그럼 다시 원상 복귀를 시키자.

alter table student_tb modify det char(20);

mysql image

그럼 이제 테이블의 이름을 변경해보자.

alter table 기존 테이블 이름 rename 새 테이블 이름;

alter table student_tb rename school_tb;

이번에는 테이블명을 확인 하므로 show tables; 를 입력해서 확인해본다.

mysql image

그럼 다시 이름을 원래 대로 변경하자.

alter table school_tb rename student_tb;

show tables;

mysql image

그럼 다음에 해볼것은 테이블을 삭제 해보자.

테이블을 삭제 하기 전에 삭제해볼 테이블을 하나 만들자!!!

삭제하기 위해 만들 테이블의 이름은 delete_tb 로 한다.

delete_tb를 만들 데이터 베이스를 먼저 선택한후 만들어야 한다.

mysql>use seven_tb;

mysql>create table delete_tb(

name char(10),

tel char(30)

);

mysql>show tables;

위를 순서대로 입력한다.

mysql image

테이블이 생성되었다. 이제 이 테이블을 삭제 해보자.

mysql>drop table 삭제할 테이블명

mysql image

삭제가 완료 되었다.

오키 다음에 다시 강좌를 시작 해야지 아 피곤해!!

다음강좌는 6강.일괄 실행 입니다. 클릭하면 다음 강좌로 이동합니다.