홈으로
| 무료회원가입 | 아이디/비번찾기
추천음악방송
mySQL테이블 만들기
12년 전
자 그럼 테이블을 만들어 보죠...

대부분의 datebase들은 SQL이란 명령어를 써서 작업을 하게 되는데 기본적인 명령어들은 모두 같습니다....

테이블을 만드는 명령어는 create table이라죠....형식은...아래와 같습니다.

CREATE TABLE 테이블이름 (
이름 자료형(크기)
이름 자료형(크기)
.......
)

우리가 만들려고 했던 메모장에 들어가는 항목은....
번호//이름//내용//작성시간//IP 였죠....위 쿼리에 대입해 볼까요?
테이블 이름은 exam_memo이고 각 항목은 영어로....
no//name//memo//date//ip 로 하겠습니다....

CREATE TABLE exam_memo (
no 자료형(크기),
name 자료형(크기),
memo 자료형(크기),
date 자료형(크기),
ip 자료형(크기)
)

위와 같이 각 항목은 ,(쉼표)로 구분해주시면 되고요....
엇....근데 자료형과 크기..는 대체 뭘까요...@_@;;;

간단하게 말하면.....입력할 값이 숫자냐....문자냐.... 뭐 이런겁니다..
크기는 몇자리 숫자냐......문자로 몇글자냐...이런거겠죠....
아래 정리된 내용을 참고 하세요~~~


TINYINT
정수형(-128~127) [UNSIGNED]-정수형(0~255)

SMALLINT
정수형(-32768~32767) [UNSIGNED]-정수형(0~65535)

MEDIUMINT
정수형(-8388606~8388607) [UNSIGNED]-정수형(0~16777215)

INT
정수형(-2147483648~2147483647) [UNSIGNED]-정수형(0~4294967295)

INTEGER
INT와 동일

BIGINT
정수형(-9223372036854775808~9223372036854775807) [UNSIGNED]-정수형(0~18446744073709551615)

FLOAT(정밀도)
부동소수점실수

FLOAT(L, F)
단정도 부동소수점 실수 (-3.402823466E+38 ~ 1.175494351E-38, 0,1.175494351E-38 ~ 3.402823466E+38)

DOUBLE
배정도 부동소수점 실수 (-1.7976931348623157E+308 ~ -2.2250738585072014E-308,0,2.2250738585072014E-308 ~ 1.7976931348623157E+308)

DECIMAL 부동 소수점 실수 CHAR 형태로 동작

NUMERIC ECIMAL과 동일

DATE 날짜형(1000-01-01 ~ 9999-12-31)

DATETIME 날짜와 시간형(1000-01-01 00:00:00 ~ 9999-12-31 23:59:59)

TIMESTAMP 타임스템프형(1970-01-01 ~ 2037년 임의 시간)

TIME
시간형(-838:59:59 ~ 838:59:59)

YEAR
년도형(1901 ~ 2155, 0000)

CHAR
고정폭 문자열

VARCHAR
가변폭 문자열

TINYBLOB / TINYTEXT
BOLB, TEXT형, 최대길이 255문자

BLOB / TEXT
BOLB, TEXT형, 최대길이 65535문자

MEDIUMBLOB / MEDIUMTEXT
BOLB, TEXT형, 최대길이 16777215문자

LONGBLOB / LONGTEXT
BOLB, TEXT형, 최대길이 4294967295문자

ENUM
문자열 목록형, 최대 65535개, 저장된 문자열 목록 중에 오직 한가지만 얻을 수 있습니다.

SET
문자열 목록형, 최대 64개, 저장된 문자열 목록 중에 0, 1개 이상을 얻을 수 있습니다


헥헥헥;;;
이렇게 자료형은 많이 있습니다....그중에서 우리가 골라써 사용해야죠..

일반적으로 간단하게 세가지를 사용할수가 있는데.....
int와 varchar, 그리고 text입니다.

int는 정수형으로 최대크기는 11이고 int(11)이라고 하면 11자리 정수를 뜻하는거죠...
varchar는 문자형으로 최대 크기는 255입니다. varchar(255)라고 하면 255자를 뜻합니다.
text는 크기를 정해 주지 않고 그냥 text라고 하며 textarea에서 입력받은 값을 넣을때 사용하시면 됩니다.....

그런데 잠깐 char과 varchar의 차이를 짚고 넘어가면...
char(50)이라고 하면 무조건 50자가 들어갈 공간을 비워 놓지만....
varchar(50)이라고 하고 20자를 집어 넣으면 20자 공간만 차지 한답니다..
그래서 용량면에서 varchar를 사용하는게 좋긴 하지만.......
char이 더 속도와 안정성면에서는 좋다고 하더군요...@_@ 암튼알아서;;

자 그럼 저 위에 저렇게 많은 자료형 중에서 우린 딱 두개만 쓰겠습니다.
int와 varchar입니다.... 넣어볼까요?

CREATE TABLE exam_memo (
no int(11),
name varchar(10),
memo varchar(50),
date int(11),
ip varchar(15)
)

