Mysql中用SQL增加、删除字段,修改字段名、字段类型、设置默认值、注释,调整字段顺序总结

本文全面介绍了SQL中如何创建、修改和管理数据库表的各种操作,包括创建表、重命名表、添加和删除字段、修改字段属性、调整字段顺序、添加注释、设置主键等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

创建表

 表重命名

增加一个字段

批量增加字段

删除字段

修改字段

批量修改字段名称

添加注释

调整字段顺序

修改默认值

将字段值设为非空或空

添加主键

修改主键

复制数据库表


创建表

CREATE TABLE 表名 (字段1 类型,字段2 类型,字段3 类型,...);

实例:

CREATE TABLE userinfo (
userid char(32) NOT NULL,
username char(32) NOT NULL,
password char(32) NOT NULL,
authority1 tinyint(1) DEFAULT '0',
authority2 tinyint(1) DEFAULT '0',
authority3 tinyint(1) DEFAULT '0',
authority4 tinyint(1) DEFAULT '0',
team char(32) DEFAULT NULL,
PRIMARY KEY (userid)
);

 表重命名

alter table 旧表名 rename 新表名;
alter table userinfo rename userInfo;

增加一个字段

//增加一个字段,默认为空
alter table user add COLUMN new1 VARCHAR(20) DEFAULT NULL; 
//增加一个字段,默认不能为空
alter table user add COLUMN new2 VARCHAR(20) NOT NULL;

批量增加字段

方法一:使用事务完成

事务(transaction)是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位。


bagin;                                           //事务开始
alter table em_day_data add f_day_house7 int(11);
alter table em_day_data add f_day_house8 int(11);
alter table em_day_data add f_day_house9 int(11);
alter table em_day_data add f_day_house10 int(11);
commit;                                             //提交事务,事务结束

方法二:mysql 批量为表添加多个字段

alter table em_day_data add (f_day_house11 int(11),f_day_house12 int(11),f_day_house13 int(11));

删除字段

//删除一个字段
alter table user DROP COLUMN new2;

修改字段

//修改一个字段的类型
alter table user MODIFY new1 VARCHAR(10);
//修改一个字段的名称,此时一定要重新指定该字段的类型
alter table user CHANGE new1 new4 int;

批量修改字段名称

alter table 表 change 修改前字段名  修改后字段名称 int(11) not null,
change 修改前字段名  修改后字段名称 int(11) not null,
change 修改前字段名  修改后字段名称 int(11) not null,
change 修改前字段名  修改后字段名称 int(11) not null,
change 修改前字段名  修改后字段名称 int(11) not null

添加注释

// 可以为表添加注释
ALTER TABLE `table_name` COMMENT'注释'; 
// 为字段添加注释,同样适用于修改
ALTER TABLE `table_name` CHANGE `column_name` `column_name` type(longth) UNSIGNED NULL DEFAULT NULL COMMENT '注释'

调整字段顺序

alter table 表名 change 字段名 新字段名 字段类型 默认值 after 字段名(跳到哪个字段之后)
alter table appstore_souapp_app_androidmarket;
change getPriceCurrency getPriceCurrency varchar(50)   default null AFTER getPrice;

修改默认值

//若本身存在默认值,则先删除
alter table表名alter column字段名drop default;
//然后设置默认值(若本身不存在则可以直接设定)
alter table表名 alter column字段名 set default默认值;

将字段值设为非空或空

 alter table 数据库表名 modify 字段名称 数据类型 not null;//设为非空
 alter table 数据库表名 modify 字段名称 数据类型 null;//设为空

添加主键

alter table 表名 add primary key(字段名);

修改主键

先删除主键
alter table 表名 drop primary key;
然后在增加主键
alter table 表名 add primary key(字段名);

复制数据库表

表结构相同的表,且在同一数据库(如,table1,table2)       

insert into table1 select * from table2 (完全复制)
insert into table1 select distinct * from table2(不复制重复纪录)
insert into table1 select top 5 * from table2 (前五条纪录)

不在同一数据库中(如,db1 table1,db2 table2)       

insert into db1..table1 select * from db2..table2 (完全复制)
insert into db1..table1 select distinct * from db2table2(不复制重复纪录)
insert into tdb1..able1 select top 5 * from   db2table2 (前五条纪录)


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值