MariaDB / DATA / 데이터 추가(INSERT), 수정(UPDATE), 삭제(DELETE)

데이터베이스와 테이블 만들기

test 데이터베이스를 만듭니다.

MariaDB [(none)]> create database test;
Query OK, 1 row affected (0.00 sec)

test 데이터베이스를 사용합니다.

MariaDB [(none)]> use test;
Database changed

table_1 테이블을 만듭니다.

MariaDB [test]> CREATE TABLE table_1 (
    -> column_1 varchar(100),
    -> column_2 varchar(100),
    -> column_3 varchar(100)
    -> );
Query OK, 0 rows affected (0.03 sec)
MariaDB [test]> DESC table_1;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| column_1 | varchar(100) | YES  |     | NULL    |       |
| column_2 | varchar(100) | YES  |     | NULL    |       |
| column_3 | varchar(100) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

데이터 추가 - INSERT

데이터를 추가하는 명령어는 INSERT입니다. 모든 컬럼에 값을 넣을 때는 다음과 같이 합니다.

MariaDB [test]> INSERT INTO table_1 VALUES ( 'a', 'aa', 'aaa' );
Query OK, 1 row affected (0.01 sec)
MariaDB [test]> SELECT * FROM table_1;
+----------+----------+----------+
| column_1 | column_2 | column_3 |
+----------+----------+----------+
| a        | aa       | aaa      |
+----------+----------+----------+
1 row in set (0.00 sec)

일부 컬럼에만 값을 넣을 때는 다음과 같이 합니다.

MariaDB [test]> INSERT INTO table_1 ( column_1, column_2 ) VALUES ( 'b', 'bb' );
Query OK, 1 row affected (0.01 sec)
MariaDB [test]> SELECT * FROM table_1;
+----------+----------+----------+
| column_1 | column_2 | column_3 |
+----------+----------+----------+
| a        | aa       | aaa      |
| b        | bb       | NULL     |
+----------+----------+----------+
2 rows in set (0.00 sec)

데이터 수정 - UPDATE

데이터를 수정하는 명령어는 UPDATE입니다. 모든 데이터의 특정 컬럼 값을 변경하고 싶다면 다음과 같이 합니다.

MariaDB [test]> UPDATE table_1 SET column_1 = 'z';
Query OK, 2 rows affected (0.01 sec)
Rows matched: 2  Changed: 2  Warnings: 0
MariaDB [test]> SELECT * FROM table_1;
+----------+----------+----------+
| column_1 | column_2 | column_3 |
+----------+----------+----------+
| z        | aa       | aaa      |
| z        | bb       | NULL     |
+----------+----------+----------+
2 rows in set (0.00 sec)

특정 데이터의 값을 변경하고 싶다면 WHERE를 사용합니다.

MariaDB [test]> UPDATE table_1 SET column_1 = 'x' WHERE column_2 = 'aa';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0
MariaDB [test]> SELECT * FROM table_1;
+----------+----------+----------+
| column_1 | column_2 | column_3 |
+----------+----------+----------+
| x        | aa       | aaa      |
| z        | bb       | NULL     |
+----------+----------+----------+
2 rows in set (0.00 sec)

여러 개의 컬럼 값을 변경하고 싶다면 쉼표를 사용합니다.

MariaDB [test]> UPDATE table_1 SET column_1 = 'y', column_2 = 'yy' WHERE column_3 = 'aaa';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0
MariaDB [test]> SELECT * FROM table_1;
+----------+----------+----------+
| column_1 | column_2 | column_3 |
+----------+----------+----------+
| y        | yy       | aaa      |
| z        | bb       | NULL     |
+----------+----------+----------+
2 rows in set (0.01 sec)

데이터 삭제 - DELETE

데이터를 삭제하는 명령어는 DELETE입니다. 특정 데이터를 삭제하려면 WHERE를 사용합니다.

MariaDB [test]> DELETE FROM table_1 WHERE column_1 = 'y';
Query OK, 1 row affected (0.00 sec)
MariaDB [test]> SELECT * FROM table_1;
+----------+----------+----------+
| column_1 | column_2 | column_3 |
+----------+----------+----------+
| z        | bb       | NULL     |
+----------+----------+----------+
1 row in set (0.00 sec)

WHERE가 없이 DELETE를 사용하면 모든 데이터를 삭제합니다.

MariaDB [test]> DELETE FROM table_1;
Query OK, 1 row affected (0.01 sec)
같은 카테고리의 다른 글
DBeaver / MariaDB / CSV 가져오기

DBeaver / MariaDB / CSV 가져오기

대량의 데이터를 CSV 파일로 만들어서 테이블에 삽입할 수 있다. 명령어로도 가능하지만 툴을 이용하는 게 편하다. DBeaver에서 CSV 데이터를 Import하는 방법을 알아본다. CSV의 열과 테이블의 열이 일치하는 경우 다음과 같은 테이블이 있다고 하자. ID는 PRIMARY KEY로 자동 증가 값이다. 엑셀이나 메모장 등으로 CSV 파일을 만든다. 1행에는 열 이름을 넣는다. 자동 증가 값을 가지는 ID의 경우 ...

MariaDB / HeidiSQL / TIP

MariaDB / HeidiSQL / TIP

주석 설정하기 해제하기 주석으로 만들려는 코드를 선택합니다. 마우스 우클릭 후 를 클릭하면... 각 행에 --가 붙으면서 주석 처리가 됩니다. 주석을 선택한 상태에서 를 클릭하면 주석이 해제됩니다. 예약어 대문자로 만들기 예약어는 대소문자를 구분하지 않지만, 보통 대문자로 입력합니다. 대문자와 소문자를 번갈아 입력하는 것은 번거롭습니다. 다행이 HeidiSQL에는 예약어를 대문자로 바꿔주는 기능이 있습니다. 쿼리 창에서 마우스 우클릭하고 을 ...

