查找my.ini文件,查看与character-set相关的配置项,如果不是utf8,请将其更改为utf8。
在cmd窗口中使用命令行登录数据库服务器。
查看当前服务器上有哪些数据库?写出命令及查询结果。
设置当前字符集为gbk。
创建自己的数据库,后面所有的练习都以这个数据库为基础,命名自由(如自己的名字拼音简写)。
选择自己的数据库。
请问char和varchar有何区别?
对于字符串数据来说,是使用单引号好还是双引号好?为什么?
表名 | goods,商品表 |
列名 | 类型/长度 | 是否为空 | 默认值 | 索引 | 附加 | 备注 |
goods_id? | ? | ? | ? | ? | ? | 商品编号 |
goods_sn? | ? | ? | ? | ? | ? | 商品货号 |
goods_name? | ? | ? | ? | ? | ? | 商品名 |
cate? | ? | ? | ? | ? | ? | 类型 |
brand? | ? | ? | ? | ? | ? | 品牌 |
market_price? | ? | ? | ? | ? | ? | 市场价格 |
shop_price? | ? | ? | ? | ? | ? | 商城价格 |
goods_number? | ? | ? | ? | ? | ? | 库存量 |
goods_img? | ? | ? | ? | ? | ? | 商品图片 |
is_hot? | ? | ? | ? | ? | ? | 是否热销 |
goods_desc? | ? | ? | ? | ? | ? | 商品详情 |
add_time? | ? | ? | ? | ? | ? | 添加时间 |
补充说明 | ? |
创建一个商品表goods,字段已经列出,请填写完整:
写出创建商品表的SQL语句。
分别查看创建表语句和表结构。
向goods表中插入记录,各种insert语句都使用一遍。
?
?
[注:下面的题目(13-27)都是ecshop商城中的ecs_goods表来练习,为使结果清晰,建议只选择所需的列,而不要用select * ]
查询主键为30的商品。
查询不属于第三个栏目的所有商品。[说明:栏目是指cat_id列,下同]
查询本店价格高于3000的商品。
查询本店商品价格低于或等于100元的商品。
取出第4个栏目或第11个栏目的商品(两种方式)。
取出本店价格大于100小于500的商品(两种方式)。
取出名字以"诺基亚"开头的商品。
取出名字为"诺基亚Nxx"(比如诺基亚N96)的商品。
取出不在第3个栏目和不在第11个栏目的商品。
取出名字不以"诺基亚"开头的商品。
取出价格大于100且小于300,或者大于4000且小于5000的商品。
取出第3个栏目下面价格在1000到3000之间,并且点击量大于5,以"诺基亚"开头的系列商品。
取出第3个栏目下面价格小于1000或价格大于3000,并且点击量大于5的系列商品。
将商城价格低于100元的商品的商城价格和市场价格上调50元。
删除所有的充值卡,即cat_id为13、14和15的列。
?
?
[注:下面的练习(28-35)都以自己的商品表,即goods表进行操作,]
将表名goods更改为my_goods。
将cat列和brand列,分表更名为cat_id和brand_id,并且其类型更改为smallint。
将goods_weight的列类型更改为decimal(10,2)。
在goods_weight前面增加click_count列(表示点击量),类型为int。
在is_hot列后面,增加is_best(是否精品),is_new(是否新品),类型为tinyint。
删除add_time列。
删除主键(注意不是删除goods_id列,而是删除主键,这一列仍然保留)。
增加主键,主键仍为goods_id列。
?
mark和jack各自创建了一张表,用来存储创下纪录的的鱼的信息。Mark的表中列有鱼的俗名、学名、捕获地点以及重量。Jack的表????也有鱼的俗名,重量,还包括了捕获者的姓名,捕获日期,而且他的地点也被分成两列,分别纪录捕获鱼的水域和州名。你认为哪个表设计的更好?
?
?
实体之间的关系有几种?
在MySQL中,使用外键要注意些什么?
规范化表有哪些好处?常见的规范有哪几种?
第一范式(1NF)的条件是什么?
什么情况下才会出现部分依赖和传递依赖?
你认为在设计表的时候,应该达到几范式?
数据库设计题
学生
? ID 姓名 | 分数
Q Q T Q Q T
9/3 9/6 9/9 9/16 9/23 10/1 |
1? | 范统 | 14? | 10? | 73? | 14? | 15? | 67? |
2? | 沈京兵 | 17? | 10? | 68? | 17? | 14? | 73? |
3? | 史珍香 | 15? | 10? | 78? | 12? | 17? | 82? |
4? | 赖月京 | 14? | 13? | 85? | 13? | 19? | 79? |
?
这是一张纸质记分簿里的某一页,学生的姓名和ID号列在表格的左侧,考试(T)或测验(Q)的举行日期则列在表格的顶部。表格显示,9月的3、6、16、23日进行了测验,9月9日和10月1日进行了考试。
请设计出满足3NF的数据库来纪录这些信息。为避免混淆,可专门创建一个数据库,命名为school。
?
[注:下面的题目(44-49)针对我们自己的商城数据库而言]
完成类别表category的设计。
完成品牌表brand的设计。
完成属性表attribute的设计。
完成商品属性对应表goods_attr的设计。
完成订单表order的设计。(可以扩展完成相关表的设计)
完成订单商品对应表的设计。
?
[注:下面的题目(50-67)都是ecshop商城中的ecs_goods表来练习]
查出最贵商品的商品信息。
查出最大(最新)的商品的编号。
查出最便宜商品的价格。
取出最小(最旧)的商品编号。
查出本店所有商品的库存量(注:goods_number表示库存量)。
查出本店所有商品的平均价格。
查出本店共有多少种商品。
查出本店商品价格和市场价格的差价。
查出每个商品所积压的货款。(注:货款 = 本店价格 * 库存量,下同)
查询本店积压的总货款。
查询出每个栏目下积压的总货款。
查询比市场价省200元以上的商品及该商品所省的钱 (分别用where和having实现)。
查询积压货款超过2W的栏目,以及该栏目积压的货款。
按价格由高到低排序。
按栏目由低到高排序,栏目内部按价格由高到低排序。
取出价格最高的前三名商品。
取出点击量前3到前5名的商品。
查出每个栏目下的最贵的商品。(^_^,有难度哦)
?
设有成绩表如下所示,试查询两门及两门以上不及格同学的平均分。
编号 | 姓名 | 科目 | 分数 |
1? | 张三 | 数学 | 90? |
2? | 张三 | 语文 | 50? |
3? | 张三 | 地理 | 40? |
4? | 李四 | 语文 | 55? |
5? | 李四 | 政治 | 45? |
6? | 王五 | 政治 | 30? |
?
?
?
?
[注:下面的题目(69-76)都是ecshop商城中的ecs_goods表来练习]
取出第3个栏目下的商品的商品ID,商品名,栏目名,价格。
取出第4个栏目下的商品的商品ID,商品名,品牌名,价格。
取出所有商品的商品ID,商品名,栏目名,品牌名,价格。
统计每个类别下商品的种类,结果要显示类别名和种类数。
查询出最新一行商品。(多种方法)
查出每个栏目下的最贵的商品。(多种方法,^_^,有难度哦)
查出有商品的栏目的栏目信息。(多种方式)
查出每个栏目的父栏目,一并显示出来。
?
此题以43题的数据库为基础,在school数据库中,我们有一张student数据表用来记录学生、一张grade_event表来记录已经发生的考试或测验事件,还有一个score数据表来列出每位学生的每次考试或测验成绩。如果某个学生在某次测验或测试的当天生病了,score表就不会有该名学生在那次事件中的成绩。因故误考的学生需要参加补考,请你找出这些误考学生的详细信息,包括姓名、日期和事件(Q或者T)。注,若没有数据,可以用school.sql文件。(^_^,有难度哦)
?
?
为了记录足球比赛的结果,设计表如下,
team:参赛队伍表
字段名称 | 类型 | 描述 |
teamID? | int? | 主键 |
teamname? | varchar(20)? | 队伍名称 |
?
match:赛程表
字段名称 | 类型 | 描述 |
matchID | int? | 主键 |
hostTeamID? | int? | 主队的ID |
gusetTeamID? | int? | 客队的ID |
marchResult? | varchar(20)? | 比赛结果 |
matchTime? | date? | 比赛日期 |
?
其中,match赛程表中的hostTeamID与guestTeamID 都和team表中的teamID关联,查出2006-6-1到2006-7-1之间举行的所有比赛,并且用以下形式列出:
拜仁 2:0 不莱梅 2006-6-21
?
?
?
?
?
?
?
?
?
其他题目补充:
有如下两张表,
a表
id num
a 5
b 10
c 15
d 10
?
b表
id num
b 5
c 15
d 20
e 99
?
希望得到如下结果:
a 5
b 15
c 30
d 30
e 99
?
?
在SNS网站中,一个用户可以关注另一个用户,也可以被另一个用户关注,也可以互相关注,即常说的,我关注的,关注我的,好友。
?
请问,选择要设计一个用户表,如何实现上述功能。
?
?
在这个表中,选择要实现查询我关注的,以及我的好友,如何实现这个功能?
?