MariaDB / TABLE / 열 추가하기, 열 삭제하기, 열 순서 변경하기, 열 데이터 타입 변경하기

데이터베이스 만들기

  • 열(Column) 추가, 삭제 등을 해볼 테스트용 데이터베이스 jbTest를 만듭니다.
CREATE DATABASE jbTest;
  • 데이터베이스로 들어갑니다.
USE jbTest;
  • jbColumn1, jbColumn2, jbColumn3 세 개의 열을 가진 테이블 jbTable1을 만듭니다.
CREATE TABLE jbTable1 (
	jbColumn1 INT,
	jbColumn2 INT,
	jbColumn3 INT
)
;
  • 다음은 현재 테이블 구조입니다.
MariaDB [jbTest]> DESC jbTable1;
+-----------+---------+------+-----+---------+-------+
| Field     | Type    | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| jbColumn1 | int(11) | YES  |     | NULL    |       |
| jbColumn2 | int(11) | YES  |     | NULL    |       |
| jbColumn3 | int(11) | YES  |     | NULL    |       |
+-----------+---------+------+-----+---------+-------+

열 추가하기

  • jbTable1에 jbColumn4 열을 추가합니다.
ALTER TABLE jbTable1
ADD jbColumn4 INT
;
  • 열은 제일 뒤에 추가됩니다.
MariaDB [jbTest]> DESC jbTable1;
+-----------+---------+------+-----+---------+-------+
| Field     | Type    | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| jbColumn1 | int(11) | YES  |     | NULL    |       |
| jbColumn2 | int(11) | YES  |     | NULL    |       |
| jbColumn3 | int(11) | YES  |     | NULL    |       |
| jbColumn4 | int(11) | YES  |     | NULL    |       |
+-----------+---------+------+-----+---------+-------+
  • 여러 개의 열을 한 번에 추가할 수 있습니다.
ALTER TABLE jbTable1
ADD (
	jbColumn5 INT,
	jbColumn6 INT
)
;
MariaDB [jbTest]> DESC jbTable1;
+-----------+---------+------+-----+---------+-------+
| Field     | Type    | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| jbColumn1 | int(11) | YES  |     | NULL    |       |
| jbColumn2 | int(11) | YES  |     | NULL    |       |
| jbColumn3 | int(11) | YES  |     | NULL    |       |
| jbColumn4 | int(11) | YES  |     | NULL    |       |
| jbColumn5 | int(11) | YES  |     | NULL    |       |
| jbColumn6 | int(11) | YES  |     | NULL    |       |
+-----------+---------+------+-----+---------+-------+
  • 첫번째 열로 추가하고 싶다면 FIRST를 붙입니다.
ALTER TABLE jbTable1
ADD jbColumn0 INT
FIRST
;
MariaDB [jbTest]> DESC jbTable1;
+-----------+---------+------+-----+---------+-------+
| Field     | Type    | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| jbColumn0 | int(11) | YES  |     | NULL    |       |
| jbColumn1 | int(11) | YES  |     | NULL    |       |
| jbColumn2 | int(11) | YES  |     | NULL    |       |
| jbColumn3 | int(11) | YES  |     | NULL    |       |
| jbColumn4 | int(11) | YES  |     | NULL    |       |
| jbColumn5 | int(11) | YES  |     | NULL    |       |
| jbColumn6 | int(11) | YES  |     | NULL    |       |
+-----------+---------+------+-----+---------+-------+
  • 특정 열 뒤에 삽입하고 싶다면 AFTER를 이용합니다.
ALTER TABLE jbTable1
ADD jbColumn7 INT
AFTER jbColumn2
;
MariaDB [jbTest]> DESC jbTable1;
+-----------+---------+------+-----+---------+-------+
| Field     | Type    | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| jbColumn0 | int(11) | YES  |     | NULL    |       |
| jbColumn1 | int(11) | YES  |     | NULL    |       |
| jbColumn2 | int(11) | YES  |     | NULL    |       |
| jbColumn7 | int(11) | YES  |     | NULL    |       |
| jbColumn3 | int(11) | YES  |     | NULL    |       |
| jbColumn4 | int(11) | YES  |     | NULL    |       |
| jbColumn5 | int(11) | YES  |     | NULL    |       |
| jbColumn6 | int(11) | YES  |     | NULL    |       |
+-----------+---------+------+-----+---------+-------+

열 삭제하기

  • jbTable1에서 jbColumn0을 삭제합니다.
