各位用户为了找寻关于MySQL如何快速修改表的表结构的资料费劲了很多周折。这里教程网为您整理了关于MySQL如何快速修改表的表结构的相关资料,仅供查阅,以下为您介绍关于MySQL如何快速修改表的表结构的详细内容
快速修改MySQL某张表的表结构--摘录自《MySQL管理之道》
? 1ALTER
TABLE
表名
MODIFY
列名 数据类型;
这个命令可以修改表结构
此外,也可以如下方法修改表结构:
先创建一张表,如下:
? 1 2 3>
create
table
t1 (id
int
,
name
varchar
(5),
rmb
decimal
(9,1));
如果要修改name列为varchar(10)的,可以这样操作:
? 1alter
table
t1
modify
name
varchar
(7);
也可以如下操作:
1、查看表结构,如下:
? 1 2 3 4 5 6 7 8 9 10> use test;
>
desc
t1;
+
-------+--------------+------+-----+---------+-------+
| Field | Type |
Null
|
Key
|
Default
| Extra |
+
-------+--------------+------+-----+---------+-------+
| id |
int
(11) | YES | |
NULL
| |
|
name
|
varchar
(5) | YES | |
NULL
| |
| rmb |
decimal
(9,1) | YES | |
NULL
| |
+
-------+--------------+------+-----+---------+-------+
3
rows
in
set
(0.00 sec)
2、创建临时表,把varchar设置为10:
? 1 2 3>
create
table
t1_tmp (id
int
,
name
varchar
(10),
rmb
decimal
(9,1));
3、替换.frm表结构文件
? 1 2> flush tables
with
read
lock; 先锁住表,放在表被打开,以免数据丢失。
> system cp /usr/
local
/mariadb/var/test/t1_tmp.frm /usr/
local
/mariadb/var/test/t1.frm
4、解除锁定
? 1> unlock tables;
5、查看表结构
? 1 2 3 4 5 6 7 8 9> show
create
table
t1G
*************************** 1. row ***************************
Table
: t1
Create
Table
:
CREATE
TABLE
`t1` (
`id`
int
(11)
DEFAULT
NULL
,
`
name
`
varchar
(10)
DEFAULT
NULL
,
`rmb`
decimal
(9,1)
DEFAULT
NULL
) ENGINE=InnoDB
DEFAULT
CHARSET=utf8
1 row
in
set
(0.00 sec)
可以看到name列的varchar(10)了。
6、插入条数据试试
? 1>
insert
into
t1
values
(2,
'hechuangyang'
,3.8); 不报错的话就是修改成功了。
以上就是MySQL如何快速修改表的表结构的详细内容,更多关于MySQL修改表结构的资料请关注其它相关文章!
原文链接:https://cloud.tencent.com/developer/article/1508696