# mysql更改表结构
create database/schema mydb4; //创建mydb4数据库
show databases; //显示全部数据库
use mydb4; //进入mydb4数据库
create table stu (user int(10),name varchar(30),score float); //创建数据表stu并添加字段user,name,score字段
alter table stu change name username varchar(30); //修改字段名由name修改为username
show columns from stu; //显示columns的字段
alter table stu change username username varchar(30) first; //将username移动到首位
alter table stu add(age int(10));//创建age字段
alter table stu change motify age int(10) after username //将age表移动到username后
alter table stu drop age;//删除age字段
drop table stu;//删除stu表
drop database/schema mydb4;//删除mydb4数据库
总结:
在MySQL中修改字段的数据类型,您可以使用 ALTER TABLE
语句的 MODIFY
或 CHANGE
子句。以下是具体的示例:
-
仅修改字段数据类型和排序,且字段名不变:
ALTER TABLE 表名 MODIFY 字段名 新数据类型 first/after 字段名;
例如,将
users
表中的age
字段从INT
改为VARCHAR(255)
并放在id后面:ALTER TABLE users MODIFY age VARCHAR(255) after id;
-
同时修改字段名和数据类型和排序:
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型 [first/after 字段名]; 或者:alter table 表名 change [column] 旧字段名 新字段名 新数据类型 [first/after 字段名];
例如,将
users
表中的birthday
字段名改为birth_date
,并且将数据类型从DATE
改为DATETIME
:ALTER TABLE users CHANGE birthday birth_date DATETIME;
注意:
[]表示可选项
在修改字段数据类型时,请确保新数据类型能够容纳原有数据,否则可能导致数据丢失或转换失败。此外,某些数据类型的修改可能会影响索引、外键约束等,需谨慎操作并在必要时进行相关调整。
change可以修改字段名,数据类型,排序,modify只可以修改数据类型和排序不可修改字段名
使用数据库.数据表可以不需要指定数据库
例如
alter table mydb4.stu change user username varchar(30);