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 / 외래 키(Foreign Key) 만들기, 삭제하기

MariaDB / DBeaver / 외래 키(Foreign Key) 만들기, 삭제하기

외래 키(Foreign Key) 만들기 기본 키가 있는 테이블(testTable1)을 만듭니다. 외래 키를 만들 테이블(testTable2)을 만듭니다. 를 클릭합니다. 마우스 우클릭한 후 를 클릭합니다. Column에서 외래 키를 선택하고, Ref Column에서 기본 키를 선택한 후 를 클릭합니다. 를 클릭합니다. 를 클릭하면… 외래 키가 만들어집니다. 외래 키(Foreign Key) 삭제하기 외래 키를 선택한 다음 마우스 우클릭하고 를 클릭합니다. 를 클릭하고… 를 클릭하면 외래 키가 ...

MariaDB / LEFT JOIN, RIGHT JOIN, INNER JOIN

MariaDB / LEFT JOIN, RIGHT JOIN, INNER JOIN

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

MariaDB / DBeaver / 데이터베이스 만들기, 삭제하기

MariaDB / DBeaver / 데이터베이스 만들기, 삭제하기

데이터베이스 만들기 Databases를 선택하고 마우스 우클릭합니다. 팝업 메뉴에서 를 클릭합니다. 데이터베이스 이름을 입력하고, Charset과 Collation을 선택한 후 를 클릭하면… 데이터베이스가 생성됩니다. 데이터베이스 수정하기 왼쪽에서 데이터베이스를 두 번 클릭하면 데이터베이스 정보가 나옵니다. 필요한 수정을 하고 를 클릭한 다음… 팝업 창의 내용을 확인하고 를 클릭하면… 데이터베이스가 수정됩니다. 데이터베이스 삭제하기 데이터베이스를 선택하고 마우스 우클릭합니다. 팝업 메뉴에서 를 클릭하고… 를 클릭하면… 데이터베이스가 삭제됩니다.

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

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

로그인 MariaDB에 로그인합니다. root 계정으로 로그인 한다면 mysql -u root -p 데이터베이스 목록을 조회합니다. MariaDB > SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | +--------------------+ 3 rows in set (0.00 sec) 데이터베이스 ...

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 / DBeaver / 테이블 만들기, 삭제하기

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

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

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 / 함수 / 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 / TABLE / AUTO_INCREMENT / 자동으로 증가하는 값 만들기

MariaDB / TABLE / AUTO_INCREMENT / 자동으로 증가하는 값 만들기

테이블에는 데이터를 특정할 수 있는 고유값이 있는 게 좋습니다. 고유값을 수동으로 넣을 수는 없으므로, 값을 자동으로 증가시키는 AUTO_INCREMENT를 사용합니다. AUTO_INCREMENT로 고유값이 어떻게 만들어지는지 알아보겠습니다. 사용하는 테이블 이름은 test입니다. 자동으로 증가하는 열 만들기 열 이름은 id, 데이터 타입은 정수(INT)로 만듭니다. 데이터 타입 뒤에 AUTO_INCREMENT PRIMARY KEY를 붙입니다. MariaDB > CREATE TABLE test ( id INT AUTO_INCREMENT ...

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