no를 int로 한것은 어짜피 번호는 정수형이니까요....;;;
name은 문자열로 10글자 까지만 했습니다.
그리고 memo도 50자만 받습니다.
그런데 date를 int로 했네요.......움;;;
저위에 자료형에 날짜형이 있죠;;;; 그런데 우린 PHP를 더 믿을렵니다;;
PHP에서 유닉스타임스탬프값을 기억하시나요?
time()으로 알아내는 값이죠;;; 그 값하나만 있으면 년월일시분초를 한거번에 알수 있습니다.......그래서 그냥 date에는 그 값을 정수형으로 집어 넣기로 한것 입니다.
ip는 문자열 15자 인데......000.000.000.000 이렇게 ip는 15자 라죠;;;

자 그다음은....primary key를 정해줘야 합니다.....
우리가 정한 primary key는 뭐였죠?......옙;;; no입니다....
그럼 아래와 같이....해줍니다..

CREATE TABLE exam_memo (
no int(11) primary key,
name varchar(10),
memo varchar(50),
date int(11),
ip varchar(15)
)

no를 primary key로 해줬죠?.......

CREATE TABLE exam_memo (
no int(11) DEFAULT '0' primary key,
name varchar(10),
memo varchar(50),
date int(11),
ip varchar(15)
)

이번엔 default값을 줬습니다. 기본값으로 0을 준거죠;;;
그리고 이렇게도 해볼까요?

CREATE TABLE exam_memo (
no int(11) DEFAULT '0' NOT NULL auto_increment
primary key,
name varchar(10),
memo varchar(50),
date int(11),
ip varchar(15)
)

no줄을 보면...default값으로 0을 주고 not null이라고 했습니다.
기본으로 0이란 값을 갖고 비어있는 값은 아니라는거죠...
그리고 auto_increment 라는것은 자동으로 증가 한다는 겁니다...

자 기본값이 0이었죠....그럼 최초에 데이터가 들어오면 no는 1이 됩니다... 왜냐면 기본이 0에다가 auto_increment이기 때문에 +1이 되는거죠....그다음에 또 데이터가 들어오면 2가 되겠죠?.......왜냐면;;; auto_increment이니까요......자동으로 +1이 계속 됩니다.....

그럼결국 값이 중복될 일은 없겠죠?......그래서 no는 primary key가 자동으로 성립됩니다.......

이해가 안가시면 ㅎ_ㅎ 눈 이렇게 뜨시고 계속 쳐다 보시구요;;;

이제 이 완성된 쿼리문을 DB에 넣어야죠;;;
실행을 하면 테이블이 생기는것이겠죠?..........

그래서 이 파일을 install.php로 하고....
아래 소스를 넣어 볼까요;;

<?
include"connect.php";

$query="
CREATE TABLE exam_memo (
no int(11) DEFAULT '0' NOT NULL auto_increment
primary key,
name varchar(10),
memo varchar(50),
date int(11),
ip varchar(15)
)";

$result=mysql_query($query,$connect);
if($result){echo"ok";}
?>

저장하고 실행 하셔서 ok라고 화면에 표시되면 exam_memo라는 테이블이 만들어진 것이겠죠?

소스 설명을 드리면.......
지난시간에 connect.php를 만드셨을겁니다......
첫줄은 그 파일을 include하여 DB에 접속하는거죠....

그다음은 $query라는 변수에 앞서 만들어놓은 쿼리문을 넣어두고
mysql_query()라는 함수를 사용하여 mySQL에 보내줍니다...
그리고 $result에 그 결과를 저장하여......
if($result) 즉, 결과가 true이면 echo"ok"; 죠....
그래서 테이블이 성공적으로 만들어졌다면 화면에 ok를 출력합니다.

@_@;;;; 여기까지 테이블 만들기였습니다....
추천추천 : 313 추천 목록
번호 제목
3,046
 Vimeo (비메오) API 를 사용하여 플레이어 컨트롤하기
3,045
 iframe 사용시 하단에 발생하는 공백 제거방법
3,044
 아이프레임(iframe) 전체화면 가능하게 하기
3,043
 부트스트랩(bootstrapk)에서 사용하는 class명 정리
3,042
 부트스트랩 CSS
3,041
 크롬에서 마진 조절
3,040
 PHP 현재 페이지의 도메인명이나 url등의 정보 알아오기
3,039
 PHP preg match all()
3,038
 PHP 로 웹페이지 긁어오기 모든 방법 총정리!
3,037
 [PHP] 원격지 파일 주소 노출 안하고 curl로 다운로드 받기
3,036
 PHP 함수 정리
3,035
 아이프레임(iframe) 비율 유지하면서 크기 조절하는 방법
3,034
 PHP 배열에서 무작위로 하나 뽑아주는 array rand() 함수
3,033
 PHP 정규식 정리
3,032
 PHP 정규식을 활용한 태그 및 특정 문자열 제거 및 추출 방법
3,031
 php 크롤링 또는 파싱 함수, 정규식 모음
3,030
 제이쿼리 기본 명령어
3,029
 웹페이지 가로 모드세로 모드 인식하기
3,028
 모바일 웹 화면 강제 회전(가로모드 고정)
3,027
 [HTML5]에서 frameset 대체 방법과 iframe 속성
3,026
 HTML <Audio> 사용법
3,025
 윈도우10 시스템파일 손상 (초간단 오류 복구방법!!)
3,024
 PHP 파일 존재 여부 파악하기(로컬 파일 존재 및 원격지 파일 존재)
3,023
 [CSS] 박스 세로 가운데 중앙 정렬 6가지
3,022
 CSS Layout 수평 & 수직 정렬
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.