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`;
SQL alter table已有表操作
功能 alter table 語句用於在已有的表中新增 刪除或修改列。alter table table name add column name datatype或者 alter table table name alter column column name datatype如需刪除表中的列,...
語句 switch語句
switch語句的特點如下 1 switch x 被選擇的內容 即x 只能是byte,short,int,char這四種型別 2 備選答案並沒有指定的順序,但是執行肯定是從第乙個case開始的,如果其中有匹配的case,執行完,通過該case的break就結束了switch。如果沒有匹配的case,...
Python while語句,for語句
usr bin python coding utf 8 filename whiletest.py num 23running true while running i int raw input input a number if i num print right running false e...