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-W3School-高级:SQL ALTER TABLE 语句
ylbtech-SQL-W3School-高级:SQL ALTER TABLE 语句 1.返回顶部 1. ALTER TABLE 语句 ALTER TABLE 语句用于在已有的表中添加.修改或删除列. ...
- SQL ALTER TABLE 语句
ALTER TABLE 语句 ALTER TABLE 语句用于在已有的表中添加.修改或删除列. SQL ALTER TABLE 语法 如需在表中添加列,请使用下列语法: ALTER TABLE tab ...
- SQL CREATE TABLE 语句\SQL 约束 (Constraints)\SQL NOT NULL 约束\SQL UNIQUE 约束
CREATE TABLE 语句 CREATE TABLE 语句用于创建数据库中的表. SQL CREATE TABLE 语法 CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据 ...
- SQL ALTER TABLE 命令
SQL ALTER TABLE 命令 SQL ALTER TABLE 命令用于添加.删除或者更改现有数据表中的列. 你还可以用 ALTER TABLE 命令来添加或者删除现有数据表上的约束. 语法: ...
- 翻译:MariaDB ALTER TABLE语句
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- SQL-W3School-高级:SQL CREATE TABLE 语句
ylbtech-SQL-W3School-高级:SQL CREATE TABLE 语句 1.返回顶部 1. CREATE TABLE 语句 CREATE TABLE 语句用于创建数据库中的表. SQL ...
- mysql ALTER TABLE语句 语法
mysql ALTER TABLE语句 语法 作用:用于在已有的表中添加.修改或删除列.无铁芯直线电机 语法:添加列:ALTER TABLE table_name ADD column_name da ...
- sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1091, "Can't DROP 'users_ibfk_1'; check that column/key exists") [SQL: ALTER TABLE users DROP FOREIGN KEY users_ibfk_1]
flask 迁移数据库报错 报错: sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1091, "Can't DROP ...
- SQL CREATE TABLE 语句
CREATE TABLE 语句 CREATE TABLE 语句用于创建数据库中的表. SQL CREATE TABLE 语法 CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据 ...
随机推荐
- 曾经post为何只能通过form来提交
当我们web程序的前台,需要有数据向后台发送时候,我们第一时间想到的就是,给我们所需要提交的用户名,密码之类的数据封装到一个<form>表单里面去,而封装完毕之后,我们需要给form的提交 ...
- C# Label显示多行文本及换行(WinForm/WebForm)
转载: http://www.cnblogs.com/greatverve/archive/2011/10/20/label-multi.html WinForm 很多朋友都会在开发WinForm中遇 ...
- 对C语言中指针的一些新认识
学C语言这么久了,才发现指针不是想象中那么简单,当初根本就没理解指针怎么用! 变量--是由操作系统自动分配存储空间的 指针--手动分配存储空间或指向已有变量的地址 指针中的内容需要手动释放,而变 ...
- Android M 控件:Snackbar、Toolbar、TabLayout、NavigationView
Snackbar Snackbar提供了一个介于Toast和AlertDialog之间轻量级控件,它可以很方便的提供消息的提示和动作反馈.Snackbar的使用与Toast的使用基本相同: Snack ...
- 路由知识之ip route 命令中的疑惑
1.基础知识 1.1 路由 (Routing) 1.1.1 路由策略 (使用 ip rule 命令操作路由策略数据库) 基于策略的路由比传统路由在功能上更强大,使用更灵活,它使网络管理员不仅能够根据目 ...
- iOS开发小技巧--实现毛玻璃效果的方法
一.美工出图 二.第三方框架 -- DRNRealTimeBlur,框架继承自UIView.使用方法:创建UIView直接继承自框架的View,就有了毛玻璃效果 三.CoreImage -- 图片加高 ...
- java 中hashmap和hashtable的区别
1.hashmap是线程不安全的,能够有key,value能有null hashtable是线程安全的,key,value不能有null
- Cross-Entropy Loss 与Accuracy的数值关系
以分类任务为例, 假设要将样本分为\(n\)个类别. 先考虑单个样本\((X, z)\). 将标题\(z\)转化为一个\(n\)维列向量\(y = (y_1, \dots y_k, \dots, y_ ...
- 区间DP poj 2955
求最多有几个括号可以匹配 #include<stdio.h> #include<string.h> #include<algorithm> using namesp ...
- URI 中特殊字符
URL中的特殊字符 有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了.编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(1 ...