附:(创建“商品管理数据库”的SQL语句)

--建立"商品管理数据库"数据库--
create database 商品管理数据库
on(name='商品管理数据库_m',
filename='D:\商品管理系统\商品管理数据库_m.mdf',
size=6mb,filegrowth=1mb,maxsize=unlimited)
log on(name='商品管理数据库_l',
filename='D:\商品管理系统\商品管理数据库_l.ldf',
size,filegrowth)
go

use 商品管理数据库
--建立"客户信息表"数据表--
create table 客户信息表
(客户编号 )not null primary key,
客户姓名 )not null,
联系电话 )not null,
地址 )not null,
邮箱 )null)
--为"客户信息表"的"联系电话"设置唯一约束--
alter table 客户信息表
add constraint UN_客户信息表_联系电话
unique (联系电话)
--为"客户信息表"的"地址"设置默认约束--
alter table 客户信息表
add constraint DF_客户信息表_地址
default '辽宁沈阳'for 地址
--为"客户信息表"的"邮箱"设置检查约束--
alter table 客户信息表
add constraint CK_客户信息表_邮箱
check (邮箱 like '_%@_%._%')

--建立"商品类型表"数据表--
create table 商品类型表
(商品类型编号 )not null primary key,
商品类型名 )not null)

--建立"商品信息表"数据表--
create table 商品信息表
(商品编号 )not null primary key,
商品类型编号 )not null,
商品名称 )not null,
商品单位 )not null,
产地 )not null)
--为"商品信息表"的"商品类型编号"设置外键约束--
alter table 商品信息表
add constraint FK_商品类型表_商品信息表_商品类型编号
foreign key (商品类型编号)
references 商品类型表(商品类型编号)
--为"商品信息表"的"商品单位"设置默认约束--
alter table 商品信息表
add constraint DF_商品信息表_商品单位
default '个'for 商品单位
--为"商品信息表"的"产地"设置默认约束--
alter table 商品信息表
add constraint DF_商品信息表_产地
default '辽宁沈阳'for 产地

--建立"进货信息表"数据表--
create table 进货信息表
(进货编号 int not null primary key,
商品编号 )not null,
进货单价 ,)not null,
进货数量 int not null,
进货金额 decimal,
进货日期 date not null)
--为"进货信息表"的"商品编号"设置外键约束--
alter table 进货信息表
add constraint FK_商品信息表_进货信息表_商品编号
foreign key (商品编号)
references 商品信息表(商品编号)
--为"进货信息表"的"进货单价"设置检查约束--
alter table 进货信息表
add constraint CK_进货信息表_进货单价
)
--为"进货信息表"的"进货数量"设置检查约束--
alter table 进货信息表
add constraint CK_进货信息表_进货数量
)
--为"进货信息表"的"进货金额"设置??约束--
--为"进货信息表"的"进货日期"设置默认约束--
alter table 进货信息表
add constraint DF_进货信息表_进货日期
default getdate()for 进货日期

--建立"销售信息表"数据表--
create table 销售信息表
(销售编号 int not null primary key,
商品编号 )not null,
销售单价 ,)not null,
销售数量 int not null,
销售金额 decimal,
销售日期 date not null,
客户编号 )not null)
--为"销售信息表"的"商品编号"设置外键约束--
alter table 销售信息表
add constraint FK_商品信息表_销售信息表_商品编号
foreign key (商品编号)
references 商品信息表(商品编号)
--为"销售信息表"的"销售单价"设置检查约束--
alter table 销售信息表
add constraint CK_销售信息表_销售单价
)
--为"销售信息表"的"销售数量"设置检查约束--
alter table 销售信息表
add constraint CK_销售信息表_销售数量
)
--为"销售信息表"的"销售金额"设置??约束--
--为"销售信息表"的"销售日期"设置默认约束--
alter table 销售信息表
add constraint DF_销售信息表_销售日期
default getdate()for 销售日期
--为"销售信息表"的"客户编号"设置外键约束--
alter table 销售信息表
add constraint FK_客户信息表_销售信息表_客户编号
foreign key (客户编号)
references 客户信息表(客户编号)

