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 / 기본 키(PRIMARY KEY) 만들기, 삭제하기

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

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

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

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

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

MariaDB / DATABASE / 백업하기, 복원하기

MariaDB / DATABASE / 백업하기, 복원하기

모든 데이터베이스 백업과 복원 백업 모든 데이터베이스를 backup-all.sql로 백업 user는 권한 있는 사용자명으로 변경 mysqldump -u root -p --all-databases > backup-all.sql 복원 backup-all.sql을 복원 user는 권한 있는 사용자명으로 변경 mysql -u root -p < backup-all.sql 특정 데이터베이스 백업과 복원 백업 abc 데이터베이스를 abc.sql로 백업 user는 권한 있는 사용자명으로 변경 mysqldump -u user -p abc > abc.sql 복원 abc.sql을 데이터베이스 abc로 복원 user는 권한 있는 사용자명으로 변경 mysql ...

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 / 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 / 함수 / LTRIM, RTRIM, TRIM / 양끝 문자열 제거 함수

MariaDB / 함수 / LTRIM, RTRIM, TRIM / 양끝 문자열 제거 함수

LTRIM LTRIM은 문자열 왼쪽에 있는 공백을 제거합니다. LTRIM( string ) SELECT QUOTE( LTRIM( ' 12 34 ' ) ); +------------------------------+ | QUOTE(LTRIM( ' 12 34 ' )) | +------------------------------+ | '12 34 ' ...

MariaDB / Query / GROUP BY

MariaDB / Query / GROUP BY

예제로 사용한 데이터베이스는 employees입니다. GROUP BY를 사용하면 공통 데이터를 갖고 있는 행들을 집계할 수 있습니다. 예를 들어 사번이 10001인 사원의 급여 지급 내역을 알고 싶다면 다음과 같이 쿼리합니다. SELECT emp_no, salary FROM salaries WHERE emp_no = 10001; +--------+--------+ | emp_no | salary | +--------+--------+ | 10001 | 60117 | | 10001 | 62102 | | ...

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 / 함수 / YEAR, MONTH, DAY / 날짜 데이터에서 년, 월, 일을 반환하는 함수

MariaDB / 함수 / YEAR, MONTH, DAY / 날짜 데이터에서 년, 월, 일을 반환하는 함수

날짜 형식의 데이터에서 년 또는 월 또는 일을 분리해서 출력하고 싶다면 YEAR, MONTH, DATE 함수를 사용합니다. YEAR 날짜 데이터에서 년을 출력하고 싶다면 YEAR 함수를 사용합니다. MariaDB > SELECT YEAR('2020-11-12') as Year; +------+ | Year | +------+ | 2020 | +------+ MONTH 날짜 데이터에서 월을 출력하고 싶다면 MONTH 함수를 사용합니다. MariaDB > SELECT MONTH('2020-11-12') as Month; +-------+ | Month | +-------+ | 11 ...