常见的表维护包括创建表、更新表、重命名表、删除表
1 创建表
CREATE TABLE productnotes (
note_id INT NOT NULL AUTO_INCREMENT,
prod_id CHAR (10) NOT NULL,
note_date datetime NOT NULL,
note_text text NULL,
note_ip text NULL DEFAULT 1,
PRIMARY KEY (note_id)
) ENGINE = MyISAM
#新表的名字,在关键字CREATE TABLE之后给出。若表名已存在,需要先删除再创建。可在表名前加IF NOT EXISTS,确保仅在表名不存在时创建
#列的名字和定义,用逗号分隔,括在圆括号中
#NOT NULL表示该列不能为空,反之NULL表示该列可以为空
#PRIMARY KEY指定主键字段,如果单个列为主键则必须唯一,若多个列则组合主键也必须唯一。
#AUTO_INCREMENT 自动增量,每张表只允许一列AUTO_INCREMENT,且必须被索引
#DEFAULT指定默认值,默认字只支持常量,不支持函数
#ENGINE = MyISAM 指定引擎类型。若省略则使用默认引擎(建库时指定),需要注意外键不能跨引擎。引擎类型常见的有如下三种:InnoDB是事务处理引擎,但不支持全文本搜索;MyISAM支持全文本搜索,但不支持事务处理;MEMORY类似MyISAM,但由于数据存储在内存中,速度很快(特别适合于临时表)复制
2 更新表
ALTER TABLE vendor
ADD vend_phone CHAR(20);
#添加字段
ALTER TABLE vendor
DROP COLUMN vend_phone;
#删除字段
ALTER TABLE order_item ADD CONSTRAINT FK_OrderItem_Order FOREIGN KEY (order_num) REFERENCES `order` (order_num);
#定义外键
#初始化脚本中已执行复制
鉴于直接针对表(特别是已保存大量数据的业务表)执行更新操作有风险存在。建议根据如下步骤执行
重命名旧表
创建新表(字段的更新在这一步体现),并使用INSERT SELECT将数据导入
重新创建触发器、存储过程、索引和外键
验证新表是否有问题,之后根据实际情况处理旧表(原地备份、导出备份或者直接删除)
3 重命名表
RENAME TABLE customer_new TO customer_new1
#将表名customer_new修改为customer_new1
RENAME TABLE customer_new TO customer_new1,
order_item TO order_item1;
#支持同时针对多张表进行重命名复制
4 删除表
DROP TABLE customer_new1
#将永久删除该表,需慎重复制
文章转载自lin在路上,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
2025年4月中国数据库流行度排行榜:OB高分复登顶,崖山稳驭撼十强
墨天轮编辑部
2379次阅读
2025-04-09 15:33:27
数据库国产化替代深化:DBA的机遇与挑战
代晓磊
1100次阅读
2025-04-27 16:53:22
2025年3月国产数据库中标情况一览:TDSQL大单622万、GaussDB大单581万……
通讯员
794次阅读
2025-04-10 15:35:48
2025年4月国产数据库中标情况一览:4个千万元级项目,GaussDB与OceanBase大放异彩!
通讯员
604次阅读
2025-04-30 15:24:06
数据库,没有关税却有壁垒
多明戈教你玩狼人杀
549次阅读
2025-04-11 09:38:42
天津市政府数据库框采结果公布,7家数据库产品入选!
通讯员
535次阅读
2025-04-10 12:32:35
国产数据库需要扩大场景覆盖面才能在竞争中更有优势
白鳝的洞穴
521次阅读
2025-04-14 09:40:20
最近我为什么不写评论国产数据库的文章了
白鳝的洞穴
483次阅读
2025-04-07 09:44:54
一页概览:Oracle GoldenGate
甲骨文云技术
436次阅读
2025-04-30 12:17:56
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
436次阅读
2025-04-17 17:02:24