My Structured Query Language의 약자로 가장 널리 사용되고 있는 관계형 데이터베이스 중 하나이다. 관계형 데이터베이스는 서로 관계를 맺는 여러 테이블에 항목을 나누어 저장하고 필요한 부분을 추출해서 사용하는 데이터베이스 관리 시스템이다.
mysql -uA -p
: A라는 유저의 로그인창을 띄운다.
CREATE DATABASE A
: A라는 데이터베이스를 생성한다.
DROP DATABASE A
: A라는 데이터베이스를 제거한다.
SHOW DATABASES
: 존재하는 데이터베이스들을 보여준다.
SHOW TABLES
: 존재하는 테이블들을 보여준다
DESC A
: A라는 테이블의 구조를 보여준다.
USE A
: A라는 데이터베이스에 접속한다.
CREATE TABLE A()
: A라는 테이블을 생성한다.
CREATE TABLE A(
//최대 11자리의 int값을 가지고, NULL일수 없으며, 자동으로 증가하는 id라는 이름의 column
id INT(11) NOT NULL AUTO_INCREMENT,
//최대 100자리의 char값을 가지고, NULL일수 없는 title이라는 이름의 column
title VARCHAR(100) NOT NULL,
//text값을 가지고, NULL일수 있는 description이라는 이름의 column
description TEXT NULL,
//datetime값을 가지고, NULL일수 없는 created라는 이름의 column
created DATETIME NOT NULL,
//id를 PRIMARY KEY값으로 지정
PRIMARY KEY(id)
);
RENAME TABLE a TO b
: 테이블 a의 이름을 b로 변경한다
INSERT INTO test(a, b, c) VALUES('A', 'B', 'NOW()')
: test이라는 테이블에 a=A, b=B, c=현재시간 을 가진 row를 삽입한다.
SELECT * FROM test
: test라는 테이블을 선택한다.
SELECT a, b, c FROM test
: test에서 a, b, c column을 선택한다.
SELECT * FROM test WHERE a='A'
: test에서 a column의 값이 a인 데이타만 선택한다.
SELECT * FROM test ORDER BY a DESC LIMIT 2
: test에서 a column을 기준으로 큰 값 순으로 최소 2까지 선택한다.
SELECT a AS aa FROM test
: test에서 a라는 column을 aa로 이름을 바꾸어 선택한다.
SELECT * FROM table LEFT JOIN a ON table.a.id = a.id
: table의 a.id값을 a의 id값과 연동해 선택한다.
UPDATE test SET a='A' b='B' WHERE id=2
: test에서 id가 2인 데이터의 a를 A로, b를 B로 설정한다.
DELETE FROM test WHERE id = 2
: id가 2인 데이터를 test에서 삭제한다.
DELETE FROM test WHERE id in (1,2,3)
: id가 1,2,3인 데이터를 test에서 삭제한다.
DELETE FROM test WHERE id > 3
: id가 3 초과인 데이터를 test에서 삭제한다.
ALTER TABLE test AUTO_INCREMENT = startValue
: test의 AUTO_INCREMENT 시작값을 startValue로 바꾼다.
ALTER TABLE test ADD COLUMN column VARCHAR(15)
: test에 column이라는 VARCHAR(15)의 속성을 가진 열을 추가한다.
\! clear
: 콘솔을 클리어한다.