SQL ALTER TABLE 语句在项目中的使用
1.在实际的项目开发过程中,之前已经创建好的实体类可能需要增加/删除字段,亦或是更改已有字段的属性,比如主键的增长策略从自增型改为UUID型,那么就会涉及到
SQL 中 alter table 语句的使用。
ALTER TABLE table_name ADD column_name datatype 增加表中的列
ALTER TABLE table_name DROP COLUMN column_name 删除表中的列
ALTER TABLE table_name ALTER COLUMN column_name datatype 改变表中的列的数据类型
ALTER TABLE Persons ADD Birthday date
ALTER TABLE Persons ALTER COLUMN Birthday year
ALTER TABLE Person DROP COLUMN Birthday 实际项目中的代码:
!-- Customer entity添加以下字段
alter table sys_customer add business_license_no varchar(100);
alter table sys_customer add organization_no varchar(100);
alter table sys_customer add business_scope varchar(100);
alter table sys_customer add legal_representative varchar(100);
alter table sys_customer add legal_representative_card varchar(100);
alter table sys_customer add customer_address varchar(100);
alter table sys_customer add post_code varchar(100);
!-- 创建用户收货地址记录实体,2016/11/29 11:30
CREATE TABLE `customer_receive_address` (
`id` varchar(255) NOT NULL,
`address` varchar(255) DEFAULT NULL,
`area` varchar(255) DEFAULT NULL,
`crt_time` datetime DEFAULT NULL,
`crt_user_id` bigint(20) DEFAULT NULL,
`crt_user_name` varchar(255) DEFAULT NULL,
`customer_id` bigint(20) DEFAULT NULL,
`is_main` bit(1) NOT NULL,
`name` varchar(255) DEFAULT NULL,
`phone_num` varchar(255) DEFAULT NULL,
`postcode` varchar(255) DEFAULT NULL,
`upd_time` datetime DEFAULT NULL,
`upd_user_id` bigint(20) DEFAULT NULL,
`upd_user_name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `FK1tulmarjqlerfxuvudw36b2v3` (`customer_id`),
CONSTRAINT `FK1tulmarjqlerfxuvudw36b2v3` FOREIGN KEY (`customer_id`) REFERENCES `sys_customer` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.实际项目中,一些配置实体的信息,发布时候,添加的一些数据插入语句
-- ----------------------------
-- 配置信息表数据 2016-11-11 18:40
-- ----------------------------
INSERT INTO `auc_settings` VALUES ('1', 'smtpHost', 'email', '发送邮件的服务器地址', 'smtp.163.com');
INSERT INTO `auc_settings` VALUES ('2', 'title', 'email', '发送邮件的标题', '邮箱验证');
INSERT INTO `auc_settings` VALUES ('13', 'smsTplCode', 'sms', '阿里大鱼模板编号', 'SMS_6740890');
INSERT INTO `auc_settings` VALUES ('14', 'smsType', 'sms', '阿里大鱼短信类型', 'normal');
3.如果更改或删除的列与其他的表之间存在外键的关系的时候,这种关系需要怎样去维护呢?
-- 2016-11-29 2016-12-01 修改主键id 类型
-- auc_lot
ALTER TABLE `auc_lot` MODIFY COLUMN `id` varchar(255) NOT NULL FIRST ;
ALTER TABLE auc_brand DROP FOREIGN KEY FK279hokw2vi5cy63b77hg9qxlt
ALTER TABLE auc_price DROP FOREIGN KEY FK4y2qo4m4i8i6axjpc0y44wiy2
ALTER TABLE auc_image DROP FOREIGN KEY FKe3ygrs9ub7pau5rgl2e17jp8
-- announcement_goods
ALTER TABLE `announcement_goods` MODIFY COLUMN `auc_id` varchar(255) NULL DEFAULT NULL AFTER `announcement_id`;
-- auc_attention
ALTER TABLE `auc_attention` MODIFY COLUMN `auc_id` varchar(255) NULL DEFAULT NULL AFTER `id`;
-- auc_brand_no_generator
ALTER TABLE `auc_brand_no_generator` MODIFY COLUMN `auc_id` varchar(255) NULL DEFAULT NULL AFTER `id`;
-- auc_image
ALTER TABLE `auc_image` MODIFY COLUMN `auc_id` varchar(255) NULL DEFAULT NULL AFTER `id`;
-- settlement_deal
ALTER TABLE `settlement_deal` MODIFY COLUMN `auc_id` varchar(255) NULL DEFAULT NULL AFTER `id`;
-- settlement_bail
ALTER TABLE `settlement_bail` MODIFY COLUMN `auc_id` varchar(255) NULL DEFAULT NULL AFTER `id`;
-- announcement_goods
ALTER TABLE announcement_goods DROP FOREIGN KEY FK96cnp94qfcfr3gybrg4x78dh7;
-- announcement
ALTER TABLE `announcement` MODIFY COLUMN `id` varchar(255) NOT NULL FIRST ;
ALTER TABLE `announcement_goods` MODIFY COLUMN `announcement_id` varchar(255) NULL DEFAULT NULL AFTER `id`;
文献的参考链接:http://www.w3school.com.cn/sql/sql_alter.asp
SQL ALTER TABLE 语句在项目中的使用相关推荐
- SQL ALTER TABLE 语句
SQL ALTER TABLE 语句 ALTER TABLE 语句 ALTER TABLE 语句用于在已有的表中添加.删除或修改列. SQL ALTER TABLE 语法 如需在表中添加列,请使用下面 ...
- MySQL中定义fk语句_MySQL的SQL语句 - 数据定义语句(6)- ALTER TABLE 语句 (4)
外键和其他约束 InnoDB和NDB存储引擎支持 FOREIGN KEY 和 REFERENCES 子句,这些存储引擎实现了ADD [CONSTRAINT [symbol]] FOREIGN KEY ...
- mysql更改数据语句6_MySQL的SQL语句 - 数据定义语句(6)- ALTER TABLE 语句(1)
ALTER TABLE 语句 ALTER TABLE更改表的结构.例如,可以添加或删除列.创建或销毁索引.更改现有列的类型.重命名列或表本身.还可以更改表特性,例如用于表或表注释的存储引擎. ●要使用 ...
- mysql对所有列的数据进行修改6_MySQL的SQL语句 - 数据定义语句(6)- ALTER TABLE 语句 (3)...
添加和删除列 使用ADD向表中添加新列,使用DROP删除现有列.DROP col_name是对标准SQL的MySQL扩展. 若要在表行的特定位置添加列,请使用FIRST col_name 或者 AFT ...
- MySQL修改数据表(ALTER TABLE语句)
为实现数据库中表规范化设计的目的,有时候需要对之前已经创建的表进行结构修改或者调整. 在 MySQL 中可以使用 ALTER TABLE 语句来改变原有表的结构,例如增加或删减列.创建或取消索引.更改 ...
- ALTER TABLE 语句与 FOREIGN KEY 约束“FK_Booking_Hotel“冲突。
错误:SQL Server 创建数据库表的外键时出错 ALTER TABLE 语句与 FOREIGN KEY 约束"FK_Booking_Hotel"冲突.该冲突发生于数据库&qu ...
- 【数据库】ALTER TABLE 语句与 CHECK 约束““冲突。该冲突发生于数据库““,表““, column ‘‘
摘要:微信搜索[三桥君] 本篇讲述的是在已经创建好表且有数据的情况下,增加CHECK约束的报错问题 一.问题 当我给数据库中已经创建好的Student表,增加约束条件. --增加student表的约束 ...
- 用ALTER TABLE语句来创建索引
7.2.3 用ALTER TABLE语句来创建索引 在已经存在的表上,可以通过ALTER TABLE语句直接为表上的一个或几个字段创建索引.基本形式如下: 1. ALTER TABLE 表名 ADD ...
- 【数据库】ALTER TABLE 语句与 FOREIGN KEY 约束““冲突。该冲突发生于数据库““,表““, column ‘‘。
摘要:微信搜索[三桥君] 本篇讲述的是在已经创建好表且有数据的情况下,增加 FOREIGN KEY 约束的报错问题 一.问题 当我在一张Student表中增加它的classNo外键,外键参照Class ...
最新文章
- 正确debug的TensorFlow的姿势
- F - 数据结构实验之排序六:希尔排序
- python小案例随机点名_python用tkinter实现一个简易能进行随机点名的界面
- 浮小麦升浮之气的本质
- onesignal php,PHP FPM源代码反刍品味之五:信号signal处理
- ajax参数中有加号,浅谈在js传递参数中含加号(+)的处理方式
- uselocale_Java扫描仪useLocale()方法与示例
- Windows 电源管理
- 基于proxychains4进行终端加速 wget,curl等
- python多进程编程实例_Python多进程并发(multiprocessing)用法实例详解
- 二次规划(QP)求解与序列二次规划(SQP)求解非线性规划问题
- 硬件笔记1:80508550三极管对管驱动电机电路(已经实测可用)
- CTF-bacon(培根密码)
- 山东省枣庄高新区益洋花园地块场地环境初步调查信息公示
- 【pyqt5学习】—— 滑动条Qslider、计数器QSpinBox学习
- 记录一个问题:jdbc连接数据库很慢【能连上,但很慢】、同理,任何应用连接慢也可以尝试用该方法
- 基于Matlab遗传算法工具箱解决物流中心选址
- unity pdg 设置隐藏不需要的节点以及实现自动勾选自动加载项
- Android 腾讯位置服务地图简单使用
- 梦幻西游109散人最多的服务器,老鸡解读真实的梦幻 最高在线保守80W!