mysql中的alter子句修改表和表字段信息

MySQL中提供了alter子句用于修改表和表字段信息。

修改表信息

使用alter子句修改表信息主要有两个用途。

修改表名

alter table yanggb rename to yanggb1;

修改表注释

alter table yanggb comment ‘yanggb is 666‘;

修改字段信息

使用alter子句修改表中的字段信息的用途就多了。

修改字段类型和注释

alter table yanggb modify column yanggb1 varchar(200) comment ‘yanggb is 666‘;

修改字段类型

alter table yanggb modify column yanggb1 text;

单独修改字段注释

目前没发现有单独修改字段注释的命令语句。

设置字段允许为空

alter table yanggb modify column yanggb1 varchar(200) null comment ‘yanggb is 666‘;

增加一个字段,设好数据类型,且不为空,添加注释

alert table yanggb add yanggb2 varchar(200) not null comment ‘yanggb is 666‘;

增加主键

alter table yanggb add aid int(5) not null, add primary key (aid);

增加自增主键

alter table yanggb add aid int(5) not null auto_increment, add primary key (aid);

修改普通主键为自增主键

alter table yanggb modify column aid int(5) auto_increment;

修改字段名字(要重新指定该字段的类型)

alter table yanggb change yanggb1 yanggb2 varchar(200) not null;

删除字段

alter table yanggb drop yanggb2;

在某个字段后增加字段

alter table yanggb add column yanggb5 int not null default 0 after yanggb4; -- 使用after关键字指定在哪个字段后面添加新的字段

调整字段顺序

alter table yanggb change yanggb11 yanggb11 varchar(200) not null after yanggb9; -- 注意这里yanggb11出现了2次

"原来忍住了不联系,就真的不联系了。"

原文地址:https://www.cnblogs.com/yanggb/p/11680478.html

时间: 2024-08-01 14:29:06

mysql中的alter子句修改表和表字段信息的相关文章

sqlite修改表、表字段等与sql server的不同之处

sqlite中只支持 ALTER TABLE 命令的 RENAME TABLE 和 ADD COLUMN. 其他类型的 ALTER TABLE 操作如 DROP COLUMN,ALTER COLUMN,ADD CONSTRAINT 等等均被忽略. 重命名表名: alter table tableName rename to newTableName 添加列 alter table tableName add columnName columnType 这两个和sql server基本一致,用起来

MySQL的外键,修改表,基本数据类型,表级别操作,其他(条件,通配符,分页,排序,分组,联合,连表操作)

MySQL的外键,修改表,基本数据类型,表级别操作,其他(条件,通配符,分页,排序,分组,联合,连表操作): a.创建2张表 create table userinfo(nid int not null auto_increment primary key, name varchar(10), age int, part_nid int )engine=innodb default charset=utf8; create table part( nid int not null auto_in

MySQL数据库 外键,级联, 修改表的操作

1.外键: 用来建立两张表之间的关系 - 一对多 - 多对多 - 一对一 研究表与表之间的关系: 1.定义一张 员工部门表 id, name, gender, dep_name, dep_desc - 将所有数据存放在一张表中的弊端: 1.结构不清晰 ---> 不致命 2.浪费空间 ---> 不致命 3.可扩展性极差 ---> 不可忽视的弊端 - 类似于将所有python代码存放在一个py文件中,强耦合到一起了----> 解耦合 ----> 拆分表 - 拆分表解决以上问题.

MySQL中select * for update锁表的范围

MySQL中select * for update锁表的问题 由于InnoDB预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL才会执行Row lock (只锁住被选取的资料例) ,否则MySQL将会执行Table Lock (将整个资料表单给锁住). 举个例子: 假设有个表单products ,里面有id跟name二个栏位,id是主键. 例1: (明确指定主键,并且有此笔资料,row lock) SELECT * FROM products WHERE id='3' F

修改非空表字段类型Oracle

执行以下语句报"要修改数据类型,则要更改的列必须为空"       alter table 表名 modify (目标字段 varchar2(100)); 解决步骤: 第一步,在表中加一个临时字段       alter table 表名 add 临时字段 目标字段原来的类型; 第二步,将目标字段的值付给临时字段,并将目标字段置空       update 表名 set 临时字段=目标字段,目标字段=null; 第三步,修改目标类型       alter table 表名  modi

mysql alter 用法,修改表,字段等信息

一: 修改表信息 1.修改表名 alter table test_a rename to sys_app; 2.修改表注释 alter table sys_application comment '系统信息表'; 二:修改字段信息 1.修改字段类型和注释 alter table sys_application modify column app_name varchar(20) COMMENT '应用的名称'; 2.修改字段类型 alter table sys_application modif

mysql数据库导入导出 查询 修改表记录

mysql数据导入导出: 导入: 把系统的文件的内容,保存到数据库的表里 导入数据的基本格式:mysql> load data infile "文件名" into table 表名 fields terminated by '分隔符' lines terminated by '\n'; 实例:把系统用户信息保存到hydra01库下的userinfo表里 mysql> create table userinfo(name char(20),password char(1),u

mysql初识(三)修改表结构

mysql 修改表结构 以下均用表名test5  只有一个字段hobby操作修改表名alter table test5 rename newtest; 修改字段的同时更名语句结构 alter table 表名 change 字段名 新的字段名 [first|after 字段名]first|after 可写可不写 写上就是改变字段的位置 是在最前或者在某字段的后面alter table newtest change hobby hob char(20); 只是修改字段语句机构 alter tabl

mysql中利用sql语句修改字段名称,字段长度等操作

在网站重构中,通常会进行数据结构的修改,所以添加,删除,增加mysql表的字段是难免的,有时为了方便,还会增加修改表或字段的注释,把同字段属性调整到一块儿.这些操作可以在phpmyadmin或者别的mysql管理工具中完成,但是我们有时为了更方便的管理,会选择写sql语句来实现. 1.修改字段的长度 语法: ALTER TABLE 表名 MODIFY COLUMN 字段名  数据类型(修改后的长度) 例子: 将字段的长度由10改为20 ALTER TABLE attence MODIFY COL