ALTER TABLE jbTable1
DROP jbColumn0
;
MariaDB [jbTest]> DESC jbTable1;
+-----------+---------+------+-----+---------+-------+
| Field     | Type    | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| jbColumn1 | int(11) | YES  |     | NULL    |       |
| jbColumn2 | int(11) | YES  |     | NULL    |       |
| jbColumn7 | int(11) | YES  |     | NULL    |       |
| jbColumn3 | int(11) | YES  |     | NULL    |       |
| jbColumn4 | int(11) | YES  |     | NULL    |       |
| jbColumn5 | int(11) | YES  |     | NULL    |       |
| jbColumn6 | int(11) | YES  |     | NULL    |       |
+-----------+---------+------+-----+---------+-------+

열 순서 변경하기

  • jbColumn7을 맨 앞으로 이동합니다. 데이터 타입도 같이 적어야 합니다.
ALTER TABLE jbTable1
MODIFY jbColumn7 INT
FIRST
;
MariaDB [jbTest]> DESC jbTable1;
+-----------+---------+------+-----+---------+-------+
| Field     | Type    | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| jbColumn7 | int(11) | YES  |     | NULL    |       |
| jbColumn1 | int(11) | YES  |     | NULL    |       |
| jbColumn2 | int(11) | YES  |     | NULL    |       |
| jbColumn3 | int(11) | YES  |     | NULL    |       |
| jbColumn4 | int(11) | YES  |     | NULL    |       |
| jbColumn5 | int(11) | YES  |     | NULL    |       |
| jbColumn6 | int(11) | YES  |     | NULL    |       |
+-----------+---------+------+-----+---------+-------+
  • 특정 열 뒤로 이동하고 싶다면 AFTER를 이용합니다.
ALTER TABLE jbTable1
MODIFY jbColumn7 INT
AFTER jbColumn6
;
MariaDB [jbTest]> DESC jbTable1;
+-----------+---------+------+-----+---------+-------+
| Field     | Type    | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| jbColumn1 | int(11) | YES  |     | NULL    |       |
| jbColumn2 | int(11) | YES  |     | NULL    |       |
| jbColumn3 | int(11) | YES  |     | NULL    |       |
| jbColumn4 | int(11) | YES  |     | NULL    |       |
| jbColumn5 | int(11) | YES  |     | NULL    |       |
| jbColumn6 | int(11) | YES  |     | NULL    |       |
| jbColumn7 | int(11) | YES  |     | NULL    |       |
+-----------+---------+------+-----+---------+-------+

열 이름 변경하기, 데이터 타입 변경하기

  • jbColumn1을 jbColumn0으로 변경합니다.
ALTER TABLE jbTable1
CHANGE jbColumn1 jbColumn0 INT
;
MariaDB [jbTest]> DESC jbTable1;
+-----------+---------+------+-----+---------+-------+
| Field     | Type    | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| jbColumn0 | int(11) | YES  |     | NULL    |       |
| jbColumn2 | int(11) | YES  |     | NULL    |       |
| jbColumn3 | int(11) | YES  |     | NULL    |       |
| jbColumn4 | int(11) | YES  |     | NULL    |       |
| jbColumn5 | int(11) | YES  |     | NULL    |       |
| jbColumn6 | int(11) | YES  |     | NULL    |       |
| jbColumn7 | int(11) | YES  |     | NULL    |       |
+-----------+---------+------+-----+---------+-------+
  • jbColumn0의 데이터 타입을 VARCHAR(10)으로 변경합니다.
ALTER TABLE jbTable1
CHANGE jbColumn0 jbColumn0 VARCHAR(10)
;
MariaDB [jbTest]> DESC jbTable1;
+-----------+-------------+------+-----+---------+-------+
| Field     | Type        | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| jbColumn0 | varchar(10) | YES  |     | NULL    |       |
| jbColumn2 | int(11)     | YES  |     | NULL    |       |
| jbColumn3 | int(11)     | YES  |     | NULL    |       |
| jbColumn4 | int(11)     | YES  |     | NULL    |       |
| jbColumn5 | int(11)     | YES  |     | NULL    |       |
| jbColumn6 | int(11)     | YES  |     | NULL    |       |
| jbColumn7 | int(11)     | YES  |     | NULL    |       |
+-----------+-------------+------+-----+---------+-------+
  • 열 이름과 데이터 타입을 동시에 변경할 수 있습니다.
