본문 바로가기

DataBase/My-Sql

[펌]MySQL 기본 명령어

 1. MySQL 실행

# /usr/local/mysql/bin/mysql 을 입력하면 다음과 같이 프롬프트가 뜬다.
mysql〉
  • 일반적으로 APM을 컴파일해서 설치했다면, 위의 디렉토리가 맞을 것이다.
  • 만약 PATH가 걸려있다면, 아무곳에서나 mysql 을 치면 MySQL이 실행된다. PATH는 [ echo $PATH ] 명령으로 볼 수 있다. 설정되어 있지 않다면 .bash_profile 파일에 들어가서 설정해 주면 된다.
  • 로컬BOX(APM이 설치되어 있는 바로 그 컴퓨터)에서 MySQL을 다룰려면 X윈도우에서 해야 할 것이다. 한글을 사용할 일이 있기 때문이다. 콘솔에서도 한글을 띄우려면 무슨 유틸리티가 있었는데.. 잊어버렸다.
mysql〉select version(); 현재 버전을 알아보는 쿼리이다.
    쿼리는 대소문자를 구분하지 않는다. 또한 쿼리의 끝에는 반드시 ; 을 입력해야 한다.


2. 데이터베이스, 테이블 개념

  • 간단히 설명하기 위해서 엑셀을 예로 든다. 설마 엑셀을 모르는 사람은 없겠쥐...
  • 데이터베이스 - DATABASE
      엑셀로 파일을 하나 만들었다. 파일 이름은 sample.xls 이다. 이 파일 안에는 4개의 Sheet가 있고, 각각의 Sheet는 학번, 주소, 중간고사 성적, 기말고사 성적 의 이름으로 되어 있다..
      이 sample.xls 파일이 MySQL에서는 데이터베이스라는 개념이다.
  • 테이블 - TABLE
      엑셀에서 각 Sheet는 MySQL에서 각각의 테이블이 된다.
      즉, 위의 예를 보자면 학번, 주소, 중간고사 성적, 기말고사 성적 등이 각각의 테이블이 된다.


3. 데이터베이스 만들기

(1) student 라는 이름의 데이터베이스를 만들어보자.
    mysql〉create database student ;
(2) 현재 어떤 데이터베이스가 있는지 알아보자.
    mysql〉show databases ;
(3) 테이블 만들기
  • 예제로 학번, 이름, 국어, 수학, 영어점수가 들어있는 jumsu라는 테이블을 만들어보자.
  • 위에서 알아본 데이터베이스 중에서 student라는 DB를 사용하기 위해서 다음과 같이 입력한다.
    mysql〉use student ;
  • 이제 테이블을 만들어보자.
    mysql〉create table jusmu(student_no INT, student_name VARCHAR(15), korean INT, math INT, english INT) ;
  • INT나 VARCHAR 등은 다른 언어에서 설명이 잘 나와있구..
  • 이 테이블의 이름은 jumsu로 줬다. student 라는 데이터베이스에 어떠한 테이블들이 있나 살펴보려면, mysql〉show tables ;
  • 여기서 jumsu 라는 테이블의 구조를 살펴보려면, mysql〉explain grade ;
(4) 테이블에 자료 입력하기
  • 다음과 같이 자료를 입력하자...
    mysql〉insert into jumsu values (001, '승무', 97, 94, 95), (002, '김서울', 85, 76, 79),
    -〉(003, '이인턱', 82, 86, 89), (004, '통통새', 71, 79, 94) ;


4. 자료 가져오기

  • 자료를 가져오기 위한 문구는 [ SELECT ~ FROM ~ ] 이다.

  • jumsu 테이블 전체를 살펴보자.
    mysql〉select * from grade ;

  • 이름과 국어점수만 보려면..
    mysql〉select student_name '성명', korean '국어점수' from jumsu ;

  • 총점으로 나타나게 하려면..
    mysql〉select student_name, korean + math + english '총점' from jumsu ;

  • 국어점수의 평균을 보고싶으면..
    mysql〉select avg(korean) from jumsu ;

  • 영어점수의 최고값은...
    mysql〉select max(english) from jumsu ;

  • 총점을 내림차순으로 정리하려면.. [ select ~ from ~ order by ~ desc(asc) ]
    mysql〉select student_name, korean + math + english '총점'
    -〉from jumsu
    -〉order by '총점' desc ; desc는 내림차순, asc는 오름차순.

  • 김서울의 점수를 보려면.... [ where 절 ]
    mysql〉select * from jumsu where student_name = '김서울';

  • 국어점수가 85점 미만인 학생들의 이름과 점수..
    mysql〉select student_name, korean from jumsu where korean < 85 ;


5. 자료의 수정, 삭제

  • 기존 자료의 수정
    mysql〉UPDATE jumsu SET english = 90 WHERE student_no = 003 ;
    주의 : where 조건을 주지 않으면 모든 레코드의 영어점수가 90으로 바뀐다.

  • 테이블에서 자료 삭제..
    mysql〉DELETE FROM jumsu WHERE student_no = 002 ;
    주의 : where 조건을 주지 않으면 모든 레코드가 삭제된다.