CREATEDATABASEIFNOTEXISTSbookshopCHARACTERutf8;二、建立数据库表
1、建立用户表
#图书类型(图书类型id号,图书类型名,图书简介)createtableb_booktype(typeIdintauto_incrementprimarykey,typeNamevarchar(50)notnull,typeNotetext);3、建立图书信息表
#图书信息表(书id号,书类型id,书名,简介,作者,价格)createtableb_bookinfo(bookIdintauto_incrementprimarykey,bookTypeidintnotnull,bookNamevarchar(50)notnull,bookNotetext,bookAuthorvarchar(10)notnulldefault'佚名',bookMoneyfloat(6,2)notnull,);4、建立管理员表
#管理员表(管理员id号,账号,密码,权限等级)createtableb_manager(aIdintAUTO_INCREMENTPRIMARYKEY,aNamevarchar(10)NOTNULLUNIQUEKEY,aPwdvarchar(20)NOTNULL,aLevelintNOTNULLdefault'1');5、建立购物车表
#购物车表(购物车id,用户id,订单总数,订单总价格,是否支付,支付方式)createtableb_shoppingcart(sIdintauto_incrementprimarykey,uIdintnotnull,sOrdercountintnotnull,sTotalpricefloat(8,2)notnull,sIspayvarchar(6)default'未支付',sPaymethodvarchar(20)default'无',CONSTRAINTchk_sIspayCHECK(sIspayin('未支付','已支付')));6、建立订单表
#订单表(订单id,用户id,书id号,订单日期,订单数量,订单价格,备注,收件人,地址,收件人手机号,订单状态)createtableb_order(oIdintauto_incrementprimarykey,uIdintnotnull,bookIdintnotnull,oDatedatetimenotnull,oNumintnotnull,oPricefloat(6,2)notnull,oMessagevarchar(100),oAddresseevarchar(20)notnull,oAddressvarchar(100)notnull,oPhonevarchar(11)notnull,oStatusvarchar(6)default'未完成',CONSTRAINTchk_oStatusCHECK(sStatusin('未完成','已完成')));三、建立触发器
1、
#2、当订单表中使用insert语句之后,将所有的书价乘以数量赋值给订单价格,再将所有同一个用户id的订单放入到购物车中。delimiter//createtriggerorder_numAndShoppingcartbeforeinsertonb_orderforeachrowbegindeclaresumint;declarepricefloat;setprice=(selectbookMoneyfromb_bookinfoasbiwherebi.bookId=new.bookId);setsum=(selectcount(oId)fromb_orderasbowherebo.uId=new.uId);updateb_ordersetoPrice=price*new.oNumwhereuId=new.uId;if(selectuIdfromb_shoppingcartwhereuId=new.uIdisnull)theninsertb_shoppingcart(uId,sOrdercount,sTotalprice)values(new.uId,sum,price*new.oNum);elseupdateb_shoppingcartsetsOrdercount=sum,sTotalprice=sTotalprice+(price*new.oNum)whereuId=new.uId;endif;end;//delimiter//