sql基础,必须会的————随便整理、杂乱无章
1、sqlserver2008r2的安装
2、数据库与表的建立、增加、删除、修改。
3,索引的概念,包括聚集与非聚集的区别。全文索引的建立与如何使用全文索引。
4,重新生成索引,重新组织索引。
5,建立维护计划,包括备份、清除、收缩、重新组织与生成索引等等。
6,数据库的订阅与复制。
7,理解完全备份,差异备份,日志备份的概念与实施关系。
8,了解事务、触发器、存储过程的、自定义函数的建立。
语句:
临时表用法:
select * into #tmpe from book
select * into famp from #tmpe
select *from #tmpe
查某正在使用的数据库的spid 数据库ID应该是固定不变的。
USE master
select * from sysprocesses where dbid=db_id(‘数据库名‘) order by program_name
查看某登陆用户的进程
exec sp_who ‘sa‘
exec sp_who ‘14‘
结束进程 :
kill 58(spid号)
drop datebase 数据库名
例:drop database ddd
建立全文索引,例:
/*建立测试环境*/
if object_id(‘tb‘) is not null
drop table tb
go
create table tb
(id int identity(1,1),
title varchar(200),
detail varchar(1000),
constraint pk_id primary key(id)
)
insert into tb
select ‘火箭即将签下新秀射手‘,‘ 据悉,巴丁格与火箭队的合同谈判是于昨天完成的,巴丁格将得到与泰勒一样的合同。此前媒体曝光泰勒的合同为期四年,总价值万美元,其中前两年为保障性合同。巴丁格预计会在接下来几天内正式宣布签约加盟火箭。‘
union all
select ‘韦弗被曝已与希腊豪门签约‘,‘据国际篮球网报道,前火箭队球员范-韦弗已经与希腊豪门奥林匹亚科斯队签订了合同。韦弗得到一份为期两年,总价值万美元的合同。‘
union all
select ‘马刺豪掷千金为对抗湖人‘,‘马刺队在今夏休赛期补充了几员大将,主教练格雷格-波波维奇日前在接受Yahoo!体育采访时透露,马刺队不惜缴纳奢侈税构建豪华阵容就是为了对抗湖人队,争取拿到第五个总冠军。‘
union all
select ‘华莱士未曾想过离开汽车城‘,‘此前本-华莱士已经同意重返底特律活塞,并且以老将底薪和活塞签下一份年万美元的合同,而据《每日先驱报》专栏作家米克-麦格劳透露,这位当年叱咤NBA赛场的内线防守悍将甚至从来就没有考虑过要离开活塞队。‘
union all
select ‘米勒竟好横刀夺爱追求人妻‘,‘对于那些没看过雷吉·米勒在步行者创造“米勒时间”的“后”们,应该怎么介绍这位前NBA球星呢?难道从前天洛杉矶马里布海滩上空那架飞机拉的横幅说起?恐怕没有哪位家长愿意这么做。‘
union all
select ‘姚明:没把上海当投资项目乐得生意做了好人当了‘,‘“姚蜜”说:不缺广告效应的姚明收购濒临绝境的上海东方篮球俱乐部,说明他是真的想为曾经的母队做点事情。‘
union all
select ‘火箭不敌奇才终结年纪录‘,‘此役姚麦组合状态糟糕,姚明投中得到分个篮板次盖帽,麦迪投中拿下分个篮板次助攻,两人联手竟不如得到分个篮板次助攻次盖帽的贾米森。‘
select * from tb
select * from tb
where contains((title,detail),‘姚明‘)
select * from tb where contains(detail,‘姚明 near 上海‘)
select * from tb where contains((title,detail),‘姚明‘)
select * from tb where contains(detail,‘"姚明*"‘)
select * from tb where contains(detail,‘”姚明” or “上海”‘)
select * from tb where contains(detail,‘”姚明” and "上海"‘)
select * from tb where contains(detail,‘”姚明” and not “上海”‘)
select * from tb where contains(detail,‘"姚明 上海"‘)
select * from tb where contains((title,detail),‘"姚明 上海"‘)
以上为举例,大家可以测试一下,也许哪有不对。
图形界面上也可以操作建立,主要有两个步骤:
1,建立全文目录:展开某数据库=》存储=>建立全文目录。
2,展开要建全文索引的表,点右键=》全文索引=》定义全文索引,按提示下一步即可。
创建表,ID自增:
create table abc(id int identity(1,2),test int)
insert abc select 1
union all select 2
union all select 3
select * from abc
事务:简单说,就是规定了一个范围,在这个范围内的所有语句,必须全部执行完成,如果有一条未完成,则所有语句都不算完成。
例如,A银行账户往B银行账户转钱,A账户钱减少后,B账户必须增加相应金额,如果B账户未增加,A账户不能减少。举个例子:
事务里有回滚操作。
begin tran
create table test2
(
id int identity(1,1),
name varchar(15),
age int
)
insert into test2
select ‘王成‘,15 union all
select ‘李一‘,16 union all
select ‘孙晓‘,18
save tran mytran
delete from test2 where name = ‘王成‘
rollback tran mytran
commit tran
select * from test2
游标:这个没什么大用暂时认为,类似于指针:举个例子:
declare test_cursor cursor scroll for
select * from test2
open test_cursor
declare @id int
declare @age int
declare @name nvarchar(10)
fetch last from test_cursor into @id,@name,@age
print @id
print @age
print @name
close test_cursor
deallocate test_cursor
注意定义与结束游标,这个有待研究,虽然看起来没什么用,但是继然存在,就一定有他的用处。
--简单的存储过程
create proc mypro3 @bookname varchar(50)
as
begin
if (select price from book where book_name like @bookname) >= 29
return 2
else
return 1
end
--简单的调用
declare @return_value int
exec @return_value = mypro3 ‘%Linux%‘
print @return_value
if @return_value =2
print ‘这本书太贵了‘
else
print ‘这本书还可以‘
go
正确的结果如下
2
这本书太贵了
--查询一个库里有多少个表
select * from sysobjects where type = ‘u‘
--查询一个表里有多少字段。
select count(*) from syscolumns where id =
(select id from sysobjects where name = ‘testcopy‘)
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。