MySQL에서 열의 데이터 유형을 변경하려면 어떻게 해야 합니까?
여러 열의 데이터 유형을 부동에서 int로 변경하려고 합니다.가장 간단한 방법은 무엇입니까?
아직 걱정할 데이터는 없습니다.
http://dev.mysql.com/doc/refman/5.1/en/alter-table.html
ALTER TABLE tablename MODIFY columnname INTEGER;
그러면 지정된 열의 데이터 유형이 변경됩니다.
변경하는 열의 수에 따라 스크립트를 생성하거나 mysql 클라이언트 GUI를 사용하는 것이 가장 좋습니다.
alter table table_name modify column_name int(5)
다음 항목도 사용할 수 있습니다.
ALTER TABLE [tablename] CHANGE [columnName] [columnName] DECIMAL (10,2)
특정 유형의 모든 열을 다른 유형으로 변경하려면 다음과 같은 쿼리를 사용하여 쿼리를 생성할 수 있습니다.
select distinct concat('alter table ',
table_name,
' modify ',
column_name,
' <new datatype> ',
if(is_nullable = 'NO', ' NOT ', ''),
' NULL;')
from information_schema.columns
where table_schema = '<your database>'
and column_type = '<old datatype>';
예를 들어, 다음 위치에서 열을 변경하려는 경우tinyint(4)
로.bit(1)
, 다음과 같이 실행합니다.
select distinct concat('alter table ',
table_name,
' modify ',
column_name,
' bit(1) ',
if(is_nullable = 'NO', ' NOT ', ''),
' NULL;')
from information_schema.columns
where table_schema = 'MyDatabase'
and column_type = 'tinyint(4)';
다음과 같은 출력을 얻을 수 있습니다.
alter table table1 modify finished bit(1) NOT NULL;
alter table table2 modify canItBeTrue bit(1) NOT NULL;
alter table table3 modify canBeNull bit(1) NULL;
!! 독자적인 구속조건을 유지하지 않고 다른 구속조건을 쉽게 수정할 수 있습니다.if
- 매개 변수concat
필요에 따라서, 그것을 실장하는 것은 독자에게 맡깁니다.
Alter TABLE `tableName` MODIFY COLUMN `ColumnName` datatype(length);
예:
Alter TABLE `tbl_users` MODIFY COLUMN `dup` VARCHAR(120);
열 데이터 유형을 변경하려면 변경 방법 및 수정 방법이 있습니다.
ALTER TABLE student_info CHANGE roll_no roll_no VARCHAR(255);
ALTER TABLE student_info MODIFY roll_no VARCHAR(255);
필드 이름을 변경하려면 변경 방법도 사용합니다.
ALTER TABLE student_info CHANGE roll_no identity_no VARCHAR(255);
를 사용합니다.alter table ... change ...
예를 들어 다음과 같습니다.
mysql> create table yar (id int);
Query OK, 0 rows affected (0.01 sec)
mysql> insert into yar values(5);
Query OK, 1 row affected (0.01 sec)
mysql> alter table yar change id id varchar(255);
Query OK, 1 row affected (0.03 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> desc yar;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id | varchar(255) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
1 row in set (0.00 sec)
https://dev.mysql.com/doc/refman/8.0/en/alter-table.html
컬럼 기본값도 설정할 수 있습니다.기본값 뒤에 DEFAULT 키워드를 추가합니다.
ALTER TABLE [table_name] MODIFY [column_name] [NEW DATA TYPE] DEFAULT [VALUE];
이것은 MariaDB(테스트 완료 버전 10.2)에서도 동작합니다.
열 세부사항을 변경하고 기본값을 설정한 후 주석을 추가하려면 다음을 사용하십시오.
ALTER TABLE [table_name] MODIFY [column_name] [new data type]
DEFAULT [VALUE] COMMENT '[column comment]'
언급URL : https://stackoverflow.com/questions/1356866/how-do-i-change-the-data-type-for-a-column-in-mysql
'source' 카테고리의 다른 글
if-else 속기 사용 시 두 번째 표현 생략 (0) | 2022.10.20 |
---|---|
Java Long 프리미티브 유형 최대 제한 (0) | 2022.10.20 |
Larabel에서 신규 사용자 등록을 해제하는 방법 (0) | 2022.10.20 |
len() 함수의 비용 (0) | 2022.10.20 |
'LIKE(%this%)' 또는 '%this%' 및 'something=something'이 작동하지 않습니다. (0) | 2022.10.20 |