MySql Commander

SQL로 데이터베이스 뼈대 잡기

SQL Commander
명령어 설명
create database DB 이름 주어진 이름으로 데이터베이스를 만듭니다.
ex) create database goods;
drop database DB 이름 주어진 이름의 데이터베이스를 삭제합니다.
ex) drop database goods;
show databases 만들어져 있는 데이터베이스들을 보여줍니다.
ex) show databases;
use DB 이름 작업할 데이터베이스를 선택합니다.
특정 데이터베이스를 대상으로 작업할 때 반드시 이 명령어가 선행되어야 합니다.
ex) use goods;
create table 테이블 이름 주어진 이름으로 테이블을 만듭니다.
ex) create table list(no int(2), name char(20), price int(7));
drop table 테이블 이름 주어진 이름의 테이블을 삭제합니다.
ex) drop table list;
show tables 현재 만들어져 있는 테이블들을 보여줍니다.
ex) show tables;
desc 테이블이름 테이블의 내부 구조를 확인합니다.
ex) desc list;
alter table 테이블이름 add 추가필드이름과 타입; 새로운 필드를 테이블에 추가합니다.
ex) alter table list add count int(5);
alter table 테이블이름 change 기존필드이름과 타입 변경될 필드이름과 타입; 기존 필드의 이름과 타입을 변경합니다.
ex) alter table list change count cnt int(7);
ex) alter table list change no no int(2) not null;(필드의 성격을 바꿈)
alter table 테이블이름 drop 필드이름; 기존 필드를 테이블에서 삭제합니다.
ex) alter table list drop cnt;

SQL로 데이터베이스 다루기

MySQL에서도 다양한 데이터 타입을 사용할 수 있습니다. 그러나 제일 많이 사용되는 다음의 4가지만 우선 기억해 두세요.

  1. int: 4바이트의 정수 필드
  2. char(n): n개의 문자를 기억하는 필드
  3. varchar(n): 최대 n개까지 문자를 기억하는 필드
  4. text: 최대 36535개의 문자를 기억하는 필드

데이터 삭제하기

◎ DELETE [옵션들] FROM 테이블이름 [WHERE 조건절] [LIMIT 최대레코드 갯수]
ex) delete from list where no='1'; → list 테이블에 있는 데이터 중 no 필드값이 1인(where no='1') 데이터를 삭제함.
ex) delete from list; → list 테이블의 데이터를 조건 없이 모두 삭제함.


데이터 입력하기

◎ INSERT [옵션들] INTO 테이블이름 [(필드목록)] VALUES (값목록1,....)
    INSERT [옵션들] INTO 테이블이름 SET 필드이름1=값1, 필드이름2=값2...
    INSERT [옵션들] INTO 테이블이름 [(필드목록)] SELECT ...
ex) insert list (no, name, price) values ('1', 'phone', '40000'); → insert 명령어를 사용하여 각 레코드를 하나씩 테이블에 입력


데이터 검색하기

◎ SELECT [옵션들] 필드이름1[AS 별칭1], 필드이름2[AS 별칭2]...
       [FROM 테이블목록]
       [WHERE 조건절]
       [GROUP BY 그룹필드]
       [HAVING 조건절]
       [ORDER BY 필드이름1[DESC], 필드이름2[ASC]...]
       [LIMIT [오프셋] 레코드]
ex) select name, price from list where no='4'; → list 테이블에서 번호가 4인 데이터(where no='4')를 선택하여, 이름 필드와 가격 필드만을(name, price) 보여줄 것.
ex) select * from list limit 2; → list 테이블에서 처음부터 2개의 레코드만(limit 2) 선택하여, 모든 필드(*)를 보여줄 것.
ex) select * from list order by no desc; → list 테이블에 있는 모든 데이터(*)를 no 필드를 지준으로 (order by no), 내림차순(desc)으로 소트하여 보여줄 것. (오름차순은 asc).


데이터 수정하기

◎ UPDATE [옵션들] 테이블이름 SET 필드이름1=값1, 필드이름2=값2,....
       [WHERE 조건절]
       [LIMIT 최대레코드갯수]
ex) update list set price='300000' where no='3'; → list 테이블에 있는 데이터 중 no 필드값이 3인(where no='3') 데이터의 price 필드값을 300000으로 수정(set price='300000').
ex) update list set price='260000' where name='camera'; → list 테이블에 있는 데이터 중 name 필드값이 camera인(where name='camera') 데이터의 price 필드값을 260000으로 수정함(set price='260000'). 동일한 데이터이나 이번에는 name 필드를 조건으로 사용함.