数据库开发与管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、创建数据库:createdatabase
2、创建数据表:createtable
3、基本的写法:增(insert)、删(delete)、改(update)、查
(select)
Select*from表名where条件或连接条件---查询表中数据
Insert表名(‘’,’’,’’,’’)values(‘’,’’,’’,’’)---------------在行间添加数据
Delete表名where条件-------------删除某表中的某一行数据
Update表名set列名=’’-------------修改某表中的某一列数据
4、基于基本写法而进行的拓展补充:
1)模糊查询(Like/%{0}%)
例:只输入商品名的部分文字就可以查看商品信息(用like做模糊查询)。
select*from Goods where g_Name like'%果壳%'
2)连接条件(内连接查询)
例:按商品类别查看“图书”类商品信息。商品名、状态、原价、折扣、折后价。
select g_Name,g_zhuangtai,g_Price,g_zhekou,g_Price*g_zhekou from Goods,s hangpinTypes where t_Name='图书'and shangpinTypes.t_ID=Goods.t_ID 3)求和函数(Sum)
例:统计每一张订单的总金额,显示订单编号、总金额。
select o_ID,sum(o_Sum)from Orders
group by o_ID
4)分组(group by)
例:按天统计每一种商品的销售额。
select o_Data,t_ID,sum(xiangqing_Price*xiangqing_Number)
from Orders,Ordersxiangqing,Goods
where Orders.o_ID=Ordersxiangqing.o_ID
and Ordersxiangqing.g_ID=Goods.g_ID
and o_Data='2014-3-17'
groupby t_ID,o_Data
5)年月
例:按月统计商城的销售额。
select year(o_Data),month(o_Data),sum(o_Sum)
from Orders
where o_Data>='2014-1-1'and o_Data<='2014-12-31'
groupby year(o_Data),month(o_Data)
6)统计后进行的条件(having)
例:当客户购物总金额大于一定额度,修改客户的级别。
update huiyuanxinxibiao set kehuType
where kehu_ID
in(select kehu_ID from Orders
groupby kehu_ID
having sum(o_Sum)>=100)
7)排列(Order by/asc/desc)
例:查询每一类商品的总金额,并按照商品总额进行降序排列
select t_ID,sum(o_Sum)
from Orders,Ordersxiangqing,Goods
where Orders.o_ID=Ordersxiangqing.o_ID
and Ordersxiangqing.g_ID=Goods.g_ID
groupby t_ID
orderby sum(o_Sum)desc
8)获取当时的时间(Getdate())
例:需要了解所有年龄在~岁之间的会员的名称、籍贯和年龄。
select kehuName,kehuAddress
from huiyuanxinxibiao
where(year(getdate())-year(kehuBirth))<20
or(year(getdate())-year(kehuBirth))>25
9)与Like连用的另一个连接符(_),表示一个字符
例:需要了解姓“黄”且名字中只有两个汉字的会员的会员名、真实姓名、电话和电子邮箱。
select kehuName,kehuTrueName,kehuPhone,kehuE_mail
from huiyuanxinxibiao
where kehuTrueName like'黄_'
10)消除重复(distinct)及统计(count)
例:需要了解在WebShop网站进行了购物并下了订单的会员编号,如果一个会员下了多个订单,
只需要显示一次会员编号。
select count(distinct Orders.o_ID)from Orders,Ordersxiangqing,huiyu anxinxibiao
where Ordersxiangqing.o_ID=Orders.o_ID
and huiyuanxinxibiao.kehu_ID=Orders.o_ID
11)子查询
例:需要了解和“摩托罗拉W380”为同类商品的商品号、商品名称和类别号。
select g_ID,g_Name,t_ID
from Goods
where t_ID=(select t_ID from Goods where g_Name='摩托罗拉W380')
orderby t_ID
12)使用汉字标题
例:查询WebShop数据库中男“VIP会员”的详细情况,并对所有的列使用汉字标题。
select kehu_ID'客户编号',kehuName'用户名',kehuTrueName'客户真实姓名
',(2014-year(kehuBirth))'客户年龄',kehuPassWord'客户密码'
from huiyuanxinxibiao
where kehuType='VIP'and kehuSex='男'
13)外连接查询(right join/on)
例:统计Orders表中每一会员的订单总额.
select kehuName,o_ID,sum(o_Sum)
from Orders right join huiyuanxinxibiao
on Orders.kehu_ID=huiyuanxinxibiao.kehu_ID
group by kehuName,o_ID
14)主键(primary key)
例: