网络数据库代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用CREATE DATABASE语句创建数据库
use master
create database sheshangejia
on(name=sheshangejia_data,
filename='F:\数据库\sheshangejia_data.mdf',
size=6,
maxsize=20,
filegrowth=10%)
log on (name=sheshangejia_log,
filename='F:\数据库\sheshangejia_log.ldf',
size=2mb,
maxsize=10mb,
filegrowth=1mb)
go
创建有多个文件和文件组的数据库
use master
create database sheshangejia
on primary
(name=sheshangejia_data,
filename='F:\数据库\sheshangejia_data.mdf',
size=6,
maxsize=20,
filegrowth=10%),
filegroup sheshang
(name=sheshang1,
filename='F:\数据库\sheshang1.ndf',
size=5,maxsize=50,filegrowth=5),
(name=sheshang2,
filename='F:\数据库\sheshang2.ndf',
size=5,maxsize=50,filegrowth=5)
log on (name=sheshangejia_log,
filename='F:\数据库\sheshangejia_log.ldf',
size=2mb,
maxsize=10mb,
filegrowth=1mb)
go
设置数据库选项
alter database student
set recovery full,page_verify checksum
go
查看数据库选项的设置
select n'数据库的恢复模式'
=databasepropertyex('student','recovery')
go
查看数据库空间使用状况信息
use student
go
sp_spaceused
go
使用sp_helpdb存储过程查看数据库
sp_helpdb student
go
更改数据库名称
use master
go
alter database la
modify name=ha
go
扩大数据库的两种方法
通过增加新的数据文件来扩大数据库
use master
go
alter database student
add file
(name=student_data,
filename='F:\数据库\student_data.ldf',
size=2mb,
maxsize=10mb,
filegrowth=1mb)
go
通过扩大数据文件的大小来扩大数据库
【注:可以朝更大的大小方向修改,不可以收缩数据库文件】
alter database student
modify file
(name=student_data,size=8)
go
在指定的文件组中增加文件
alter database lgcom add filegroup fg1
go
alter database lgcom
add file
(name=lgf3,
filename='D:\sqlserverdbdata\lgf3.mdf',
size=5,maxsize=20,filegrowth=10%)
to filegroup fg1
go
【新建文件组的同时不能设置为默认文件组】
将文件组设置为只读状态
alter database lgcom
modify filegroup fg1 read_only
go
创建数据库快照
create database ad_snapshot_123456
on
(name=ad_data,
filename='D:\sqlserverdbdata\ad_sp_123456.snp')
as snapshot of ad
go
分离数据库
use master
go
sp_detach_db lgcom
go
附加分离的数据库
create database lgcom
on (filename='D:\sqlserver\lcbcom_data.mdf')
for attach
go
删除数据库
drop database student
创建表
use sheshangejia
go
create table shetuan.inf
(sname varchar(20) not null ,
sno char(10) not null primary key,
school varchar(20) not null,
tel char(15) not null,
stime datetime,
class char(4) default '校级',
snum int check(snum >0 and snum <5000)
)
在表中添加列
use sheshangejia
alter table shetuan.inf
add email varchar(40)
go
select*
from shetuan.inf
go
删除表
use sheshangejia
drop table shetuan.inf
go
在表中插入数据
use sheshangejia
insert into

