站在用戶角度ios
站在商家的角度 設計
設計表code
建表blog
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `customer` -- ---------------------------- DROP TABLE IF EXISTS `customer`; CREATE TABLE `customer` ( `cid` int(11) NOT NULL auto_increment, `cname` varchar(20) default NULL, `cphone` varchar(11) default NULL, `caddress` varchar(200) default NULL, PRIMARY KEY (`cid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for `merchant` -- ---------------------------- DROP TABLE IF EXISTS `merchant`; CREATE TABLE `merchant` ( `mid` int(11) NOT NULL auto_increment, `mname` varchar(20) default NULL, `mphone` varchar(11) default NULL, `maddress` varchar(200) default NULL, PRIMARY KEY (`mid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for `orders` -- ---------------------------- DROP TABLE IF EXISTS `orders`; CREATE TABLE `orders` ( `oid` int(11) NOT NULL auto_increment, `odatetime` datetime default NULL, `ostate` varchar(20) default NULL, `osummoney` double default NULL, `cid` int(11) NOT NULL, PRIMARY KEY (`oid`), KEY `cid` (`cid`), CONSTRAINT `order_ibfk_1` FOREIGN KEY (`cid`) REFERENCES `customer` (`cid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for `ordersitem` -- ---------------------------- DROP TABLE IF EXISTS `ordersitem`; CREATE TABLE `ordersitem` ( `oiid` int(11) NOT NULL auto_increment, `iobuynum` int(11) default NULL, `iosummoney` double default NULL, `pid` int(11) NOT NULL, `oid` int(11) NOT NULL, PRIMARY KEY (`oiid`), KEY `pid` (`pid`), KEY `oid` (`oid`), CONSTRAINT `ordersitem_ibfk_2` FOREIGN KEY (`oid`) REFERENCES `orders` (`oid`), CONSTRAINT `ordersitem_ibfk_1` FOREIGN KEY (`pid`) REFERENCES `product` (`pid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for `product` -- ---------------------------- DROP TABLE IF EXISTS `product`; CREATE TABLE `product` ( `pid` int(11) NOT NULL auto_increment, `pname` varchar(20) default NULL, `pprice` double default NULL, `premain` int(11) default NULL, `mid` int(11) NOT NULL, PRIMARY KEY (`pid`), KEY `mid` (`mid`), CONSTRAINT `product_ibfk_1` FOREIGN KEY (`mid`) REFERENCES `merchant` (`mid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
插入語句排序
顧客ci
insert into customer values(null,'張三','15639854081','南陽'); insert into customer values(null,'李四','17439804082','上海'); insert into customer values(null,'王五','13438454088','長春'); insert into customer values(null,'趙六','18239454061','上海'); insert into customer values(null,'劉八','15439854382','北京'); insert into customer values(null,'旺財','17433854087','廣東');
商家rem
insert into merchant values(null,'廣州寶潔','800-400-300','廣州'),(null,'北京老闆','808-300-446','北京'),(null,'鄭州宇通','888-400-533','鄭州');
產品get
insert into product values(null,'佳潔士炫白牙齒牙膏',6.8,300,1),(null,'舒膚佳',4.5,400,1),(null,'飄柔',20.8,5,1),(null,'海飛絲',32.5,20,1); insert into product values(null,'老闆油煙機',566.00,40,2),(null,'老闆插座',56.00,400,2),(null,'老闆風扇',128.00,360,2),(null,'老闆壓力鍋',288.00,460,2); insert into product values(null,'宇通油電混合客車',200000,10,3),(null,'宇通電動客車',120000,20,3),(null,'宇通重卡',400000,60,3);
訂單 源碼
insert into orders values(1,'2016-03-02 12:30:02','未支付',0,1); insert into orders values(2,'2016-02-02 09:30:02','已支付',0,3); insert into orders values(3,'2016-01-02 12:28:02','已支付',0,5); insert into orders values(4,'2016-01-02 12:28:02','已支付',0,4);
訂單項產品
--訂單1:有三件商品 insert into ordersitem values(null,3,20.40,1,1),(null,2,41.6,3,1),(null,1,400000,11,1); --訂單2:有兩件商品 insert into ordersitem values(null,1,566,5,2),(null,1,128,7,2); --訂單3:有一件商品 insert into ordersitem values(null,1,120000,10,3); --訂單4:有三件商品 insert into ordersitem values(null,3,20.40,1,4),(null,1,6.8,1,4),(null,1,400000,11,4);
任務
答案
1. SELECT pname 商品名, premain 剩餘量 FROM product WHERE pname LIKE '老闆%' ORDER BY premain ; 2. SELECT pname 商品名, premain 剩餘量, pprice 價格, mname 所屬廠家, maddress 產地 FROM product, merchant WHERE product.mid = merchant.mid ; 3.SELECT pname 商品名, premain 剩餘量, pprice 價格, cname 顧客名, odatetime 訂單日期 FROM product, customer, orders, ordersitem WHERE ordersitem.pid = product.pid AND ordersitem.oid = orders.oid AND orders.cid = customer.cid AND orders.oid = 2 ; 4.UPDATE orders SET orders.ostate = '已支付', orders.osummoney = (SELECT (SELECT SUM( ordersitem.iobuynum * ordersitem.iosummoney ) FROM ordersitem WHERE ordersitem.oid = orders.oid AND ordersitem.oid = 1 GROUP BY ordersitem.oid)) WHERE orders.oid = 1 ; 參考:http :/ / huangyunbin.iteye.com / blog / 1190882 5.原子操做 DELETE FROM ordersitem WHERE oid=3; DELETE FROM orders WHERE oid=3; 6. SELECT SUM(ordersitem.iobuynum) 售出數量, SUM(ordersitem.iobuynum*product.pprice) 總價, product.pname 商品名稱, customer.cname 顧客名字 FROM product, customer, orders, ordersitem WHERE ordersitem.pid = product.pid AND ordersitem.oid = orders.oid AND orders.cid = customer.cid AND product.pid = 1 GROUP BY customer.cid; 7. SELECT SUM(ordersitem.iobuynum) 售出數量, SUM( ordersitem.iobuynum * product.pprice ) 總價, product.pname 商品名字 FROM product, ordersitem, merchant WHERE ordersitem.pid = product.pid AND product.mid = merchant.mid AND merchant.mname = "廣州寶潔" GROUP BY product.pname ; 8. SELECT SUM(ordersitem.iobuynum) 售出數量, SUM( ordersitem.iobuynum * product.pprice ) 總價, product.pname 商品名字 FROM product, ordersitem, merchant WHERE ordersitem.pid = product.pid AND product.mid = merchant.mid GROUP BY product.pname ORDER BY ordersitem.`iobuynum` DESC;
附:全部操做源碼
/* Navicat MySQL Data Transfer Source Server : 123 Source Server Version : 50027 Source Host : localhost:3306 Source Database : mygist Target Server Type : MYSQL Target Server Version : 50027 File Encoding : 65001 Date: 2016-03-16 20:00:31 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `customer` -- ---------------------------- DROP TABLE IF EXISTS `customer`; CREATE TABLE `customer` ( `cid` int(11) NOT NULL auto_increment, `cname` varchar(20) default NULL, `cphone` varchar(11) default NULL, `caddress` varchar(200) default NULL, PRIMARY KEY (`cid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of customer -- ---------------------------- INSERT INTO `customer` VALUES ('1', '張三', '15639854081', '南陽'); INSERT INTO `customer` VALUES ('2', '李四', '17439804082', '上海'); INSERT INTO `customer` VALUES ('3', '王五', '13438454088', '長春'); INSERT INTO `customer` VALUES ('4', '趙六', '18239454061', '上海'); INSERT INTO `customer` VALUES ('5', '劉八', '15439854382', '北京'); INSERT INTO `customer` VALUES ('6', '旺財', '17433854087', '廣東'); -- ---------------------------- -- Table structure for `merchant` -- ---------------------------- DROP TABLE IF EXISTS `merchant`; CREATE TABLE `merchant` ( `mid` int(11) NOT NULL auto_increment, `mname` varchar(20) default NULL, `mphone` varchar(11) default NULL, `maddress` varchar(200) default NULL, PRIMARY KEY (`mid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of merchant -- ---------------------------- INSERT INTO `merchant` VALUES ('1', '廣州寶潔', '800-400-300', '廣州'); INSERT INTO `merchant` VALUES ('2', '北京老闆', '808-300-446', '北京'); INSERT INTO `merchant` VALUES ('3', '鄭州宇通', '888-400-533', '鄭州'); -- ---------------------------- -- Table structure for `orders` -- ---------------------------- DROP TABLE IF EXISTS `orders`; CREATE TABLE `orders` ( `oid` int(11) NOT NULL auto_increment, `odatetime` datetime default NULL, `ostate` varchar(20) default NULL, `osummoney` double default NULL, `cid` int(11) NOT NULL, PRIMARY KEY (`oid`), KEY `cid` (`cid`), CONSTRAINT `order_ibfk_1` FOREIGN KEY (`cid`) REFERENCES `customer` (`cid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of orders -- ---------------------------- INSERT INTO `orders` VALUES ('1', '2016-03-02 12:30:02', '已支付', '400144.4', '1'); INSERT INTO `orders` VALUES ('2', '2016-02-02 09:30:02', '已支付', '694', '3'); INSERT INTO `orders` VALUES ('4', '2016-01-02 12:28:02', '已支付', '0', '4'); -- ---------------------------- -- Table structure for `ordersitem` -- ---------------------------- DROP TABLE IF EXISTS `ordersitem`; CREATE TABLE `ordersitem` ( `oiid` int(11) NOT NULL auto_increment, `iobuynum` int(11) default NULL, `iosummoney` double default NULL, `pid` int(11) NOT NULL, `oid` int(11) NOT NULL, PRIMARY KEY (`oiid`), KEY `pid` (`pid`), KEY `oid` (`oid`), CONSTRAINT `ordersitem_ibfk_1` FOREIGN KEY (`pid`) REFERENCES `product` (`pid`), CONSTRAINT `ordersitem_ibfk_2` FOREIGN KEY (`oid`) REFERENCES `orders` (`oid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of ordersitem -- ---------------------------- INSERT INTO `ordersitem` VALUES ('1', '3', '20.4', '1', '1'); INSERT INTO `ordersitem` VALUES ('2', '2', '41.6', '3', '1'); INSERT INTO `ordersitem` VALUES ('3', '1', '400000', '11', '1'); INSERT INTO `ordersitem` VALUES ('4', '1', '566', '5', '2'); INSERT INTO `ordersitem` VALUES ('5', '1', '128', '7', '2'); INSERT INTO `ordersitem` VALUES ('7', '3', '20.4', '1', '4'); INSERT INTO `ordersitem` VALUES ('8', '1', '6.8', '1', '4'); INSERT INTO `ordersitem` VALUES ('9', '1', '400000', '11', '4'); -- ---------------------------- -- Table structure for `product` -- ---------------------------- DROP TABLE IF EXISTS `product`; CREATE TABLE `product` ( `pid` int(11) NOT NULL auto_increment, `pname` varchar(20) default NULL, `pprice` double default NULL, `premain` int(11) default NULL, `mid` int(11) NOT NULL, PRIMARY KEY (`pid`), KEY `mid` (`mid`), CONSTRAINT `product_ibfk_1` FOREIGN KEY (`mid`) REFERENCES `merchant` (`mid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of product -- ---------------------------- INSERT INTO `product` VALUES ('1', '佳潔士炫白牙齒牙膏', '6.8', '300', '1'); INSERT INTO `product` VALUES ('2', '舒膚佳', '4.5', '400', '1'); INSERT INTO `product` VALUES ('3', '飄柔', '20.8', '5', '1'); INSERT INTO `product` VALUES ('4', '海飛絲', '32.5', '20', '1'); INSERT INTO `product` VALUES ('5', '老闆油煙機', '566', '40', '2'); INSERT INTO `product` VALUES ('6', '老闆插座', '56', '400', '2'); INSERT INTO `product` VALUES ('7', '老闆風扇', '128', '360', '2'); INSERT INTO `product` VALUES ('8', '老闆壓力鍋', '288', '460', '2'); INSERT INTO `product` VALUES ('9', '宇通油電混合客車', '200000', '10', '3'); INSERT INTO `product` VALUES ('10', '宇通電動客車', '120000', '20', '3'); INSERT INTO `product` VALUES ('11', '宇通重卡', '400000', '60', '3');