目录
一、准备好工具
本人使用的是Mariadb,在这个网站MariaDB Foundation - MariaDB.org,下载完成后,进行安装,可在本地先设置一些基础,我是在本地设置了数据库密码,具体教程参考windows安装mysql详细步骤_小了白了白¥的博客-CSDN博客_mysql windows 安装
二、创立数据库及文件
在设置完成了以后,打开软件,开始创立数据库 代码 :create database 数据库名
create database mobileSale
创立完了数据库以后开始进行建立表格(在开启建立表格之前进行调用数据库 :use 数据库名,创立3个表格,stock,user,ordertb
stock(库存表):
create table stock(
mobID varchar(50) primary key,
brand varchar(50) not null,
model varchar(30) not null,
color varchar(30) not null,
memSize varchar(10) not null,
price float not null,
stockNum int not null);
user(客户表):
create table user
(
uID varchar(10) primary key,
uName varchar(50) not null,
passwd varchar(20) not null,
sex char(2) not null check(sex in('男','女')),
email varchar(30),
phone varchar(30),
address varchar(50) default '地址不详'
);
ordertb(订单表):
create table ordertb
(
orderID int(10)
uID varchar(10) not null,
mobID varchar(50) not null,
orderNum int not null,
orderTime date not null,
status tinyint(1),
deliveryTime date,
primary key(orderID)
);
可能会出现代码地址或者约束条件有问题,如果有问题可以参考/* SQL错误(1067):Invalid default value for 'AddressId' */_洁娃的博客-CSDN博客
三、添加数据
库存表添加数据
insert into stock values
('m00001','华为','P20','亮黑色','64GB',3288,2312),
('m00002','华为','P20','亮黑色','128GB',3488,1798),
('m00003','华为','P20','极光色','64GB',3388,2499),
('m00004','华为','P20','极光色','128GB',3488,1133),
('m00005','华为','P30','亮黑色','64GB',3988,580),
('m00006','华为','P30','亮黑色','128GB',4388,400),
('m00007','华为','P30','极光色','64GB',3988,340),
('m00008','华为','P30','极光色','128GB',4288,2010),
('m00009','小米','小米8','黑色','64GB',3499,1920),
('m00010','小米','小米8','白色','128GB',3699,2311);
用户表添加数据
insert into user values
('u0001','n01','123456','男','34687653@qq.com','13896501267','天津市河东区'),
('u0002','n02','123456','男','56256781@qq.com','13689772233','山东省济南市'),
('u0003','n03','123456','女','20987122@qq.com','18590190717','四川省成都市');
订单表添加数据
insert into ordertb values
('E00001','u0001','m00001',200,'2019-06-22',1,'2019-06-30'),
('E00002','u0002','m00002',150,'2019-06-22',1,'2019-06-30'),
('E00003','u0002','m00003',50,'2019-07-05',1,'2019-07-15'),
('E00004','u0003','m00004',48,'2019-08-10',1,'2019-08-20'),
('E00005','u0003','m00005',135,'2019-09-26',1,'2019-09-29');
四、筛选数据(题目)
在答题之前还有一个问题,就是可能会出现中文不兼容需要将编码改为utf8mb4格式
第一题------统计orderNum)
SELECT orderID,orderNum FROM ordertb
第二题------(统计华为P20的库存量)
SELECT model,color,stockNum FROM stock WHERE model='P20'
第三题------(统计华为不同型号和颜色的库存量并降序排列)
SELECT model,color,stockNum FROM stock WHERE brand='华为' ORDER BY stockNum desc;
第四题---(提取华为手机颜色为亮黑色的订单如下数据:订单号,型号,颜色,内存大小,订单数量)
SELECT o.orderID 订单号,s.brand,s.model 型号,s.color 颜色,s.memSize 内存大小,o.orderNum 订单数量 FROM stock AS s INNER JOIN ordertb AS o
ON s.mobID=o.mobID WHERE s.model='P20' AND s.color='亮黑色';