--建立"库存信息表"数据表--
create table 库存信息表
(库存编号 int not null,
商品编号 )not null,
库存数量 int not null)
--为"库存信息表"的"商品编号"设置外键约束--
alter table 库存信息表
add constraint FK_商品信息表_库存信息表_商品编号
foreign key (商品编号)
references 商品信息表(商品编号)
--为"库存信息表"的"库存数量"设置检查约束--
alter table 库存信息表
add constraint CK_库存信息表_库存数量
)

--添加表数据--
--添加"客户信息表"数据--
','辽宁沈阳','zhf@163.com')
','辽宁大连','zxt@163.com')
','辽宁锦州','qc@163.com')
','辽宁沈阳','sf@163.com')
','辽宁盘锦','lxm@163.com')
','辽宁大连','zx@163.com')
--把查询到"客户信息表"的表数据生成(添加到)一张新数据表"客户信息表01"--
select * into 客户信息表01 from 客户信息表
--把查询到"客户信息表"的表数据添加到一张已存在的数据表"客户信息表01"中--
insert into 客户信息表01 select*from 客户信息表

--添加"商品类型表"数据--
insert 商品类型表 values('RZL001','日杂类')
insert 商品类型表 values('SPL001','饮料类')
insert 商品类型表 values('SPL002','食品类')
insert 商品类型表 values('WJL001','文具类')

--添加"商品信息表"数据--
','SPL001','可口可乐','个','辽宁沈阳')
','SPL001','矿泉水','个','辽宁沈阳')
','SPL001','雪花啤酒','个','辽宁沈阳')
','SPL001','青岛啤酒','个','辽宁沈阳')
','SPL002','德芙巧克力(牛奶)','个','辽宁沈阳')
','SPL002','士力架','个','辽宁沈阳')
','SPL002','彩虹糖','盒','辽宁沈阳')
','WJL001','中华铅笔','个','辽宁沈阳')
','WJL001','大演算','个','辽宁沈阳')
','WJL001','便签本','个','辽宁沈阳')
','WJL001','曲别针','盒','辽宁沈阳')
','WJL001','真彩签字笔(黑)','个','辽宁沈阳')
','WJL001','真彩签字笔(红)','个','辽宁沈阳')
','WJL001','鸵鸟钢笔水(深蓝)','个','辽宁沈阳')
','WJL001','鸵鸟钢笔水(纯蓝)','个','辽宁沈阳')
','RZL001','雕牌透明皂','个','辽宁沈阳')
','RZL001','中华牙膏','个','辽宁沈阳')
','RZL001','心相印纸巾(无味*10)','个','辽宁沈阳')
','RZL001','飘柔洗发(240ml)','个','辽宁沈阳')
','RZL001','枪手杀虫剂(200ml)','个','辽宁沈阳')
','RZL001','金鸡鞋油','个','辽宁沈阳')

--添加"进货信息表"数据--
,,200.00,'2012-11-01')
,,200.00,'2012-11-01')
,,400.00,'2012-11-01')
,,60.00,'2012-11-01')
,,600.00,'2012-11-01')
,,30.00,'2012-11-01')
,,60.00,'2012-11-01')
,,60.00,'2012-11-02')
,,600.00,'2012-11-02')
,,300.00,'2012-11-02')
,,60.00,'2012-11-02')
,,600.00,'2012-11-02')
,,120.00,'2012-11-02')
,,180.00,'2012-11-02')
,,210.00,'2012-11-02')
,,300.00,'2012-11-02')
,,200.00,'2012-11-02')
,,110.00,'2012-11-03')
,,300.00,'2012-11-03')
,,450.00,'2012-11-03')
,,400.00,'2012-11-03')
,,300.00,'2012-11-03')
,,750.00,'2012-11-03')
,,2300.00,'2012-11-04')
,,1600.00,'2012-11-04')
,,400.00,'2012-11-04')
,,300.00,'2012-11-04')
,,600.00,'2012-11-04')
,,600.00,'2012-11-04')
,,300.00,'2012-11-04')
,,05.00,'2012-11-04')