shetuan.inf
values ('自律会','1001','华北电力大学','159********','20100202','校级','100','zilvhui@')
go
select*from shetuan.inf
go
更新表中数据
use la
update student
set xixi=300,
price=10
where id=1001
go
删除表中数据
use la
delete student
where id=1001
go
权限设置
use studentdt
grant select on student to c
go
revoke select on student from c
go
【省略了第五章6节,即5.6的事务管理语言】
声明变量和使用变量
use ele
declare @x int
set @x=1
where (@x<2016)
set @x = @x + 1
print @x
go
运算符查询语句
逻辑运算符/赋值运算符/位运算符/比较运算符
use student
select *
from student.inf
where sage>15 and sex='女'
go
字符串串联运算符/复杂表达式【如转换数据类型的string】
use student
select student.inf=sname+' '+tel+' '+'email is '+email
from studentinformation
go
【省略控制流语言、错误捕捉语言、try…catch、@@error、注释的语句,详见第五章43-49】
聚合函数/配置函数/数学函数/字符串函数/系统函数【第五章p69到最后】
use student
select N'人员数量'=count(*)
from student.inf
go
【排名函数:rank&dense_rank】
在表中新增列
use student
alter table student_1
add column_a varchar(20) null
go
删除表中的列
use student
alter table student_1
drop column_a
go
更改空表中的列的数据类型
use student
alter table student_1
alter column_a varchar(20)
go
【identity属性&rowguidcol列省略·第六章32-35】
插入数据或者空值
use book
insert into books
values('7-65-6',n'高等数学',null,n'清华大学出版社',766,95.00,'2006-1-10')
go
向表中插入部分列的数据
use book
insert into books(title,pressname,ISBN)
values (n'高等数学',n'清华大学出版社','7-65-6')
go
使用INSERT…SELECT形式
use book
insert into books(ISBN,title,price)
select producenumber,name,listprice
from ad.product
go
使用SELECT…INTO语句
use book
select producenumber,name,listprice
into new_table
from ad.product
go
使用BULK INSERT语句(批量插入语句,将txt中的数据插入)
use book
bulk insert book.books
from 'C:\Temp\ch07.txt'
with (fieldterminator=',',
rowterminator='\n')
go
更新表中指定的数据(update/where/from)
use book
update books
set page=720,price=81
where ISBN='7-302-9'
go
删除表中的数据
use book
delete from books
where datediff(year,publishdate,getdate())>5
go
删除表中全部数据
TRUNCATE TABLE books
检索指定的数据列
use book
select number,isbn,price
from books
go
检索结果加上行标题
use book
select 'the number of',num,
'the product is',name
from books
go
检索结果改变列标题
use book
select '产品编码' =pnum,
pname as 产品名称,
pyear 年份
from production
go
【数据运算:算术运算符、数学函数、字符串函数】
【使用all&distinct关键字:select disti

nct name,
ALL关键字表示检索所有的数据,包括重复的数据行。
DISTINCT关键字表示仅显示那些不重复的数据行,重复的数据行只显示一次。】

利用order by对检索结果进行排序(单个/多个)
【desc为降序,asc为升序】
use book
select name,cost,price,year
from books
oder by name,year desc,price asc
go
使用TOP (1) PERCENT子句对检索结果进行排序
use book
select top(1) percent name,cost
from books
order by cost desc
go
利用where语句作为搜索条件【也可以有复合搜索条件】
like 可以用于模糊搜索
use book
select name,cost,price
from books
where name like '%yellow%'
go
搜索语句中采用聚合函数
use book
select 数据量=count(*),
成本的最大值=max(cost),
成本的平均值=avg(cost),
成本的方差=var(cost),
成本的标准偏差=stdev(cost)
from books
go
COMPUTE子句中的聚合
use book
select id,date,subtotal,totaldue
from sales.salesorderheader
order by orderdate
compute sum(subtotal),sum(totaldue) by id
go
检索结果分组
use book
select color
颜色相同产品的数量=count(*),
颜色相同产品的最大安全库存量=max(safenum)
from product
where color is not null
group by color
having count(*)>25
go
连接技术
交叉连接
use adventureworks
select pp.productid,name,productnumber,locationid,quantity
from production.product pp
cross join production.productinventory ppi
go
内连接
use adventureworks
select pp.productid,name,productnumber,safetystocklevel,
recordpoint,locationid,quantity
from production.product pp
inner join production.productinventory ppi
on pp.productid=ppi.productid
go
左外连接
use adventureworks
select ,sod,salesorderid
from production.product pp
left outer join sales.salesorderdetail sod
on pp.productid=sod.productid
order by
go
子查询【第七章77/88】
集合运算技术
【EXCEPT运算符从左查询中返回右查询中没有找到的重复值,
INTERSECT运算符则返回左右两个查询语句都包含的所有非重复值。】
公用表表达式【CTE】
CTE是定义在SELECT、INSERT、UPDATE或DELETE语句中临时命名的结果集,
CTE也可以用在视图的定义中。
在CTE中,可以包括对自身的引用,
因此这种表达式也被称为递归CTE。
转置
【PIVOT运算符把表达式中某一列中的数据转换为输出中的多个列,
UNPIVOT运算符则相反。】
创建一个唯一性的聚集索引
use ele
create unique clustered index ind_books_isbn
on books(isbn)
go
创建一个唯一性的非聚集索引
use ele
create unique nonclustered index ind_books_title
on books(title)
go
创建包含性列索引
use ele
create unique nonclustered index ind_books_title
on books(title)
include(pressname)
go
删除索引
drop index ind_books_title
访问指定索引的统计信息
(1.使用DBCC SHOW_STATISTICS命令
2.使用图形化工具。)


