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 / 함수 / QUOTE / 문자열을 작은 따옴표로 감싸는 함수

MariaDB / 함수 / QUOTE / 문자열을 작은 따옴표로 감싸는 함수

QUOTE는 문자열을 작은 따옴표로 감싸는 함수입니다. QUOTE( string ) SELECT QUOTE( 'ABC' ); +----------------+ | QUOTE( 'ABC' ) | +----------------+ | 'ABC' | +----------------+ SELECT QUOTE( "ABC" ); +----------------+ | QUOTE( "ABC" ) | +----------------+ | 'ABC' | +----------------+ 문자열 안에 있는 작은 따옴표는 \'로 표시됩니다. SELECT ...

MariaDB / Query / UNION, UNION ALL

MariaDB / Query / UNION, UNION ALL

UNION 또는 UNION ALL을 이용하면 여러 테이블의 데이터를 합하여 출력할 수 있습니다. 예를 들어 다음과 같은 테이블과... SELECT * FROM test_1; +-------+-------+-------+ | col_1 | col_2 | col_3 | +-------+-------+-------+ | 1 | A | 1 | | 2 | ...

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 / DBeaver / MariaDB에 연결하는 방법

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

MariaDB를 명령어로만 관리하는 것은 힘듭니다. 적절한 툴을 이용하면 작업 속도를 높일 수 있습니다. MariaDB를 관리하는 툴을 여러 가지가 있는데, 그 중 하나가 DBeaver입니다. Free multi-platform database tool for developers, database administrators, analysts and all people who need to work with databases. Supports all popular databases: MySQL, PostgreSQL, SQLite, Oracle, DB2, SQL ...

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 / 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 / Query / DISTINCT / 중복 데이터 제거

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

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

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

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

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

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 / 함수 / REPEAT / 문자열 반복하여 출력하는 함수

MariaDB / 함수 / REPEAT / 문자열 반복하여 출력하는 함수

개요 REPEAT는 문자열을 반복하여 출력하는 함수입니다. REPEAT( string, count ) string : 반복될 문자열 count : 반복 횟수 예제 123을 4번 반복하여 출력합니다. SELECT REPEAT( '123', 4 ); +---------------------+ | REPEAT( '123', 4 ) | +---------------------+ | 123123123123 | +---------------------+ 반복 횟수가 1 미만이면 빈 문자열을 출력합니다. SELECT REPEAT( '123', 0 ); +--------------------+ | REPEAT( '123', 0 ) ...