--添加"销售信息表"数据--
,,')
,,')
,,')
,,')
,,,')
,,')

--添加"库存信息表"数据--
,)
,)
,)
,)
,)
,)
,)
,)
,)
,)
,)
,)
,)
,)
,)
,)
,)
,)
,)

-----------------分割线-------------------------------------------------------------------------------
---函数
--在“商品管理数据库”中创建一个名为“f_proinfor”的内联表值函数,当输入商品编号时返回商品信息
use 商品管理数据库
go
))
returns table
as
return
select*from 商品信息表
where 商品编号 =@prono
go

--在“商品管理数据库”中创建一个名为“f_prosale”多语句表值函数,当输入商品编号时返回该商品的销售信息
use 商品管理数据库
go
))
returns @prosale table
(
商品号 ),
商品名 ),
销售数量 int,
销售时间 date
)
as
begin
insert @prosale
select p.商品编号,商品名称,销售数量,销售日期
from 商品信息表 p,销售信息表 s
where p.商品编号=s.商品编号
and p.商品编号=@prono
return
end
go

--在“商品管理数据库”中创建一个名为“f_jhslh”标量函数,当输入商品编号时显示该商品的进货总数量
use 商品管理数据库
go
))
returns int
begin
declare @jhalh int
select @jhalh=SUM(进货数量)
from 进货信息表
where 商品编号 =@prono
return @jhalh
end
go

---索引
--为 "商品管理数据库"中“进货信息表”的“进货日期”字段创建一个名为“IX_进货信息表_进货日期”的非聚集不唯一索引
create nonclustered
index IX_进货信息表_进货日期
on 进货信息表(进货日期)
--为 "商品管理数据库"中“商品信息表”的“商品类型名”字段创建一个名为“IX_商品类型表_商品类型名”的非聚集唯一索引
create unique nonclustered
index IX_商品类型表_商品类型名
on 商品类型表(商品类型名)

---视图
--在“商品管理数据库”中查询出2012年11月2日进货商品的信息,要求显示出商品编号、商品名称、进货数量和进货日期字段信息,将结果创建到名为“v_商品_进货”的视图中
use 商品管理数据库
go
create view vs_商品_进货成功
as
select 商品信息表.商品编号,商品名称,进货数量,进货日期,'进货成功' '备注' from 商品信息表,进货信息表 where 商品信息表.商品编号=进货信息表.商品编号
and 进货日期='2012-11-02'

--在“商品管理数据库”中查询出商品名称中带“酒”的商品的详细销售信息(显示商品编号、商品名称、销售单价、销售数量、销售金额、客户姓名和销售日期)
use 商品管理数据库
go
create view v_销售信息
as select 商品信息表.商品编号,商品名称,销售单价,销售数量,销售金额,客户姓名,销售日期
from 销售信息表
join 商品信息表 on 销售信息表.商品编号=商品信息表.商品编号
join 客户信息表 on 客户信息表.客户编号=销售信息表.客户编号
where 商品信息表.商品名称 like '%酒%'

---存储过程
--创建名为“p_客户信息表_地址”的存储过程,用来实现在“商品管理数据库”的“客户信息表”中查询“辽宁沈阳”的客户信息
use 商品管理数据库
go
select*from 客户信息表 where 地址='辽宁沈阳' --创建前可以先查询一下要封装的记录

use 商品管理数据库
go
create proc p_客户信息表_地址 --创建存储过程
as
select*from 客户信息表 where 地址='辽宁沈阳'

