请提交纸质版实验报告
姓名: 班级: 学号:
[实验名称]:SQL
[实验日期]:
[实验目的]:
(1)掌握使用SQL语句创建表、修改表、删除表以及对表中数据进行增加、删除、修改、查询的方法。
(2)掌握使用SQL进行创建视图、查询视图以及创建索引等方法。
[实验要求]:
请根据以下题目写出相应SQL语句。
[实验步骤描述]:
表1 Users表(用户信息表)
列名 | 含义 | 数据类型 | 约束 | sql数据库创建表步骤
username | 用户名 | VARCHAR(20) | PRIMARY KEY |
realname | 真实名称 | VARCHAR(16) | NOT NULL |
age | 年龄 | TINYINT | 大于0小于150 |
balance | 账户余额 | DECIMAL(7,2) | 默认值为0 |
表2 Goods表(商品信息表)
列名 | 含义 | 数据类型 | 约束 |
goodsno | 商品编号 | CHAR(5) | PRIMARY KEY |
goodsname | 商品名称 | VARCHAR(20) | NOT NULL |
price | 价格 | DECIMAL(7.2) | 大于0 |
storage | 库存数量 | INT | 大于0 |
表3 Buy表(购物记录表)
列名 | 含义 | 数据类型 | 约束 |
buyno | 交易记录编号 | INT | PRIMARY KEY |
username | 用户名 | VARCHAR(20) | FOREIGN KEY, NOT NULL |
goodsno | 商品编号 | CHAR(5) | FOREIGN KEY, NOT NULL |
quantity | 购买数量 | INT | 大于0 |
buydate | 购买日期 | DATETIME | |
1.按照表1、2、3中的要求创建表Users、Goods和Buy。
2.修改表Users,添加列address,变长字符串,最长30位。
3.修改表Goods,添加列weight,整型,列unit,定长字符串,最大长度4位。
4.删除表Users中的列address。
5.查询所有商品的goodsno和goodsname。
6.查询所有用户的username和realname。
7.查询所有的购买信息。
8.查询所有商品的goodsname和storage,并将列标题改为“商品名称”和“商品库存”。
9.查询所有购买了00001商品的用户名username。
10.查询年龄大于40岁的用户信息。
11.查询出生在70年代的用户信息。
12.查询手提电脑、鼠标和键盘的价格。
13.查询所有姓“李”的用户的用户名username和真名realname。
14.查询所有不姓“李”的用户的用户名username。
15.查询所有姓“张”或“李”的用户信息。
16.查询真名是两个字的用户信息。
17.查询用户名中含“明”的用户信息。
18.查询哪些用户没有记录年龄。
19.查询用户的信息,按照年龄从小到大显示
20.查询商品信息,按照价格从高到低排序
21.查询用户bird购买的商品数量
22.查询所有用户购买的商品总量
23.查询每个用户购买的商品数量
24.查询购买00001号商品或00002号商品用户的数量
25.查询共有几种商品可售
26.查询每种商品的库存量和库存总金额
27.查询最贵和最便宜的商品名称
28.查询所有用户的平均年龄
29.查询购买商品数量高于1000件的用户名。
30.查询用户bird购买的goodsno,goodsname,price
31.查询李飞购买的商品的goodsno
32.查询李飞购买的商品的goodsno,goodsname,price
33.查询李飞购买的商品的总数量
34.查询年龄最小的用户购买的商品信息
35.查询高于平均商品价格的商品信息
36.查询每个用户购买的商品信息、用户信息
37.查询没有购买商品的用户信息
38.查询所有商品的售出数量及用户数量
39.查询各个年龄段用户购买的商品最高价格、数量和平均价格
40.在表GOODS中插入商品信息(00020,洗衣机,3200,10)
41.在表Users中插入用户信息:username:疯狂的石头,realname:郭帅
42.在表BUYS中插入购买信息:疯狂的石头购买洗衣机2台,购买编号14
43.修改表BUYS的购买信息,疯狂的石头购买了洗衣机是3台
44.修改摄像头的商品价格和库存量,分别是20,100
45.修改用户信息,使bird的banlance和用户fly的balance一样
46.删除用户bird的购买信息
47.删除冯坤的购买信息
48.删除库存量小于100的商品信息
49.创建价格超过1000元(包含1000元)的商品信息视图Goods_View,包含商品的编号,名称,价格和库存数量。
50.查询视图Goods_View中的信息。
51.创建价格超过1000元(包含1000元)的商品信息视图Goods_Check_View,包含商品的编号、名称、价格和库存数量,并且要求对该视图的所有修改满足价格条件。
52.创建用户名为happy的用户所购商品的信息视图happy_View,其中包含用户名、用户真实姓名、所购商品名称、所购数量及购买日期等信息。
53.创建每种商品的销售信息视图Goods_Sales_View,其中包含商品的编号、商品名称、商品的总销售量、购买该商品的人数等信息。
54.在Goods表的price列创建升序索引IDX_Price。
55.在Goods表的storag
56.e列创建降序索引IDX_Storage。
57.创建复合索引Buy_Unite,先在Buy表的username列创建升序索引,若username相同,再在goodsno列创建降序索引。
create database experiment
create Table Users(
username varchar(20) primary key,
realname varchar(16) not null,
age tinyint check(age>0 and age<150),
balance decimal(7,2) default 0
)
create Table Goods(
goodsno char(5) primary key,
goodsname varchar(20) not null,
price decimal(7,2) check(price>0),
storage int check(storage>0)
)
create Table Buy(
buyno int primary key,
username varchar(20) foreign key(username) references Users(username),
goodsno char(5) foreign key(goodsno) references Goods(goodsno),
quantity int check(quantity>0),
buydate datetime,
)
--2
alter table users
add address char(30)
--3
alter table goods
add weight int
alter table goods
add unit char(4)
--4
alter table users
drop column address
--5
dsno from goods
--6
select Users.alname from users
--7
select*from buy
--8
dsname as 商品信息 ,goods.storage as 商品库存 from goods
--9
select users.username from users,buy dsno='00001'
--10
select * from users where age >40
--11
select * from users where age >1970
--12
select goodsname from goods where goodsname='手提电脑' and goodsname ='鼠标'and goodsname='键盘'
--13
select username,realname from users where realname like '李%'
--14
select username from users where realname not like '李%'
--15
select * from users where username like '李%'and username like'张%'
--16
select Users.username from Users where username like '__'
--17
select Users.username from Users where username like '明'
--18
select users.age from users where age is null
--19
select * from users order by users.age asc
--20
select * from Goods order by price desc
--21
select quantity from Buy where username = 'bird'
--22
select SUM(quantity) from Buy
--23
select SUM(quantity) from Buy group by username
--24
select quantity from Buy where goodsno = '00001' or goodsno = '00002'
--25
select COUNT(goodsno) from Goods where storage > 0
--26
select SUM(storage), SUM(storage * price) from Goods group by goodsno
--27
select goodsname from Goods where price = (select MAX(price) from Goods) or price = (select MIN(price) from Goods)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论