SQL

Structured Query Language

Database server에 요청(질의)할 때 사용하는 언어

RDBMS에 속하는 제품들이 Database server를 제어할 때 사용하는 언어


MySQL 서버접속

mysql 서버접속

cmd에서 MySQL 서버에 접속

mysql이 있는 경로에 들어가 아래 명령을 입력하고 root 비밀번호를 입력하면 서버에 접속할 수 있다.

1
./mysql -uroot -p




Error1820: You must reset your password

기본 비밀번호를 쓰는 경우에 발생하는 에러로,

SET PASSWORD = PASSWORD(‘0000’); 로 해결가능하다.



데이터베이스

생성 & 삭제

database 생성,삭제

1
2
3
CREATE DATABASE databasename;

DROP DATABASE databasename;

목록

show databases

1
SHOW DATABASES;

현재 데이터베이스 목록을 보여주는 기능이다.

사용

use db

1
USE databasename;

사용할 데이터베이스를 선택하는 기능이다.

테이블

생성

create table

NOT NULL 공백을 허용하지 않음
NULL 공백 허용
AUTO_INCREMENT 숫자 데이터 타입에 대해 작동하는 기능으로, 테이블에 레코드가 삽입될 때 마다 자동으로 순차적 값을 생성 ex) id = 1,2,3…,10,11..

PRIMARY KEY |

  • 테이블에서 각 레코드를 유일하게 식별하는 데 사용되며, 테이블의 각 레코드에는 Primary Key 값이 반드시 있어야 한다.
  • 각 레코드에 대해 고유함. (Unique)
  • NULL 값을 허용하지 않음 (NOT NULL)
  • 테이블당 하나의 기본키만 지정 가능


데이터 타입

image

위에서 사용한 데이터 타입만 간단히 설명하자면

VARCHAR(n) nbyte까지 넣을 수 있는 가변길이 문자열 (한글은 2byte 차지하므로 VARCHAR(50)이라면 25자까지 가능)
TEXT 최대 65,535 개의 문자 저장이 가능한 가변 길이 문자열
DATETIME YYYY-MM-DD HH:MM:SS 날짜형식

테이블 구조 보기

describe table

1
DESC tablename;

DESC는 DESCRIBE의 약자로 위 명령을 사용하면 테이블의 구조를 한 눈에 확인할 수 있다.

INSERT

insert into

1
INSERT INTO tablename (column1, column2, column3) VALUES('a', 'b', 'c');

tablename 뒤에 추가하고자 하는 칼럼을 적고 VALUES에 차례대로 원하는 값을 적으면 된다.

(datatime 형식의 필드에서 NOW()를 사용하면 현재날짜와 시간이 자동으로 입력됨)

SELECT

1
SELECT column1, column2 FROM tablename;

전체보기

select

원하는 칼럼만

select 2

LIMIT

LIMIT

데이터가 무지하게 많을 때(몇억개..) 그냥 SELECT를 사용해버리면 컴퓨터가 멈춰버릴 수도 있다.

이 때 LIMIT n 을 주면 n개만큼의 데이터만 조회할 수 있다.

WHERE

WHERE - 테이블에서 특정 조건에 부합하는 데이터만 조회하고 싶을 때 사용

where

(author=’lee’에 해당하는 record만 보기)

ORDER BY

order by desc

원하는 칼럼을 기준으로

ASC는 오름차순

DESC는 내림차순 정렬을 해준다

1
2
SELECT column1, column2,.. FROM tablename ORDER BY column3 ASC;
SELECT column1, column2,.. FROM tablename ORDER BY column3 DESC;

UPDATE

UPDATE는 필드를 수정할 때 쓰인다.

반드시 WHERE절과 함께 어떤 레코드의 값을 변경할 것인지 명시해야한다.

WHERE절을 빠뜨릴 경우 모든 행이 바뀌는 재앙을 맞닥뜨릴 수 있다.

image

1
UPDATE tablename SET column1 = 'value', column2 = 'value' WHERE id = 1;

DELETE

DELETE를 사용할 때에도 반드시 WHERE절과 함께 쓰면서 어떤 레코드의 값을 변경할 것인지 명시해야한다.

image

1
DELETE FROM tablename WHERE id = 1;

Tags: , ,

Categories:

Updated:

Leave a comment