- ISSUE
- 뉴스정보
- 주식정보
- 유용한정보
- 포트폴리오
- 각종분석법
- 투자에 도움이 되는 글
- 주식잡동사니
- 잡동사니
- 가치투자재테크
- 로또645
- 로또마을
- 컴퓨터팁&테크
- 자격증&강좌모음
- 스포츠종합영상
- 블로그팁&테크
- 리치
- 유로2008
[인터리치]
쉬운돈벌기 제공 + 수익금지원
로또분석-플러스645
좋은책 모닝365
:+:+:+::[UCC 위젯 퍼가기]::+:+:+:
보험최저가로 가입하는요령 쉬운 돈벌기 방법
그럼 테이블을 만들어 보죠...
대부분의 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를 출력합니다.
@_@;;;; 여기까지 테이블 만들기였습니다....
다음엔 글을 넣어보죠~~~
[출처] navyism 의 PHP 강좌 - mySQL테이블 만들기 [3]|작성자 사랑지기
태초에 나는 개그이야기를 만들었다.
내말을 믿고 나를 따르면 천당,
내말을 믿지않고 나를 따르지 않으면 지옥,
나는 하늘나라(우주)에 사느니라.
그럼 난 외계인?