ALTER TABLE jbTable1
CHANGE jbColumn0 jbColumn1 INT
;
MariaDB [jbTest]> DESC jbTable1;
+-----------+---------+------+-----+---------+-------+
| Field     | Type    | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| jbColumn1 | int(11) | YES  |     | NULL    |       |
| jbColumn2 | int(11) | YES  |     | NULL    |       |
| jbColumn3 | int(11) | YES  |     | NULL    |       |
| jbColumn4 | int(11) | YES  |     | NULL    |       |
| jbColumn5 | int(11) | YES  |     | NULL    |       |
| jbColumn6 | int(11) | YES  |     | NULL    |       |
| jbColumn7 | int(11) | YES  |     | NULL    |       |
+-----------+---------+------+-----+---------+-------+
같은 카테고리의 다른 글
DBeaver / MariaDB / 테이블 만들기, 삭제하기

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

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

MariaDB / 샘플 데이터베이스 employees 설치하기

MariaDB / 샘플 데이터베이스 employees 설치하기

데이터베이스를 다루는 공부를 할 때 데이터가 들어있는 데이터베이스가 있으면 좋다. 데이터베이스를 직접 만드는 방법도 있지만, 공개된 샘플 데이터베이스를 이용하면 편하다. MariaDB라면 test_db를 사용하면 된다. 다음은 MariaDB에 test_db를 설치하는 방법이다. GitHub에 있는 test_db 페이지에 접속한다. Clone or download를 클릭한 다음 다운로드한다. 서버에 업로드한 다음 압축을 푼다. employees.sql가 있는 폴더에서 다음과 같이 명령하여 데이터베이스를 설치한다. mysql -u root ...

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

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

테이블 만들기 test 데이터베이스를 만듭니다. MariaDB > CREATE DATABASE test; Query OK, 1 row affected (0.00 sec) test 데이터베이스를 사용합니다. MariaDB > USE test; Database changed table1을 만듭니다. 열이 하나도 없으면 테이블이 만들어지지 않으므로, 적어도 하나 이상의 열을 만듭니다. MariaDB > CREATE TABLE table1 ( column1 VARCHAR(100) ); Query OK, 0 rows affected (0.35 sec) 테이블이 만들어졌는지 확인합니다. MariaDB > SHOW ...

MariaDB / HeidiSQL / MariaDB에 연결하는 방법

MariaDB / HeidiSQL / MariaDB에 연결하는 방법

HeidiSQL로 MariaDB에 접속해보겠습니다. 만약 다른 기기에 있는 MariaDB라면 통신이 가능하도록 포트가 열려 있어야 합니다. MariaDB의 기본 포트는 3306입니다. HeidiSQL을 실행하면 세션 관리자가 열립니다. 를 클릭합니다. 다음과 같은 화면이 나오는데, 네트워크 유형이 MariaDB or MySQL인 것을 확인하고... 서버 정보를 입력합니다. 세션 이름은 적절히 정하고 합니다. 이제 세션 이름을 더블 클릭하거나, 를 클릭하여 접속할 수 있습니다. 아래는 MariaDB에 접속한 ...

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

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

데이터베이스와 테이블 만들기 test 데이터베이스를 만듭니다. MariaDB > create database test; Query OK, 1 row affected (0.00 sec) test 데이터베이스를 사용합니다. MariaDB > use test; Database changed table_1 테이블을 만듭니다. MariaDB > CREATE TABLE table_1 ( -> column_1 varchar(100), -> column_2 varchar(100), -> column_3 varchar(100) -> ...

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 ...

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

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

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

MariaDB / 함수 / LENGTH, BIT_LENGTH, CHAR_LENGTH / 문자열 길이 출력하는 함수

MariaDB / 함수 / LENGTH, BIT_LENGTH, CHAR_LENGTH / 문자열 길이 출력하는 함수

LENGTH LENGTH는 바이트(byte)로 계산된 문자열의 길이를 출력합니다. 영어. 숫자, 특수문자 등은 1로, 한글은 3으로 계산합니다. SELECT LENGTH( 'A1#가' ); +--------------------+ | LENGTH( 'A1#가' ) | +--------------------+ | 6 | +--------------------+ BIT_LENGTH BIT_LENGTH는 비트(bit)로 계산된 문자열의 길이를 출력합니다. 영어, 숫자, 특수문자 등은 ...

MariaDB / SELECT 결과를 INSERT하는 방법

MariaDB / SELECT 결과를 INSERT하는 방법

Z_1 테이블에서 a, b, c 열의 데이터를 Z_2 테이블의 x, y, z 열에 삽입한다고 하자. 우선 Z_1 테이블에서 a, b, c 열의 데이터를 가져오는 쿼리를 만든다. SELECT a, b, c FROM Z_1 ; 그 위에 INSERT를 추가한다. INSERT INTO Z_2 ( x, y, z ) SELECT a, b, ...

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

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

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