MariaDB / Query / DISTINCT / 중복 데이터 제거

MariaDB / Query / DISTINCT / 중복 데이터 제거

DISTINCT를 이용하면 중복 값을 제거할 수 있습니다. 예를 들어 다음과 같은 test 테이블이 있다고 할 때... SELECT * FROM test; +---------+---------+---------+ | Column1 | Column2 | Column3 | +---------+---------+---------+ | 1 | A | 1 | | ...

MariaDB / DATABASE / 만들기, 삭제하기, 이름 변경하기

MariaDB / DATABASE / 만들기, 삭제하기, 이름 변경하기

데이터베이스 조회 데이터베이스 목록을 조회한다. SHOW DATABASES; 데이터베이스 만들기 test라는 이름의 데이터베이스를 만든다. CREATE DATABASE test; 이미 존재하는 데이터베이스와 같은 이름의 데이터베이스를 만들려고 하면 에러가 난다. 같은 이름의 데이터베이스가 존재하지 않을 때만 만들고 싶다면 IF NOT EXISTS를 추가한다. CREATE DATABASE IF NOT EXISTS test; 마침표 등 특별한 문자를 포함하는 경우에 에러가 난다. 억음 부호로 이름을 감싸면 에러가 나지 않는다. CREATE DATABASE ...

MariaDB / 함수 / COUNT, SUM, AVG, MAX, MIN

MariaDB / 함수 / COUNT, SUM, AVG, MAX, MIN

예제로 사용한 데이터베이스는 employees입니다. COUNT COUNT는 특정 조건을 만족하는 행의 개수를 세는 함수입니다. employees 테이블의 전체 행 개수를 구합니다. 의미 상 전체 직원 수를 구하는 것입니다. SELECT COUNT( * ) AS Count FROM employees ; +----------+ | Count | +----------+ | 300024 | +----------+ WHERE를 이용하여 조건을 추가할 수 있습니다. 다음은 남자 직원의 수를 구하는 쿼리입니다. SELECT ...

MariaDB / 피벗 테이블 만들기

MariaDB / 피벗 테이블 만들기

피벗 테이블은 엑셀의 유용한 기능 중의 하나이다. 예를 들어 아래의 왼쪽 데이터를 오른쪽 표처럼 만드는 것이 피벗 테이블이다. 조건에 따라 그룹화시켜서 보기 좋게 데이터를 정리하는 것이라 보면 된다. MariaDB에서도 몇 가지 함수를 이용하여 피벗 테이블을 만들 수 있다. 테이블의 이름이 pivot이라 가정하면, 아래처럼 쿼리를 짜면 된다. SELECT company , ...

DBeaver / MariaDB / 기본 키(PRIMARY KEY) 만들기, 삭제하기

DBeaver / MariaDB / 기본 키(PRIMARY KEY) 만들기, 삭제하기

기본 키 만들기 기본 키를 만들 테이블을 더블 클릭합니다. Properties 탭에서 를 클릭합니다. 마우스 우클릭하여 를 클릭하거나, 아래쪽에 있는 아이콘을 클릭합니다. 기본 키로 만들 열을 선택하고 를 클릭합니다. 를 클릭하고... 를 클릭하면... 기본 키 설정이 완료됩니다. 기본 키 삭제하기 기본 키를 선택하고 마우스 우클릭한 후 를 클릭하거나, 아래쪽에 있는 휴지통 아이콘을 클릭하고... 를 클릭한 후... 를 클릭하면 기본 키가 ...

DBeaver / MariaDB / 테이블 만들기, 삭제하기

DBeaver / MariaDB / 테이블 만들기, 삭제하기

테이블 만들기 데이터베이스를 선택하고 마우스 우클릭합니다. 을 클릭하면... 다음과 같은 화면이 나옵니다. 테이블 이름을 정하고... 마우스 우클릭 후 을 클릭하거나, 아래에 있는 아이콘을 클릭하여... 열을 만듭니다. 를 클릭하고... 를 클릭하면... 테이블이 만들어집니다. 테이블 삭제하기 테이블을 선택하고 마우스 우클릭 후 를 클릭합니다. 를 클릭하면 테이블이 삭제됩니다.

MariaDB / 함수 / CONCAT, CONCAT_WS / 문자열 합치는 함수

MariaDB / 함수 / CONCAT, CONCAT_WS / 문자열 합치는 함수

예제로 사용한 데이터베이스는 employees입니다. CONCAT CONCAT은 문자열을 이어주는 함수입니다. 예를 들어 CONCAT( first_name, last_name )는 first_name의 값과 last_name의 값을 이어서 출력합니다. MariaDB > SELECT first_name, last_name, CONCAT( first_name, last_name ) FROM employees LIMIT 5; +------------+-----------+---------------------------------+ | first_name | last_name | CONCAT( first_name, last_name ) | +------------+-----------+---------------------------------+ | Georgi | Facello | GeorgiFacello ...

MariaDB / 함수 / INSERT / 일정 구간 문자열 교체하는 함수

MariaDB / 함수 / INSERT / 일정 구간 문자열 교체하는 함수

INSERT는 일정 구간의 문자열을 다른 문자열로 교체하는 함수입니다. INSERT( string, position, length, new-string ) string : 원본 문자열입니다. position : 구간이 시작하는 위치입니다. length : 구간의 길이입니다. new-string : 교체될 문자열입니다. 예를 들어 다음과 같은 경우, 1234567에서 4번째 문자부터 2개를 지우고 ABC를 넣습니다. 즉, 45를 지우고 ABC를 넣습니다. MariaDB > SELECT INSERT( '1234567', 4, 2, 'ABC' ...