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

Related Posts

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

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

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

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

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

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

MariaDB / 함수 / FIND_IN_SET / 특정 문자열의 위치를 출력하는 함수

MariaDB / 함수 / FIND_IN_SET / 특정 문자열의 위치를 출력하는 함수

FIND_IN_SET은 특정 문자열의 위치를 출력하는 함수입니다. FIND_IN_SET( pattern, string_list ) A, B, C, D에서 B가 몇 번째 위치하는지를 출력합니다. 두 번째에 있으므로 출력하는 값은 2입니다. SELECT FIND_IN_SET( 'B', 'A,B,C,D' ); +-------------------------------+ | FIND_IN_SET( 'B', 'A,B,C,D' ) | +-------------------------------+ | ...

MariaDB / 함수 / FORMAT / 숫자 세 자리마다 쉼표(콤마) 찍는 함수

MariaDB / 함수 / FORMAT / 숫자 세 자리마다 쉼표(콤마) 찍는 함수

FORMAT FORMAT은 숫자 세 자리마다 쉼표(콤마) 찍는 함수입니다. 예제 123456789에서 세 자리마다 쉼표를 넣습니다. MariaDB > SELECT FORMAT(123456789, 0) as Money; +-------------+ | Money | +-------------+ | 123,456,789 | +-------------+ 값이 숫자 형식이 아니어도 가능합니다. MariaDB > SELECT FORMAT('123456789', 0) as Money; +-------------+ | Money | +-------------+ | 123,456,789 | +-------------+ 0이 뜻하는 것은 소숫점 ...

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

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

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

MariaDB / 함수 / ELT / 특정 위치의 문자열 출력하는 함수

MariaDB / 함수 / ELT / 특정 위치의 문자열 출력하는 함수

ELT는 특정 위치의 문자열을 출력하는 함수입니다. ELT( N, string1, string2, string3, ... ) A, B, C, D에서 2번째의 문자열인 B를 출력합니다. SELECT ELT( 2, 'A', 'B', 'C', 'D' ); +------------------------------+ | ELT( 2, 'A', 'B', 'C', 'D' ) | +------------------------------+ | B ...

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 / 함수 / IF, IFNULL, NULLIF

MariaDB / 함수 / IF, IFNULL, NULLIF

IF 문법 IF( expression1, expression2, expression3 ) expression1가 참이면 expression2를, 거짓이면 expression3을 반환합니다. 예제 SELECT IF( 2>3, 'T', 'F' ); +---------------------+ | IF( 2>3, 'T', 'F' ) | +---------------------+ | F | +---------------------+ 2>3이 거짓이므로 F를 반환합니다. SELECT IF( 2<3, 'T', 'F' ); +---------------------+ | IF( ...

MariaDB / 함수 / REPLACE / 문자열 찾아서 바꾸는 함수

MariaDB / 함수 / REPLACE / 문자열 찾아서 바꾸는 함수

REPLACE는 특정 문자열을 찾아 다른 문자열로 바꾸는 함수입니다. REPLACE( string, from_string, to_string ) string : 찾아서 바꾸는 대상이 되는 문자열 from_string : 찾을 문자열 to_string : 교체될 문자열 아래는 ababab에서 b를 찾아 c로 바꾸는 예제입니다. SELECT REPLACE( 'ababab', 'b', 'c' ); +-------------------------------+ | REPLACE( 'ababab', 'b', 'c' ) | +-------------------------------+ | acacac ...

MariaDB / Query / LEFT JOIN, RIGHT JOIN, INNER JOIN

MariaDB / Query / LEFT JOIN, RIGHT JOIN, INNER JOIN

JOIN SQL의 JOIN은 여러 테이블을 한 번에 나타낼 때 사용합니다. 대표적인 JOIN 방식은 LEFT JOIN, RIGHT JOIN, INNER JOIN이 있습니다. 다음은 세 가지 JOIN의 차이를 알아보기 위한 간단한 예제 테이블입니다. A 테이블에는 나라, B 테이블에는 도시가 있습니다. 도시가 어떤 나라의 도시인지는 a_no로 확인합니다. 나라는 있는데 도시가 없는 것도 있고, 나라는 없는데 도시는 있는 것도 있습니다. A ...