综合阅览:数据库总复习前半部分
1. 创建数据库
create database mydb --创建数据库
on primary --主文件组
( name = 'mydb_pri',
filename = 'c:/mydb_pri.mdf ', --主数据文件MDF
size = 10,
maxsize = 50,
filegrowth = 5
)
log on
( name = 'mydb_log',
filename = 'c:/mydb_log.ldf ', --日志文件LDF
size = 10,
maxsize = 20,
filegrowth = 2
)
2. --查看数据库
sp_helpdb 'mydb'
3. --创建表格
create table sp
(
spbh int identity(1001,1) primary key, --商品编号
spmc varchar(20), --商品名称
spsj money, --商品售价
scrq datetime --生产日期
)
4. --修改表
alter table sp
add spsl int --添加字段
alter table sp
alter column spsl bigint --修改字段
alter table sp
drop column spsl --删除字段
go
5. 增删改查记录
--插入数据
insert sp
values('cocacola',1.8,3.0,1011,101,'2006-9-20')
--修改数据
update sp
set spjj = 1.0,spsj = 2.2
where spmc = 'cola'
--删除一行数据
delete sp
where spmc = 'cola'
--查看表(*表示所有字段)
select * from sp
6. 约束,完整性
主键约束 primary key
外键约束 foreign key references 表名(列名)
检查约束 check(字段 in('男','女'))
默认约束 default '男',
非空约束 not null
7. 单表查询
|
Select 字段列表 from 表名 |
top n 前n行记录 distinct 限制不重复的记录 | |
|
Where |
条件 not | and | or 条件 |
不能用聚合函数 可用between … and … 可用in(,,) |
|
Like 通配符 |
% 0到n个字符 [ ] 中括号里任意某个字符 | |
|
Group by 字段1,字段2 |
| |
|
Having 条件 |
可用聚合函数 sum,avg,max,min,count | |
|
Order by字段1,字段2 |
Asc desc | |
8. 函数
--显示当前日期
select getdate()
--显示当前月份
select datepart(m,getdate())
--两个日期相差的天数
datediff(day,日期1,日期2)
--类型转换函数
Cast(字段或变量 as 新数据类型)
Convert(新数据类型, 字段或变量, 样式)
9. 多表连接查询
1> 交叉连接
Select 字段列表 from 表1 cross join 表2
Select 字段列表 from 表1,表2
2> 内连接
Select 字段列表 from 表1 inner join 表2
on 条件
3> 外连接
Select 字段列表 from 表1 left | right | full outer join 表2
on 条件
10. 子查询(常见格式)
1> Select 字段列表 from 表1
Where 字段 [not] in
(Select 字段 from 表2)
2> Select 字段列表 from 表1
Where [not]exists
(Select 字段 from 表2
Where表1.字段 = 表2.字段)
3> Select 字段列表 from 表1
Where 字段 {= < >} [any | all]
(Select 字段 from 表2)
综合实践:数据库总复习前半部分
实践1:创建和维护SQL Server数据库 (1) 使用下表提供的值,创建数据库ClassNorthwind
参 数 值 数据库名称 ClassNorthwind 数据库文件名 ClassNorthwind_Data 位置 C:/data 初始大小 25MB 文件组 Primary 文件增长 1MB 最大文件长度 100MB 事务日志文件名称 ClassNorthwind_Log 位置 C:/data 初始大小 15MB 文件增长 1MB 最大文件长度 30MB
(2) 使用sp_helpdb存储过程浏览有关数据库ClassNorthwind的信息
实践2:创建和修改SQL Server数据库的表
(1) 创建数据库ClassNorthwind中的雇员表Employees、雇员工资表wage和工资税表tax
雇员表Employees:
|
字 段 名 称 |
类 型 |
空 否 |
|
EmployeeID |
Int,identity ,初值为1,增量为1 |
NOT NULL |
|
Name |
VarChar(10) |
NOT NULL |
|
Sex |
Char(2) |
NOT NULL |
|
Birthdate |
Datetime |
NULL |
|
Address |
Varchar(50) |
NULL |
|
Phone |
Char(13) |
NULL |
|
Remark |
text |
|
雇员工资表wage:
|
字 段 名 称 |
类 型 |
空 否 |
|
EmployeeID |
Int |
NOT NULL |
|
Name |
VarChar(10) |
NOT NULL |
|
Wage |
money |
NOT NULL |
|
Putdate |
Date |
NOT NULL |
工资税表tax:
|
字 段 名 称 |
类 型 |
空 否 |
|
EmployeeID |
Int |
NOT NULL |
|
Name |
VarChar(10) |
NOT NULL |
|
Tax |
money |
NOT NULL |
|
Paydate |
Date |
NOT NULL |
(2) 向雇员表Employees中添加列Department varchar(20) NULL
(3) 修改雇员表Employees中的列Address varchar(60)
(4) 删除雇员表Employees中的列Remark
(5) 用存储过程sp_help查看三个表的信息
(6) 向雇员表Employees中插入十个雇员信息
(7) 向雇员工资表wage中插入十个雇员相应的工资发放情况信息
(8) 向工资税表tax中插入十个雇员相应的交税情况
实践3:查询SQL Server数据库表的信息
(1) 列出每个雇员的工资、税款情况一览表
(2) 列出工资超过1000元,而未交税的雇员
(3) 列出工资在1000元以下,不应该交税的雇员情况一览表
(4) 列出只领工资而未交税的雇员表
(5) 对以上四种情况各作一统计报告
(6) 删除三个表中的所有记录
实践4:SQL Server数据库的高级查询
(1) 分别列出在雇员表Employees中而未领工资和未交税的男、女雇员情况
(2) 查询电话号码区号为(010)、工资大于3000的男雇员情况
(3) 查询交税最多的六名雇员情况
(4) 列出工资在前六名的,而交税并不在前六名的雇员情况
1351

被折叠的 条评论
为什么被折叠?



