MySQL 명령어는 웹 프로그래밍 할 때, 데이터베이스를 정의하는 내용은 크게 사용되지 않을 수 있습니다.

그러나 DML(Data Manipulation Language) 명령어 즉, 데이터 조작어가 매우 많이 사용됩니다.


이 언어는 PHP, Python Flask, Python Django 등과 같은 서버사이트 언어에서 많이 사용되며, 문법은 MySQL의 방법을 그대로 사용합니다.

때문에 이번에는 DML 명령어들이 대해 정리해보려고 합니다.


명령어의 종류는 SELECT, INSERT, UPDATE, DELETE가 있습니다.

위와 같은 명령어는 조건문을 붙여서 보다 능동적이게 명령어를 활용할 수 있습니다.






 

 SELECT 명령어


SELECT 명령어는 생성되어 있는 테이블에서 원하는 값을 선택하여 가져오고 싶을 때 사용하는 명령어 입니다.

명령어를 살펴보도록 하겠습니다.


-- 기본 선택 명령어(table_name 테이블에서 모두 가져오기)
SELECT * FROM [table_name];

-- WHERE문 포함 선택 명령어(table_name 테이블에서 name이 '깜이군'인 값 가져오기
SELECT * FROM [table_name] WHERE name='깜이군'; 

SELECT * FROM [table_name] WHERE name LIKE '깜이군';

-- 애매한 것도 모두 선택하는 명령어(table_name 테이블에서 name에 '깜이'가 들어가는 것 모두 가져오기)
SELECT * FROM [table_name] WHERE name LIKE '%깜이%';

-- 선택 후 name 컬럼으로 오름차순 정렬하는 명령어(ASC 없어도 가능)
SELECT * FROM [table_name] ORDER BY name;
SELECT * FROM [table_name] ORDER BY name ASC;

-- 선택 후 name 컬럼으로 내림차순 정렬하는 명령어
SELECT * FROM [table_name] ORDER BY name DESC;

-- 선택 후 여러 컬럼으로 정렬하는 명령어(우선순위 name > email)
SELECT * FROM [table_name[ ORDER BY name, email;


위와 같이 다양한 방법으로 SELECT문을 사용할 수 있습니다.

위의 방법 이외에도 다양한 조건문을 활용하거나 MySQL 내의 함수를 활용하여 사용할 수도 있습니다.






 

 INSERT 명령어


INSERT 명령어는 생성되어 있는 테이블에 원하는 값을 삽입하는 기능을 가진 명령어 입니다.

명령어를 살펴보도록 하겠습니다.


-- Table Example
-- CREATE TABLE testTable( idx INT PRIMARY KEY AUTO_INCREMENT,
--	                       name VARCHAR(255) NOT NULL,
--                         email VARCHAR(255) NOT NULL
--                       )CHARSET=utf8;

-- 테이블에 값을 삽입함
INSERT INTO testTable( name, email ) VALUES ('kkamikoon', 'kkamikoon@test.com');

-- idx는 AUTO_INCREMENT라 딱히 설정해주지 않아도 됨


위와 같이 테이블이 있다고 가정하고, 값을 삽입해보았습니다.

설명을 작성해두었지만, idx의 경우 AUTO_INCREMENT이기 때문에 테이블 필드 이름과 데이터 값을 따로 지정해주지 않아도 됩니다.

이는 1씩 자동적으로 증가한다는 의미입니다.






 

 UPDATE 명령어


UPDATE 명령어는 생성되어 있는 테이블에 삽입되어 있는 값을 수정해주는 기능을 가진 명령어입니다.

명령어를 살펴보도록 하겠습니다.


-- Table Example
-- CREATE TABLE testTable( idx INT PRIMARY KEY AUTO_INCREMENT,
--	                       name VARCHAR(255) NOT NULL,
--                         email VARCHAR(255) NOT NULL
--                       )CHARSET=utf8;

-- idx가 1인 컬럼의 name을 변경함
UPDATE testTable SET name='새로운깜이군' WHERE idx=1;

-- 전체 name을 변경함
UPDATE testTable SET name='새로운깜이군';


업데이트는 삽입되어 있는 값을 수정해주는 만큼 조건문이 필요합니다.

수정하고자 하는 값을 특정해주고 변경을 해줘야 원하는 결과를 얻을 수 있습니다.

만약 WHERE문이 없이 UPDATE를 수행한다면 모든 값이 업데이트한 값으로 바뀝니다.






 

 DELETE 명령어


DELETE 명령어는 생성되어 있는 테이블에 삽입되어 있는 값을 삭제해주는 기능을 가진 명령어입니다.

명령어를 살펴보도록 하겠습니다.


-- Table Example
-- CREATE TABLE testTable( idx INT PRIMARY KEY AUTO_INCREMENT,
--	                       name VARCHAR(255) NOT NULL,
--                         email VARCHAR(255) NOT NULL
--                       )CHARSET=utf8;

-- idx가 1인 값을 삭제함
DELETE FROM testTable WHERE idx=1;

-- testTable의 전체 값을 삭제함
DELETE FROM testTable;


DELETE 명령어도 UPDATE와 마찬가지로 값을 특정해주지 않으면 전체 값이 DELETE되는 특징이 있습니다.

원하는 곳을 적절히 삭제하기 위해서는 WHERE문으로 조건을 달아주어야 합니다.



+ Recent posts