数据库实验一

提示: 实验中创建表时所使用的CHECK字段必须在MySQL8.0.2版本以上才会生效

数据库实验一

实验内容

已知某网店数据库(spxs)具有客户表(Client)、商品表(Commidity)、订单表(order)及订单明细表(Order_detail)。数据库表结构定义如下:

image.png
image.png
image.png
image.png

完成下列任务:

 创建数据库spxs。
 创建数据表客户表(Client)、商品表(Commidity)、订单表(order)及订单明细表(Order_detail)。
 按数据表定义建立数据表约束。
 设计并输入数据如下:

image.png
image.png
image.png
image.png

实验程序

  • 测试表
CREATE TABLE `test` (
  id int,
  PRIMARY KEY (`id`),
  CHECK (id>8)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
  • 测试表
CREATE TABLE `test` (
  id VARCHAR(8),
  PRIMARY KEY (`id`),
  CHECK (id REGEXP '[0-9]{8}')
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
  • 创建数据库spxs
CREATE DATABASE spxs;
  • 创建数据表客户表 Client
CREATE TABLE `Client` (
  Client_id VARCHAR(8) NOT NULL PRIMARY KEY,
  Name_c VARCHAR(10),
  Gender_c CHAR(1),
  Mobile_c VARCHAR(11),
  Opendate_d DATE,
  CHECK (CLient_id REGEXP '[0-9]{8}')
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


INSERT INTO Client VALUES
('04130001','王平',0,'13004130022','2010-09-01'),
('04130002','李丽',0,'13004130112','2010-10-01'),
('04130003','张玉龙',1,'13004130898','2011-10-01'),
('04130004','李晓峰',0,'13004230111','2011-10-02'),
('04130005','金龙路',1,'13004130444','2011-10-05'),
('04130006','刘晓明',0,'13004130999','2011-10-10'),
('04130007','李金华',0,'13004132323','2010-11-01');
  • 创建数据表商品表 Commidity
CREATE TABLE `Commidity` (
  Goods_id VARCHAR(10) NOT NULL PRIMARY KEY,
  Gname_c VARCHAR(30),
  CityforProduction_c VARCHAR(30),
  Gtype_c CHAR(2),
  Gcount_n int,
  PriceforUnit_n decimal(8,2),
  Discount_n decimal(4,2),
  CHECK (Gcount_n >0 AND PriceforUnit_n>0 AND 0.1<=Discount_n <=1)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


INSERT INTO Commidity VALUES
('10001','咖啡','沈阳',1,100,20.00,0.90),
('10002','绿茶','上海',1,200,3.00,1.00),
('10003','可乐','武汉',1,300,6.00,1.00),
('10004','酸奶','抚顺',1,2000,40.00,1.00),
('20001','毛巾','上海',2,1000,20.00,0.80),
('20002','香皂','上海',2,1000,12.00,1.00),
('20003','牙膏','长沙',2,2010,11.00,1.00),
('30001','方便面','沈阳',3,1000,5.00,1.00),
('30002','香肠','抚顺',3,2000,10.00,1.00),
('30003','面包','抚顺',3,1010,10.00,1.00);
  • 创建数据表订单表 Order_wss
CREATE TABLE `Order_wss` (
  Order_id CHAR(10) NOT NULL PRIMARY KEY,
  Client_id VARCHAR(8),
  Orderdate_d DATE,
  Orderitems_n INT,
  TotalPrice_n DECIMAL(8,2),
  FOREIGN KEY(Client_id) REFERENCES Client(Client_id),
  CHECK (Orderitems_n>=0 AND TotalPrice_n>=0)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


INSERT INTO Order_wss VALUES 
('100001','04130001','2019-09-09',3,80.00),
('100002','04130002','2019-10-09',4,129.00),
('100003','04130003','2019-10-19',4,206.00),
('100004','04130005','2019-10-29',4,200.00);
  • 创建数据表订单明细表Order_detail
CREATE TABLE `Order_detail` (
  Seqnum_n INT PRIMARY KEY,
  Order_id CHAR(10) NOT NULL,
  Goods_id VARCHAR(10),
  PriceforUnit_n DECIMAL(8,2),
  Discount_n DECIMAL(8,2),
  Amount_n INT,
  Price_n DECIMAL(8,2),
  FOREIGN KEY(Order_id) REFERENCES Order_wss(Order_id),
  FOREIGN KEY(Goods_id) REFERENCES Commidity(Goods_id),
  CHECK (PriceforUnit_n>=0 AND 0.1<=Discount_n<=1 AND Amount_n>=0 AND Price_n>=0)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


INSERT INTO Order_detail VALUES
(100,'100001','10001',20.00,0.90,3,54.00),
(101,'100001','10002',3.00,1.00,2,6.00),
(102,'100001','30002',10.00,1.00,2,20.00),
(103,'100002','30001',5.00,1.00,1,5.00),
(104,'100002','30003',10.00,1.00,2,20.00),
(105,'100002','20001',20.00,0.80,2,32.00),
(106,'100002','10001',20.00,0.90,4,72.00),
(107,'100003','10004',40.00,1.00,4,160.00),
(108,'100003','20001',20.00,0.80,1,16.00),
(109,'100003','30001',5.00,1.00,2,10.00),
(110,'100003','30002',10.00,1.00,2,20.00),
(111,'100004','30002',10.00,1.00,2,20.00),
(112,'100004','30003',10.00,1.00,4,40.00),
(114,'100004','20001',20.00,0.80,5,80.00),
(115,'100004','20002',12.00,1.00,5,60.00);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,029评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,395评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,570评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,535评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,650评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,850评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,006评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,747评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,207评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,536评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,683评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,342评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,964评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,772评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,004评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,401评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,566评论 2 349