mysql: create database

/*************************************** 
 *        DDL: Create Database         * 
 ***************************************/

-- drop existing database if exists;
DROP DATABASE IF EXISTS fitbit_new;

-- create database;
CREATE DATABASE fitbit_new;

-- use database;
USE fitbit_new;
show tables;

/*************************************** 
 *           DDL: Create Table         * 
 ***************************************/

/*        product          */
-- create table product;
DROP TABLE IF EXISTS product, client, sales;




describe sales;
-- alter table;



/*       client      */
-- create table client;



describe client;


/*        sales         */
-- create table sales;


-- create foreign key seperately;
alter table sales add
constraint fk_client_id_wanmen
	foreign key (client_id)
    references client (client_id)
    on delete cascade;

-- drop foreign key;
alter table sales drop
foreign key fk_client_id_wanmen;

-- add update cascade;
alter table sales drop
foreign key fk_client_id;
alter table sales drop
foreign key fk_product_id;
alter table sales add
constraint fk_product_id
	foreign key (product_id)
    references product (product_id)
    on delete cascade
    on update cascade;
alter table sales add
constraint fk_client_id
	foreign key (client_id)
    references client (client_id)
    on delete cascade
    on update cascade;

-- create view;


  
/********************************************** 
 *        DML: Insert, Update, Delete         * 
 **********************************************/

INSERT INTO product 
VALUES
(1,'E-ZIP','Zip','EVERYDAY','GREEN','Y',59.95),
(2,'E-FLX','Flex','EVERYDAY','BLACK','N',99.95),
(3,'A-BLZ','Blaze','ACTIVE','PURPLE','Y',199.95),
(4,'P-SUG','Surge','PERFORMANCE','BLACK','Y',249.95);
select * from product;

-- update product;
update product
set product_id = 200
where product_id = 2;

-- cascade delete
delete from product
where product_id = 200;



INSERT INTO sales 
(tran_id, date, product_id, client_id, price, quantity)
VALUES
(1,'2016-6-1', 1, 1, 40, 10),
(2,'2016-6-5', 1, 2, 30, 5),
(3,'2016-6-8', 2, 1, 80, 8),
(4,'2016-6-8', 2, 2, 70, 7),
(5,'2016-6-13', 3, 2, 150, 5),
(6,'2016-6-18', 3, 4, 150, 10),
(7,'2016-6-20', 2, 4, 40, 15); 
select * from sales;
-- update sales;
update sales
set date = '2016-06-21',price = 200
where date = '2016-06-20' and tran_id = 7;



INSERT INTO client 
VALUES
(1,'FITBIT','ONLINE'),
(2,'AMAZON','ONLINE'),
(3,'BESTBUY','OFFLINE'),
(4,'WALMART','OFFLINE')
;
select * from client;
-- create table SHIPPING;
DROP TABLE IF EXISTS shipping;

create table if not exists shipping(
	shipping_id int not null auto_increment,
    tran_id int not null,
    tracking_no int,
    status enum('preparing', 'shipped', 'arrived'),
    arrive_date date,
    eta	date,
    primary key (shipping_id),
    constraint fk_tran_id
	foreign key (tran_id)
    references sales (tran_id)
    on delete cascade
    on update cascade
);

insert into shipping
(tran_id, tracking_no, status, arrive_date, eta)
values
	(3,103,'arrived','2016-06-02','2016-06-02'),
    (4,104,'arrived','2016-06-30','2016-06-25'),
    (5,105,'shipped',null,'2016-03-04'),
    (6,106,'preparing',null,null);

select * from shipping;

 

  

posted @ 2018-06-27 16:15  miaomiaotab  阅读(1723)  评论(0编辑  收藏  举报