2. 기본 명령문 (1)     -바닥부터 배우는 Mysql -


*CREATE TABLE

*INSERT INTO

*SELECT

*SELECT DISTINCT

*WHERE

*ORDER BY

*UPDATE

*DELETE


CREATE TABLE :

컬럼 명과 데이터 타입을 명시하여 테이블을 생성한다.

CREATE TABLE table_name

(

column_name1 data_type(size),

column_name2 data_type(size),

column_name3 data_type(size),

....

);

2-1

CREATE TABLE Students (

StudentID int,

Name varchar(255),

City varchar(255),

Tel varchar(255),

Grade int

);

중요: 맨 마지막에는 ,를 안 쓴다.(Grade int, 라고 쓰면 error난다.)

결과

StudentID

LastName

FirstName

Address

City

아직 데이터가 없어서 컬럼 명만 나온다.


2-1B

CREATE TABLE posts (

id bigint(20) unsigned NOT NULL AUTO_INCREMENT,

subject varchar(255) NOT NULL,

content mediumtext,

created datetime,

user_id int(10) unsigned NOT NULL,

user_name varchar(32) NOT NULL,

hit int(10) unsigned NOT NULL default '0',

PRIMARY KEY (id)

);

//AUTO_INCREMENT를 지정한 필드는 PRIMARY KEY로 지정을 해야 하네.



INSERT INTO :

지정된 table의 컬럼에 순서대로 입력된다.

INSERT INTO table_name

VALUES (value1,value2,value3,...);

2-2

INSERT INTO Students

VALUES (1, 'James', 'Seoul', '002-3256', 85);

결과

StudentID

Name

City

Tel

Grade

1

James

Seoul

002-3256

85

 

명시된 특정 컬럼에 순서대로 입력된다.

INSERT INTO table_name (column1,column2,column3,...)

VALUES (value1,value2,value3,...);

2-3

INSERT INTO Students (StudentID, Name, City)

VALUES (1, 'Kim ChulSu', 'Seoul');

StudentID

Name

City

Tel

Grade

1

Kim ChulSu

Seoul

 

 

 

여러 개의 레코드를 입력한다.

INSERT INTO table_name (column1,column2,column3,...)

VALUES (value11,value12,value13,...),

(value21,value22,value23,...),

(value31,value32,value33,...),

......

(valuex1,valuex2,valuex3,...);

2-4

INSERT INTO Students (StudentID, Name, City, Tel, Grade)

VALUES

(1, 'Kim ChulSu', 'Seoul', '002-3256', 85),

(2, 'Lee YoungHee', 'Pusan', '012-7854', 92),

(3, 'Park JinSu', 'Pusan', '022-4725', 63);

결과

StudentID

Name

City

Tel

Grade

1

Kim ChulSu

Seoul

002-3256

85

2

Lee YoungHee

Pusan

012-7854

92

3

Park JinSu

Pusan

022-4725

63

 

SELECT : database에서 data를 선택함.

SELECT column_name, column_name FROM table_name;

 

특정 table에서 모든(*) columndata를 선택한다.

SELECT * FROM table_name;

2-5(위의 database를 사용한 결과)

SELECT * FROM Students;

StudentID

Name

City

Tel

Grade

1

Kim ChulSu

Seoul

002-3256

85

2

Lee YoungHee

Pusan

012-7854

92

3

Park JinSu

Pusan

022-4725

63

 

SELECT DISTINCT :

중복된 데이터는 하나만 취한다.

즉 같은 데이터가 2개 이상이면 하나만 가져온다.

SELECT DISTINCT column_name, column_name

FROM table_name;

2-6

SELECT DISTINCT City FROM Students;

City

Seoul

Pusan

 

WHERE:

WHERE절은 특정 레코드에 대한 조건을 설정할 때 사용되는 구문이다.

SELECT column_name,column_name

FROM table_name

WHERE column_name operator value;

2-7

SELECT * FROM Students WHERE Grade>80;

StudentID

Name

City

Tel

Grade

1

Kim ChulSu

Seoul

002-3256

85

2

Lee YoungHee

Pusan

012-7854

92

 

사용되는 연산자.

=, <>, >, <, >=, <= 등과 다음 구문을 아용.

BETWEEN ~ AND ~ : 범위내의 데이터

LIKE : %기호를 이용해 불확실한 부분을 표현.

IN(d1, d2, d3, ...) : ()안의 어느 한 데이터와 일치하는 것을 찾는다.

 

ORDER BY 키워드:

데이터의 정렬 순서를 정한다.

SELECT column_name, column_name

FROM table_name

ORDER BY column_name ASC|DESC, column_name ASC|DESC;

2-8

SELECT * FROM Students ORDER BY Grade ASC;

결과

StudentID

Name

City

Tel

Grade

3

Park JinSu

Pusan

022-4725

63

1

Kim ChulSu

Seoul

002-3256

85

2

Lee YoungHee

Pusan

012-7854

92

 

UPDATE :

데이터를 수정한다.

UPDATE table_name

SET column1=value1,column2=value2,...

WHERE some_column=some_value;

주의 : WHERE절이 없으면 모든 레코드가 수정된다.

2-9

UPDATE Students

SET City='Seoul'

WHERE Name='Park JinSu';

결과

StudentID

Name

City

Tel

Grade

1

Kim ChulSu

Seoul

002-3256

85

2

Lee YoungHee

Pusan

012-7854

92

3

Park JinSu

Seoul

022-4725

63

 

DELETE :

레코드를 삭제한다.

DELETE FROM table_name

WHERE some_column=some_value;

주의 : WHERE절이 없으면 모든 레코드가 삭제된다.

2-9

DELETE FROM Students

WHERE Name=Lee YoungHee;

결과

StudentID

Name

City

Tel

Grade

1

Kim ChulSu

Seoul

002-3256

85

3

Park JinSu

Seoul

022-4725

63

 

모든 data 지우기

테이블의 구조, 속성, 색인 등은 그대로이고 데이터만 지운다.

DELETE FROM table_name;

DELETE * FROM table_name;

주의 : 한 번 지워진 기록은 다시는 되살릴 수 없으니 조심할 것.

2-10

DELETE FROM Students;

결과

StudentID

Name

City

Tel

Grade

 

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()})})});