--创建名为“p_客户信息表_地址x”的存储过程,用来实现在“商品管理数据库”的“客户信息表”中查找指定地址的客户信息
use 商品管理数据库
go
create proc p_客户信息表_地址x
)
as
select*from 客户信息表 where 地址=@address

--创建名为“p_客户信息表_姓名”的存储过程,将查询“客户信息表”中客户编号为20130001的客户信息姓名,并将客户姓名赋值给一个输出参数的查询代码封装到该存储过程中
create proc p_客户信息表_姓名
) output
as
')
--select @name=客户姓名 from 客户信息表 where 客户编号='20130001'

--**带输入参数的存储过程、带输出参数的存储过程 的创建和执行的总例:(创建名为“p_客户信息表_编号_姓名”的存储过程,要求将查询“客户信息表”中指定客户编号的客户姓名显示出来。并执行存储过程查看结果)
create proc p_客户信息表_编号_姓名
),) output --定义了一个输入参数@num和一个输出参数@name,数据类型和取值范围与“客户信息表”中的“客户编号”字段和“客户姓名”字段一致
as
select @name=客户姓名 from 客户信息表 where 客户编号=@num

use 商品管理数据库
go
),) --定义了@num和@name两个用来与存储过程中的参数传递和接收值。
' --使用set命令为变量@num赋值,以便将值传给输入参数@num。
exec p_客户信息表_编号_姓名 @num,@name output --exec执行存储过程时按顺序将两个变量带入到存储过程中。
print '客户编号为'+@num+'的客户的姓名为:'+@name --print语句使用了字符串连接运算,输出详细结果。

---触发器
--(after类型触发器)(创建名为“t_客户信息表_电话”的触发器,当“商品管理数据库”中“客户信息表”的客户编号为20130001的客户联系电话修改为13600003333操作成功执行后,在结果打印一条“记录已修改!”的提示信息。
use 商品管理数据库
go
create trigger t_客户信息表_电话
on 客户信息表
after update --after类型触发器
as
print '记录已修改!'
select*from 客户信息表

--(instead of类型触发器)(创建名为“t_客户信息表_电话no”的触发器,当“商品管理数据库”中“客户信息表”的客户编号为20130001的客户联系电话修改为13600004444时,不执行修改操作,并在结果打印一条“记录未修改!”的提示信息。
use 商品管理数据库
go
create trigger t_客户信息表_电话no
on 客户信息表
instead of update
as
print '记录未修改!'
select*from 客户信息表

--(after类型触发器)(当“商品管理数据库”中有商品售出时,除了向“销售信息表”中添加销售记录之外,还应该为“库存信息表”中相应商品减掉与销售数量等值的库存数量。创建名为“t_销售表_库存表”的触发器。
use  商品管理数据库
go
create trigger t_销售表_库存表
on 销售信息表
after insert
as
update 库存信息表
set 库存数量=库存数量-(select 销售数量 from inserted)

创建“商品管理数据库”的SQL语句


附:(创建“学生选课数据库”的SQL语句)

附:(创建“学生选课数据库”的SQl语句)
--建立"学生选课数据库"数据库--
create database 学生选课数据库
on(name='学生选课_m',
filename='D:\学生选课系统\学生选课_m.mdf',
size%,maxsize=10mb),
(name='学生选课_n',
filename='D:\学生选课系统\学生选课_n.ndf',
size=2mb,filegrowth=1mb,maxsize=5mb)
log on(name='学生选课_l',
filename='D:\学生选课系统\学生选课_l.ldf',
size=1mb,filegrowth=1mb,maxsize=unlimited)
go

use 学生选课数据库
--建立"学生信息表"数据表--
create table 学生信息表
(学号 )not null primary key,
姓名 )not null,
性别 )null,
专业班级 )not null)
--为"学生信息表"的"性别"设置检查约束--
alter table 学生信息表
add constraint CK_学生信息表_性别
check (性别='男' or 性别='女')

