· 7 years ago · Dec 09, 2018, 03:30 AM
1-- -----------------------------------------
2-- Sams Teach Yourself SQL in 10 Minutes
3-- http://forta.com/books/0672336073/
4-- Example table creation scripts for MySQL.
5-- -----------------------------------------
6
7DROP DATABASE IF EXISTS sams;
8CREATE DATABASE IF NOT EXISTS sams;
9USE sams;
10
11-- ----------------------
12-- Create Customers table
13-- ----------------------
14CREATE TABLE Customers
15(
16 cust_id CHAR(10) NOT NULL ,
17 cust_name CHAR(50) NOT NULL ,
18 cust_address CHAR(50) NULL ,
19 cust_city CHAR(50) NULL ,
20 cust_state CHAR(5) NULL ,
21 cust_zip CHAR(10) NULL ,
22 cust_country CHAR(50) NULL ,
23 cust_contact CHAR(50) NULL ,
24 cust_email CHAR(255) NULL
25);
26
27-- -----------------------
28-- Create OrderItems table
29-- -----------------------
30CREATE TABLE OrderItems
31(
32 order_num INT NOT NULL ,
33 order_item INT NOT NULL ,
34 prod_id char(10) NOT NULL ,
35 quantity int NOT NULL ,
36 item_price decimal(8,2) NOT NULL
37);
38
39-- -------------------
40-- Create Orders table
41-- -------------------
42CREATE TABLE Orders
43(
44 order_num int NOT NULL ,
45 order_date datetime NOT NULL ,
46 cust_id char(10) NOT NULL
47);
48
49-- ---------------------
50-- Create Products table
51-- ---------------------
52CREATE TABLE Products
53(
54 prod_id char(10) NOT NULL ,
55 vend_id char(10) NOT NULL ,
56 prod_name char(255) NOT NULL ,
57 prod_price decimal(8,2) NOT NULL ,
58 prod_desc text NULL
59);
60
61-- --------------------
62-- Create Vendors table
63-- --------------------
64CREATE TABLE Vendors
65(
66 vend_id char(10) NOT NULL ,
67 vend_name char(50) NOT NULL ,
68 vend_address char(50) NULL ,
69 vend_city char(50) NULL ,
70 vend_state char(5) NULL ,
71 vend_zip char(10) NULL ,
72 vend_country char(50) NULL
73);
74
75-- -------------------
76-- Define primary keys
77-- -------------------
78ALTER TABLE Customers ADD PRIMARY KEY (cust_id);
79ALTER TABLE OrderItems ADD PRIMARY KEY (order_num, order_item);
80ALTER TABLE Orders ADD PRIMARY KEY (order_num);
81ALTER TABLE Products ADD PRIMARY KEY (prod_id);
82ALTER TABLE Vendors ADD PRIMARY KEY (vend_id);
83
84-- -------------------
85-- Define foreign keys
86-- -------------------
87ALTER TABLE OrderItems ADD CONSTRAINT FK_OrderItems_Orders FOREIGN KEY (order_num) REFERENCES Orders (order_num);
88ALTER TABLE OrderItems ADD CONSTRAINT FK_OrderItems_Products FOREIGN KEY (prod_id) REFERENCES Products (prod_id);
89ALTER TABLE Orders ADD CONSTRAINT FK_Orders_Customers FOREIGN KEY (cust_id) REFERENCES Customers (cust_id);
90ALTER TABLE Products ADD CONSTRAINT FK_Products_Vendors FOREIGN KEY (vend_id) REFERENCES Vendors (vend_id);
91
92-- ------------------------
93-- Populate Customers table
94-- ------------------------
95INSERT INTO Customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact, cust_email)
96VALUES('1000000001', 'Village Toys', '200 Maple Lane', 'Detroit', 'MI', '44444', 'USA', 'John Smith', 'sales@villagetoys.com');
97INSERT INTO Customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact)
98VALUES('1000000002', 'Kids Place', '333 South Lake Drive', 'Columbus', 'OH', '43333', 'USA', 'Michelle Green');
99INSERT INTO Customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact, cust_email)
100VALUES('1000000003', 'Fun4All', '1 Sunny Place', 'Muncie', 'IN', '42222', 'USA', 'Jim Jones', 'jjones@fun4all.com');
101INSERT INTO Customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact, cust_email)
102VALUES('1000000004', 'Fun4All', '829 Riverside Drive', 'Phoenix', 'AZ', '88888', 'USA', 'Denise L. Stephens', 'dstephens@fun4all.com');
103INSERT INTO Customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact)
104VALUES('1000000005', 'The Toy Store', '4545 53rd Street', 'Chicago', 'IL', '54545', 'USA', 'Kim Howard');
105
106-- ----------------------
107-- Populate Vendors table
108-- ----------------------
109INSERT INTO Vendors(vend_id, vend_name, vend_address, vend_city, vend_state, vend_zip, vend_country)
110VALUES('BRS01','Bears R Us','123 Main Street','Bear Town','MI','44444', 'USA');
111INSERT INTO Vendors(vend_id, vend_name, vend_address, vend_city, vend_state, vend_zip, vend_country)
112VALUES('BRE02','Bear Emporium','500 Park Street','Anytown','OH','44333', 'USA');
113INSERT INTO Vendors(vend_id, vend_name, vend_address, vend_city, vend_state, vend_zip, vend_country)
114VALUES('DLL01','Doll House Inc.','555 High Street','Dollsville','CA','99999', 'USA');
115INSERT INTO Vendors(vend_id, vend_name, vend_address, vend_city, vend_state, vend_zip, vend_country)
116VALUES('FRB01','Furball Inc.','1000 5th Avenue','New York','NY','11111', 'USA');
117INSERT INTO Vendors(vend_id, vend_name, vend_address, vend_city, vend_state, vend_zip, vend_country)
118VALUES('FNG01','Fun and Games','42 Galaxy Road','London', NULL,'N16 6PS', 'England');
119INSERT INTO Vendors(vend_id, vend_name, vend_address, vend_city, vend_state, vend_zip, vend_country)
120VALUES('JTS01','Jouets et ours','1 Rue Amusement','Paris', NULL,'45678', 'France');
121
122-- -----------------------
123-- Populate Products table
124-- -----------------------
125INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)
126VALUES('BR01', 'BRS01', '8 inch teddy bear', 5.99, '8 inch teddy bear, comes with cap and jacket');
127INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)
128VALUES('BR02', 'BRS01', '12 inch teddy bear', 8.99, '12 inch teddy bear, comes with cap and jacket');
129INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)
130VALUES('BR03', 'BRS01', '18 inch teddy bear', 11.99, '18 inch teddy bear, comes with cap and jacket');
131INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)
132VALUES('BNBG01', 'DLL01', 'Fish bean bag toy', 3.49, 'Fish bean bag toy, complete with bean bag worms with which to feed it');
133INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)
134VALUES('BNBG02', 'DLL01', 'Bird bean bag toy', 3.49, 'Bird bean bag toy, eggs are not included');
135INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)
136VALUES('BNBG03', 'DLL01', 'Rabbit bean bag toy', 3.49, 'Rabbit bean bag toy, comes with bean bag carrots');
137INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)
138VALUES('RGAN01', 'DLL01', 'Raggedy Ann', 4.99, '18 inch Raggedy Ann doll');
139INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)
140VALUES('RYL01', 'FNG01', 'King doll', 9.49, '12 inch king doll with royal garments and crown');
141INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)
142VALUES('RYL02', 'FNG01', 'Queen doll', 9.49, '12 inch queen doll with royal garments and crown');
143
144-- ---------------------
145-- Populate Orders table
146-- ---------------------
147INSERT INTO Orders(order_num, order_date, cust_id)
148VALUES(20005, '2012-05-01', '1000000001');
149INSERT INTO Orders(order_num, order_date, cust_id)
150VALUES(20006, '2012-01-12', '1000000003');
151INSERT INTO Orders(order_num, order_date, cust_id)
152VALUES(20007, '2012-01-30', '1000000004');
153INSERT INTO Orders(order_num, order_date, cust_id)
154VALUES(20008, '2012-02-03', '1000000005');
155INSERT INTO Orders(order_num, order_date, cust_id)
156VALUES(20009, '2012-02-08', '1000000001');
157
158-- -------------------------
159-- Populate OrderItems table
160-- -------------------------
161INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
162VALUES(20005, 1, 'BR01', 100, 5.49);
163INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
164VALUES(20005, 2, 'BR03', 100, 10.99);
165INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
166VALUES(20006, 1, 'BR01', 20, 5.99);
167INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
168VALUES(20006, 2, 'BR02', 10, 8.99);
169INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
170VALUES(20006, 3, 'BR03', 10, 11.99);
171INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
172VALUES(20007, 1, 'BR03', 50, 11.49);
173INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
174VALUES(20007, 2, 'BNBG01', 100, 2.99);
175INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
176VALUES(20007, 3, 'BNBG02', 100, 2.99);
177INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
178VALUES(20007, 4, 'BNBG03', 100, 2.99);
179INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
180VALUES(20007, 5, 'RGAN01', 50, 4.49);
181INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
182VALUES(20008, 1, 'RGAN01', 5, 4.99);
183INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
184VALUES(20008, 2, 'BR03', 5, 11.99);
185INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
186VALUES(20008, 3, 'BNBG01', 10, 3.49);
187INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
188VALUES(20008, 4, 'BNBG02', 10, 3.49);
189INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
190VALUES(20008, 5, 'BNBG03', 10, 3.49);
191INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
192VALUES(20009, 1, 'BNBG01', 250, 2.49);
193INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
194VALUES(20009, 2, 'BNBG02', 250, 2.49);
195INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
196VALUES(20009, 3, 'BNBG03', 250, 2.49);