使用DBCC SHOW_STATISTICS命令
use ad
dbcc show_statistics ('production.product',
ak_product_name)
go
查看有关索引的碎片信息,
使用sys.dm_db_index_physical_stats系统函数
和使用图形化工具。【第八章34页】
维护索引统计信息
使用UPDATE STATISTICS语句
use ad
UPDATE STATISTICS PRODUCTION.PRODUCT
go
Microsoft SQL Server 2008系统提供了5种约束类型,
即PRIMARY KEY(主键)、
FOREIGN KEY(外键)、
UNIQUE、CHECK、DEFAULT约束。
使用sys.key_constraints目录视图
use ad
select(*)
from sys.key_constraints
go
使用CREATE TABLE语句定义DEFAULT约束
use school
create table student(
id char(20),
gender char(1) default '男')
go
使用ALTER TABLE语句定义DEFAULT约束
add constraint birthdate
default '1995-01-01'
for birthdate
go
使用CREATE TABLE语句定义CHECK约束
gender char(1) check (gender='M' or gender='F')
使用ALTER TABLE语句定义CHECK约束
alter table students
add check (birthdate >= '1990-01-01' and birthdate <='1999-12-31')
在CREATE TABLE语句中定义主键约束
studentid int primary key
定义包含了两个列的主键约束
primary key(universityid,studentid)
UNIQUE约束指定表中某一个列或多个列不能有相同的两行或两行以上的数据存在。
使用ALTER TABLE语句定义UNIQUE约束
use school
alter table students
add unique(SSL)
go
在CREATE TABLE语句中定义外键约束
use ele
create table books
(serialid int identity primary key,
studentid int
foreign key references students(studentid),
date datetime,
bookid varchar(32))
go
在ALTER TABLE语句中定义外键约束
use ele
alter table borrowbooks_sid_a6d
foreign key (studentid)
reference students(studentid)
on delete cascade
go
删除外键约束
use ele
alter table borrowbooks
drop constraint fk_borrowbooks_sid_a6d
go
定义引用同一个表中主键列的外键约束
use ele
create table employees(
emp_num int not null
constraint pk_emp_num primary key,
mgr_num int not null
constraint fk_mgr_num
foreign key references
employees(emp_num))
go
使用WITH NOCHECK子句禁止约束
use ele
alter table students
with nocheck
add constraint ck_students_birthdate
check(birthdate<>'1995-05-01')
go
禁止和解禁约束应用到加载的数据
use ele
alter table students
nocheck constraint ck_students_birthdate
go
alter table students
check constraint ck_students_birthdate
go
创建简单的视图
use ad
create view vw1(name,id,date)
as
select c.firstname+' '+stname,e.id,e.date
from e join c on e.id=c.id
go
使用sp_helptext系统存储过程
use adventureworks
go
sp_helptext date
go
使用WITH ENCRYPTION子句创建视图
create view vw1(name,id,date)
with encryption
as
select c.firstname+' '+stname,e.id,e.date
from e join c on e.id=c.id
go
删除视图
use ad
drop view vw1
通过视图修改数据
创建使用WITH CHECK OPTION子句的视图
use ad
go
create

view employees
as
select id,birthdate
from ad_employees
where birthdate>'1980-1-1'
with check option
go
查看视图中的数据
use ad
select *
from vw1
go
在视图条件范围内更新数据
use ad
update employees
set birthdate='1985-01-01'
where id='99'
go
【使用图形化工具定义视图·第十章22页】
【第十一章存储过程和触发器(不考)】
【备份和还原】

























相关文档
最新文档