1. 개념 및 기본 -바닥부터 배우는 Mysql -



-SHOW DATABASES;

-SHOW TABLES;

-DESC 테이블이름;

-DESCRIBE 테이블이름;

-EXPLAIN 테이블이름;

 

테이블, 필드, 레코드의 3가지 구성.

"이름", "전화번호", "주소" 형식의 주소록 테이블을 만들 때, 각각의 구분을 필드라고 하며, 한 사람에 대한 "이름", "전화번호", "주소"의 정보를 기록한 하나의 데이터를 레코드라고 한다

 

데이터베이스 관리 시스템(DBMS)

RDBMS: stands for Relational DataBase Management System.

DBMS는 응용 프로그램과 데이터의 중재자로서 모든 응용 프로그램들이 데이터베이스를 공유할 수 있도록 관리해 주는 소프트웨어 시스템이다.

MySQLDBMS의 한 종류이다.

 

SQL keywords는 대소문자 구별이 없으나, 주로 대문자를 사용한다.

SQL명령 뒤에는 각 명령을 구분하기 위해서 세미콜론(;)을 사용한다.

문자 데이터일 경우 ''를 사용. 숫자 데이터는 그냥 사용.

 

자주 쓰이는 명령어.

'--   ',  '#' : 한 줄 주석.(--를 사용할 경우 공백이 필요하다.)

'/* */ ': 여러 줄 주석.

SELECT : 데이터 검색.

UPDATE : 데이터 수정.

DELETE : 데이터 삭제.

INSERT INTO : 새 데이터 삽입.

 

1. DATABASE

CREATE DATABASE DB- 새 데이터베이스 생성.

ALTER DATABASE DB- 데이터베이스 수정.

USE DATABASE DB- 데이터베이스 선택.

DROP DATABASE DB- 데이터베이스 삭제

 

2. TABLE

먼저 DATABASE를 생성(CREATE)하고 선택(USE)한 후에 TABLE을 만든다.

CREATE TABLE - 테이블 생성.

ALTER TABLE - 테이블 수정.

DROP TABLE - 테이블 삭제.

 

 

3. FIELD(=COLUMN)

필드의 데이터 타입: text, number, Date/Time 3가지가 있다.

 

TEXT TYPES(참고만 할 것):

CHAR(n) : n개의 문자 저장. 크기는 n Byte. (n <= 255)

VARCHAR(n) : 최대 n개까지 문자 저장. 크기는 문자길이에 따라 가변적. (n <= 255)

255보다 큰 수를 입력하면 자동으로 TEXT 타입으로 바뀐다.

*모든 데이터의 크기가 비슷하다면, CHAR가 더 효율적이다.

 

TINYTEXT : 최대 255 문자까지 저장.

TEXT : 최대 65535 문자까지 저장.

BLOB(Binary Large OBjects) : 최대 65535byte의 데이터 저장.

MEDIUM TEXT : 최대 16,777,215 문자까지 저장.

MEDIUM BLOB : 최대 16,777,215 byte의 데이터 저장.

LONGTEXT : 최대 4,294,967,295 문자까지 저장.

LONGBLOB : 최대 4,294,967,295 byte의 데이터 저장.

 

* ENUM :  ENUM('value1','value2','value3','value4',.....)/* value65535개 지정 가능.

value1(1), value2(2), value3(3),...... 각각의 값은 인덱스 번호가 지정된다.(괄호 안의 번호)

NULL 값의 인덱스는 NULL이 된다.

없는 value를 입력한 경우 에러로 판정하여 "0"의 인데스 번호를 갖는다.

 

* SET : ENUM과 같으나 여러 개의 VALUE를 하나의 인데스로 지정할 수 있다.

 

NUMBER TYPES(참고만 할 것):

AUTO_INCREMENT : int 타입을 자동 증가 시키기 위한 옵션.

TINYINT(SIZE) : -128 ~ 127 (normal), 0 ~ 255 (unsigned)

SMALLINT(SIZE) : -32768 ~ 32767 (normal), 0 ~ 65535 (unsigned)

MEDIUMINT(SIZE) : -8388608 ~ 8388607 (normal), 0 ~ 16777215 (unsigned)

INT(SIZE) : -2147483648 ~ 2144483647 (normal), 0 ~ 4294967295 (unsigned)

BIGINT(SIZE) : -922337036854775808 ~ 922337036854775807 (normal), 0 ~ 18446744073709551615 (unsigned)

FLOAT(SIZE, d) : 최소 +_1.175494351E-38 ~ 최대 +_3.402823466E_38

DOUBLE(SIZE, d) : 최소 ±1.7976931348623157E-308, 최대 ±2.2250738585072014E+308

DECIMAL((SIZE, d) : 숫자를 문자로 인식하여 저장한다.

 

DATE TYPES (참고만 할 것):

DATE() : 'YYYY-MM-DD'형식. '1001-01-01' ~ '9999-12-31' 까지 가능. 3byte 필요.

 

DATETIME() : 'YYYY-MM-DD HH:MM:SS'형식. '1001-01-01 00:00:00' ~ '9999-12-31 23:59:59'까지 가능. 8byte 필요.

 

TIMESTAMP() : '1970-01-01 00:00:00' 이후부터 초를 숫자로 저장. 40억 초 저장 가능(=2037년까지). 4byte 필요.

 

TIME() : 'HH:MM:SS' 형식. '-838:59:59' 에서 '838:59:59' 의 값이 가능. 3 byte 필요.

 

YEAR(n) : 연도만 저장. n=2(2자리 연도: 70~69). n=4(4자리 연도: 1970~2069) 1byte 필요.

 

*DATETIMETIMESTAMP는 같은 형식을 출력하는 것 같지만 매우 다르게 작동한다.

TIMESTAMP를 사용한 경우에는INSERT or UPDATE시 자동으로 현재 시간이 저장되고 출력 형식도

YYYYMMDDHHMISS, YYMMDDHHMISS, YYYYMMDD, YYMMDD 등 다양하게 지정할 수 있다.

Posted by star story :

Snippet :: Code View :: "+location.href+'
'+b+"

");top.consoleRef.document.close()}$(".snippet-container").each(function(b){$(this).find("a.snippet-text").click(function(){var d=$(this).parents(".snippet-wrap").find(".snippet-formatted");var c=$(this).parents(".snippet-wrap").find(".snippet-textonly");d.toggle();c.toggle();if(c.is(":visible")){$(this).html("html")}else{$(this).html("text")}return false});$(this).find("a.snippet-window").click(function(){var c=$(this).parents(".snippet-wrap").find(".snippet-textonly").html();a(c);$(this).blur();return false})});$(".snippet-toggle").each(function(b){$(this).click(function(){$(this).parents(".snippet-container").find(".snippet-wrap").toggle()})})});