My SQL의 기본 명령어를 정리해봤어.

데이터베이스 생성하기

데이터베이스는 ‘CREATE DATABASE 이름’ 형식의 쿼리 문장으로 생성할 수 있어.

mysql> CREATE DATABASE Company;

DB가 생성되면 ‘DB를 사용하겠다’고 이야기를 해주어야 해. 즉 ‘USE 이름’의 형태로 명령어를 입력해주면 되는 거지.

mysql> USE Company;

테이블 생성하기

테이블은 각각 정보를 저장할 수 있는 표 형태의 구조를 말해. 즉 아래와 같은 형태인 거지.

ID NAME MODEL NUMBER SERIES
1
2

참고로 테이블에 사용할 수 있는 자료형은 아래와 같아.

  • VARCHAR : 문자열
  • INT : 정수 숫자
  • DOUBLE : 실수 숫자

테이블은 ‘CREATE TABLE 테이블명()’으로 생성해. 아래 쿼리 문장은 products 테이블을 생성하고 각각의 필드를 지정하는 명령이야. 필드를 지정할 때는 ‘필드명, 자료형, 속성’ 순으로 입력하면 돼.

mysql> CREATE TABLE products (
	->	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
	->	name VARCHAR(50) NOT NULL,
	->	modelnumber VARCHAR(15) NOT NULL,
	->	series VARCHAR(30) NOT NULL
	);

필드 속성은 아래와 같아.

  • NOT NULL : 반드시 입력해야 하는 필드
  • AUTO_INCREMENT : 자동으로 숫자가 증가
  • PRIMARY : 기본 키로 지정

테이블을 생성하면 ‘DESCRIBE 테이블명’으로 테이블 필드와 관련된 정보를 확인할 수 있어.

mysql> DESCRIBE products;

데이터 저장하기

데이터베이스는 테이블을 소유할 수 있고 테이블에는 데이터를 저장할 수 있어. 테이블에 데이터를 입력할 때는 ‘INSERT INTO 테이블명 (필드, 필드) VALUE (데이터, 데이터)’의 형태로 입력하면 돼.

mysql> INSERT INTO products (name, modelnumber, series) VALUE
	->	('Eric Clapton Stratocaster', '0117602806', 'Artist'),
	->	('Jeff Back Stratocaster', '0119600805', 'Artist');

ID 필드는 AUTO_INCREMENT 속성을 적용하여 자동으로 생성도록 되어 있어.

테이블 조회하기

데이터를 조회할 때는 ‘SELECT 필드, 필드 FROM 테이블’ 형태를 사용해.

mysql> SELECT * FROM products;
mysql> SELECT id, name, series FROM products;

조건 검사하기

DB 안에서 원하는 데이터를 선택할 때는 WHERE 명령어를 사용하면 되는데 ‘SELECT 필드, 필드 FROM 테이블 WHERE 조건’ 형태로 사용하면 돼.

mysql> SELECT * FROM products
	->	WHERE series="Artist";

WHERE 명령어를 사용할 때는 비교 연산자를 사용할 수 있어.

  • = : 좌변과 우변이 같음
  • != 또는 <> : 좌변과 우변이 다름
  • < : 우변이 좌변보다 큼
  • > : 좌변이 우변보다 큼
  • <= : 우변이 좌변보다 크거나 같음
  • >= : 좌변이 우변보다 크거나 같음
  • OR : 논리합 연산자
  • AND : 논리곱 연산자
mysql> SELECT * FROM products
	->	WHERE (series="Artist") OR (series="Road Worn");

글자에서 특정 부분이 일치하는 데이터를 조회하고 싶을 경우 LIKE 명령어를 사용하면 돼. 아래 쿼리 문장은 modelnumber 필드가 011로 시작하는 모든 데이터를 조회하는 문장이야.

mysql> SELECT * FROM products
	->	WHERE modelnumber LIKE '011%';

문자의 개수까지 지장할 경우에는 아래의 쿼리 문장처럼 사용하면 돼. 아래의 쿼리 문장은 modelnumber 필드가 011로 시작하고 뒤에 3글자가 더 붙는 모든 데이터를 조회하는 문장이야.

mysql> SELECT * FROM products
	->	WHERE modelnumber LIKE '011___';

데이터 정렬하기

데이터 정렬은 ORDER BY 명령어를 사용해. 아래의 문장은 products 테이블 안의 데이터를 name 필드를 기준으로 오름차순으로 정렬하는 문장이야.

mysql> SELECT id, name, series FROM products
	->	ORDER BY name;

오름차순과 내림차순을 구분할 때는 ASC 또는 DESC 명령어를 사용해.

mysql> SELECT id, name, series FROM products
	->	ORDER BY name DESC;

특정 위치의 데이터 선택하기

특정 위치의 데이터를 선택할 때는 LIMIT 명령어를 사용해. 아래는 products 테이블에서 상위 데이터를 2개 선택하는 문장이야.

mysql> SELECT * FROM products LIMIT 2;

아래와 같이 LIMIT 명령어 뒤에 2를 추가하면 특정 위치에서 특정 개수의 데이터를 선택할 수 있어.

mysql> SELECT * FROM products LIMIT 2, 2;

LIMIT 명령어는 전자상거래 사이트의 게시판 등에서 목록을 나누어 표시할 때 사용하는데 페이징을 구현하는 기본적인 테이블 명령어야.

* SELECT 명령어와 다른 명령어를 함께 사용할 경우에는 아래와 같이 SELECT, FROM, WHERE, ORDER BY, LIMIT 명령어 순서로 입력해야 해.

mysql> SELECT id, name, modelnumber FROM products
	->	WHERE (id < 7) AND (modelnumber LIKE '011%')
	->	ORDER BY name DESC
	->	LIMIT 3;

데이터 그룹화하기

데이터 그룹화는 DB에서 가장 어려운 부분으로 기본적으로 그룹화 명령어는 GROUP BY를 사용해. 아래 명령어는 series 필드를 그룹으로 묶어주는 문장이야.

mysql> SELECT series FROM products
	->	GROUP BY series;

데이터 수정하기

데이터 수정은 UPDATE 명령어를 사용해. 아래는 id 필드가 4인 데이터의 name 필드를 변경하는 문장이야. UPDATE 명령어를 사용할 때 WHERE 명령어를 함께 사용하지 않으면 모든 데이터의 name 속성이 변경되기 때문에 주의가 필요해.

mysql> UPDATE products
	->	SET name='American Deluxe Telecaster', modelnumber = '0'
	->	WHERE id = 4;

데이터 삭제하기

데이터 삭제는 DELETE 명령어를 사용하는데 마찬가지로 WHERE 명령어를 함께 사용하지 않으면 모든 데이터가 삭제돼.

mysql> DELETE FROM products
	->	WHERE id = 10;

테이블, 데이터베이스 삭제하기

테이블을 삭제할 때는 아래와 같은 명령어를 사용해.

mysql> DROP TABLE products;

데이터베이스는 아래의 명령어를 사용해.

mysql> DROP DATABASE Company;

Leave a Reply

Your email address will not be published. Required fields are marked *

Latest Post