--建立"课程信息表"数据表--
create table 课程信息表
(课程号 )not null primary key,
课程名 )not null,
学分 real not null)
--为"课程信息表"的"课程号"设置检查约束--
alter table 课程信息表
add constraint CK_课程信息表_课程号
check (课程号 like 'z%' or 课程号 like 'x%')
--为"课程信息表"的"学分"设置检查约束--
alter table 课程信息表
add constraint CK_课程信息表_学分
)

--建立"选课信息表"数据表--
create table 选课信息表
(学号 )not null,
课程号 )not null,
成绩 real not null)
--为"选课信息表"的"学号"和"课程号"设置主键约束--
alter table 选课信息表
add constraint PK_选课信息表_课程号
primary key(学号,课程号)
--为"选课信息表"的"学号"设置外键约束--
alter table 选课信息表
add constraint FK_学生信息表_选课信息表_学号
foreign key(学号)
references 学生信息表(学号)
--为"选课信息表"的"课程号"设置外键约束--
alter table 选课信息表
add constraint FK_课程信息表_选课信息表_课程号
foreign key(课程号)
references 课程信息表(课程号)
--为"选课信息表"的"成绩"设置检查约束--
alter table 选课信息表
add constraint CK_选课信息表_成绩
 )

--添加表数据--
--添加"学生信息表"数据--
','李菲','女','11摄影01班')
','林斌','男','11摄影01班')
','张晶晶','女','11摄影01班')
','曹业成','男','11摄影01班')
','梁良','男','11摄影01班')
','赵晓峰','男','11摄影02班')
','韩霞','女','11摄影02班')
','杜晓静','女','11摄影02班')
','罗飞','男','11摄影02班')
','李林','女','11摄影02班')
','钱伟','男','11动漫01班')
','李月','女','11动漫01班')
','杨华','男','11动漫01班')
','朱莉','女','11动漫01班')
','赵玉平','男','11动漫01班')
','杨小平','女','11动漫02班')
','李辉','男','11动漫02班')
','张梅','女','11动漫02班')
','杨斌','男','11动漫02班')
','王野','男','12软件01班')
','吴山','男','12软件01班')
','马振峰','男','12软件01班')
','韩文','女','12软件01班')
','李小明','男','12网技02班')
','张华','女','12网技02班')
','罗远新','男','12网技02班')
','高胜','男','12网技02班')

--添加"课程信息表"数据--
)
)
)
)
)
)
)
)
)
)

--添加"选课信息表"数据--
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)

----------------------分割线------------------------------------------------------------------------

--从"学生信息表"中查询"11动漫01班"学生信息,并将其添加至一张名为"动漫专业11级"的新数据表中--
select * into 动漫专业11级 from 学生信息表 where 专业班级='11动漫01班'
--从"学生信息表"中查询"11动漫02班"学生信息,并将其添加至数据表"动漫专业11级"中--
insert into 动漫专业11级 select * from 学生信息表 where 专业班级='11动漫02班'

创建“学生选课数据库”的SQL语句


