mysql 명령어

DB/MySQL 2010. 12. 19. 22:32

1. Database 추가 및 삭제

생성

mysql> create database DB;


삭제(내부에 있는 테이블도 삭제 됨)

mysql> drop database DB;


2. Table 추가 및 삭제(CREATE)

해당 DB로 이동

mysql> use DB

create table [만들고자 하는 테이블이름] (속성1 data type(속성길이), 속성2 data type(속성길이));
mysql> create table student (number char(15), subject char(20));

만들어진 table을 확인합니다.

mysql> show tables;

만들어진 특정 table에 대해서 속성들에 대한 기술(description)을 합니다.

mysql> desc 테이블이름;
mysql> describe 테이블이름;

만들어진 전체 table을 없앱니다.

mysql> drop table 테이블이름;

위에서 테이블을 만들 때 속성은 여러 종류가 있습니다.
대부분의 DB manager에서 비슷하게 사용됩니다.
()
안에는 속성의 길이가 선언됩니다.
tinyint(), smallint(), mediumint(), int(), integer(), real(), double(), float(), decimal(), numeric(), char(), varchar(), date, time, timestamp, datetime, tinyblob, blob, mediumbolb, longbolb, tinytext, text, mediumtext, enum, set

이상의 datatype이 있습니다.
이중에 대표적으로 많이 사용하는 datatype을 바탕으로 설명을 하면,
int()
-2147483648 에서 2147483647사이의 정수를 저장합니다.
"unsigned"
옵션과 함께 0부터 4294967295 범위의 정수를 나타낼 수도 있습니다.
float()
는 소수를 포함한 실수를 저장합니다.
예를 들면, float(5,2)는 최대 자리수 5자리에 소수이하 2자리를 나타낸다.
varchar(), char()
는 둘다 문자열을 저장합니다.
이경우 varchar() ()안에 저장된 수자보다 실제 문자열이 적을 때는 메모리 공간을 실제 문자열 길이만큼만 저장됩니다.
date
는 날짜에 대한 정보를 저장한다. 기본은 'YYYY-MM-DD' 입니다.
text
blob 데이타 타입은 255 - 65535 자의 문자열을 저장할 때 사용됩니다.

이제 주소록 table을 하나 만들어 보겠습니다.

mysql> create table addressbook(
            -> id int not null primary key,
            -> name char(10),
            -> address char(30),
            -> tel char(15)); ( ";"
이 있음을 주의하세요.)
Query OK, 0 rows affected (0.05 sec)

mysql> desc addressbook;

Field

Type

Null

Key

Default

Extra

id

int(11)

 

PRI

0

 

name

char(10)

YES

 

NULL

 

address

char(30)

YES

 

NULL

 

tel

char(15)

YES

 

NULL

 

4 rows in set (0.04 sec)

한가지 주의할 것은 sql문이 끝날때는 항상 ";"으로 끝나야 합니다.
위에서 not null 이나 primary key에 대한 것은 sql문을 통해서 관련 내용을 확인할 수 있습니다.
not null
id란 속성이 항상 값을 가져야 한다는 의미로 쓰이는 것입니다.
primary key
란 사람으로 비유하면 주민등록번호라고 할 수 있습니다.
id란 속성으로 각각의 데이타를 구분하는 역활을 하게 합니다.

 

3. 테이블 속성 추가 및 삭제(ALTER)

새로운 속성의 추가를 위한 SQL

alter table 테이블이름 add [새로운 속성이름] [속성의 타입 및 길이]

mysql> alter table student add name char(20);

 

속성에 대한 삭제를 위한 SQL

alter table 테이블이름 add [삭제하고자 하는 속성이름]

mysql> alter table student drop name;

 

 

4. 새로운 데이터의 입력(INSERT)

테이블의 속성들에 실제 데이터를 넣어주기 위해서 SQL문에서 INSERT문을 사용한다.

 

insert into [테이블 이름] values (속성에 대한 데이터1, 데이터2, …)

mysql> insert into student values (‘200108056’, ‘computer’, ‘hskim’);

-> 자료형이 char 일 경우 데이터가 따옴표 안에 있어야 한다.

 

해당 속성에 대한 데이터만을 삽입할 경우

insert into [테이블 이름](속성1, 속성2) values (속성에 대한 데이터1, 데이터2, …)

mysql> insert into student(subject, name) values (‘computer’, ‘hskim’);

 

 

5. 데이터 관리(UPDATE)

데이터에 대한 관리를 위한 SQL문은 UPDATE문을 사용하여 해당 속성에 대한 데이터 변경한다.

 

update [테이블 이름] set [속성 이름 = 새로운 데이터] where [속성 이름 = 변경 될 데이터]

mysql> update student set subject = ‘information’ where subject = ‘computer’;

 

 

6. 행 삭제(DELETE)

테이블의 한 행 즉 투플(tuple)을 지우고자 할 때는 SQL문에서 DELETE문을 사용

 

delete from [테이블 이름] where [속성 이름 = 해당 데이터]

mysql> delete from student where name = ‘hskim’;

 

 

7. 정보 추출(SELECT)

사용자가 의사 결정에 필요한 정보를 추출하는 방법

 

select [속성1, 속성2, …] from [테이블 이름] where [속성 = 데이터]

mysql> select * from student;

mysql> select name from student where name = ‘hskim’;

mysql> select name, number from student where name=’hskim’ or number=’20010911’;

-> 조건식을 위한 연산으로 and, or, not 등이 올 수 있으며, 속성의 나열 순서에 따라 테이블

속성 순서도 변경 된다.

mysql> select distinct subject from student;

-> 데이터가 중복해서 검색되지 않도록 한다.

'DB > MySQL' 카테고리의 다른 글

MySQL에서 Create Procedure  (0) 2010.12.21
리눅스에서 my.cnf 설정  (0) 2010.12.21
MySQL Data Type 과 테이블 설계 방법  (0) 2010.12.20
MySQL 외부 접속 사용자 추가  (0) 2010.12.19
mysql 사용자 관리  (0) 2010.12.19
Posted by linuxism
,