SQL Server 【附】创建"商品管理数据库"、"学生选课数据库"的SQL语句的更多相关文章

  1. SQL Server 2012实施与管理实战指南(笔记)——Ch5启动SQL Server服务和数据库

    5.启动SQL Server服务和数据库 在数据库和服务启动过程中,经常会出现的问题: 1.SQL Server实例无法正常启动 2.系统数据库无法正常启动 3.网络配置失败 4.用户数据库无法启动 ...

  2. sql server 用户创建与权限管理

    要想成功访问 SQL Server 数据库中的数据, 我们需要两个方面的授权:一.获得准许连接 SQL Server 服务器的权利: 二.获得访问特定数据库中数据的权利(select, update, ...

  3. SQL Server 2008创建数据库

    1.数据.数据库.数据管理系统基本概念: 数据:人类有用信息的符号化表示. 数据库:按照数据结构来组织.存储和管理数据的一个仓库. 数据库管理系统(DBMS):可维护.存储并为应用系统提供数据的软件系 ...

  4. sql server 脚本创建数据库邮件

    sql server 脚本创建数据库邮件代码: --脚本创建数据库邮件 --1.开启数据库邮件 RECONFIGURE WITH OVERRIDE GO RECONFIGURE WITH OVERRI ...

  5. sql server 无法创建数据库,错误代码:1807

    SQL Server 不能创建数据库,发生错误:1807 :未能获得数据库 'model' 上的排它锁.请稍后重试操作. declare   @sql   varchar(100)     while ...

  6. 第十二篇 SQL Server代理多服务器管理

    本篇文章是SQL Server代理系列的第十二篇,详细内容请参考原文 在这一系列的上一篇,我们查看了维护计划,一个维护计划可能会创建多个作业,多个计划.你还简单地看了SSIS子系统,并查看了维护计划作 ...

  7. 转 在SQL Server中创建用户角色及授权(使用SQL语句)

     目录 要想成功访问 SQL Server 数据库中的数据 我们需要两个方面的授权 完整的代码示例 使用存储过程来完成用户创建 实例 要想成功访问 SQL Server 数据库中的数据, 我们需要两个 ...

  8. SQL Server中tempdb的管理

    原文:SQL Server中tempdb的管理 资料来自: http://blogs.msdn.com/b/sqlserverstorageengine/archive/tags/tempdb/ ht ...

  9. SQL SERVER大话存储结构(6)_数据库数据文件

            数据库文件有两大类:数据文件跟日志文件,每一个数据库至少各有一个数据文件或者日志文件,数据文件用来存储数据,日志文件用来存储数据库的事务修改情况,可用于恢复数据库使用.     这里分 ...

随机推荐

  1. Reactjs+Webpack+es2015 入门HelloWord(一)

    链接,自己很久前总结的blog. https://my.oschina.net/tangyuanyu/blog/730265

  2. 二、JavaScript语言--JS基础--JavaScript进阶篇--流程控制语句

    1.if语句--做判断 if语句是基于条件成立才执行相应代码时使用的语句. 语法: if(条件) { 条件成立时执行代码} 注意:if小写,大写字母(IF)会出错! 假设你应聘web前端技术开发岗位, ...

  3. 修改idea的运行内存

    1.如果本地的jdk是32位的,那么最大的内存只能支持到1024 2.测试jdk位数 public class Test { public static void main(String[] args ...

  4. 在ubuntu上配置apue的运行环境

    http://www.apuebook.com/code3e.html 在上面的网站下载代码包,解压得到源码 sudo apt-get install libbsd-dev 安装这个支持,在解压包的m ...

  5. @Query注解的用法(Spring Data JPA)

    参考文章:http://www.tuicool.com/articles/jQJBNv 1. 一个使用@Query注解的简单例子 @Query(value = "select name,au ...

  6. 左右TextView旋转门问题

    最近由于旋转门问题的一个客户找我,当在字符25更多的时候是不是走了,后来,我在重现的问题,发现问题如下面: 问题1.人物25几个月之内可以去. 问题2.在人物25个月,虽然比屏幕宽度,不去 问题3.屏 ...

  7. git 使用方式

    一.常用操作命令 1.初始化操作 git config --global user.name '<name>' # 设置提交者名称 git config --global user.ema ...

  8. 20155227 实现mypwd

    20155227 实现mypwd 1 学习pwd命令 2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 3 实现mypwd 4 测试mypwd 课堂学习笔记 实现mypwd 在 ...

  9. Echarts整合spring boot进行开发

    一.开始前的准备 Echarts官网下载: https://echarts.baidu.com/download.html

  10. 代码控如何实现配置fiddler

    很多小哥哥总觉得测试点点点很low,总想码代码.那么fiddler除了一些手动设置外,还可以进行丰富的代码编写,用以完成任务. 打开fiddler,工具栏选择Rules->Customize R ...