sqlserver基础问,sqlserver的基本语句
SQLserver 2005 数据库基础问题,我是新手,求答案,能详细就详细点,谢谢!
1、可以的,附加的时候可以指定路径
发展壮大离不开广大客户长期以来的信赖与支持,我们将始终秉承“诚信为本、服务至上”的服务理念,坚持“二合一”的优良服务模式,真诚服务每家企业,认真做好每个细节,不断完善自我,成就企业,实现共赢。行业涉及成都橡塑保温等,在成都网站建设、全网整合营销推广、WAP手机网站、VI设计、软件开发等项目上具有丰富的设计经验。
2、可以的,只要有“有权限的用户”
3、只有mdf可以的,只有ldf不行
4、非系统、非创建者
5、本机创建的话,本机要有sql数据库引擎服务, 脱离了服务器,还想在服务器上创建那是梦想
6、离婚和杀人的区别
7、要在帮助文件中找
8、有一个数据库服务,就是一个实例,实例的表象: 类似于几台不同的电脑
关于sqlserver数据库的若干问题
呵呵,很期待楼主的奖励分啊~~~,那么我们开始~~~~~~~力求讲得明白,生动~~~啊,啊,哈~~~
1】可以使用分离数据库,操作:对数据库点击右键--属性--任务--分离。
提示:在分离之前要先设置数据库为单用户,不设置这个,你无法成功分离。具体操作也很简单,也是对数据库右键--属性--选项--看右边的--》状态下--限制访问--改为single,确定退出,在执行分离。
如果还不明白,就访问微软的地址看步骤:
2】说触发器这东西。概念性东西太多了,紧简要的说
触发器是建立在一张数据表上的,对表的操作有3个动作,插入数据,删除数据,更新数据。我们现在假定有两个表:A和B,现在要实现一个功能,在往A表中插入一条数据的同时,也希望插入到B中,那么怎么实现呢?最好的办法就是在A表上建立一个insert触发器。请看这个例子,你自己动手逐步执行。体会一哈:
--创建测试表,插入测试数据
create table a(a1 varchar(10),a2 varchar(10),a3 varchar(10),a4 varchar(10))
create table b(b1 varchar(10),b2 varchar(10))
--创建插入数据的触发器,在a表上
go
create trigger insert_data
on a
for insert
as
declare @a varchar(20),@b varchar(20)
select @a=a1,@b=a4 from inserted
insert into b(b1,b2)
select @a,@b
GO
--插入数据测试
insert a(a1,a2,a3,a4)
select '新华书店','二零零四年','三月','九百元'
--查看结果,发现b表也有数据了耶~~~~
select * from a
select * from b
3】函数啊,它的功能跟系统函数min(),count(),sum()是一样的,唯一的区别,就是是你写的,,哈哈~~~
这里要实现这样的功能,比如一个表AA中有2条记录
1,'a'
1,'b'
我们希望得到这样的格式,就变成了1条记录(也就是合并字符串的意思)
1,'a,b'
这个时候,我们自定义的函数就发挥功效,注意一点在引用函数的时候要指明所有者,就如例子中写的dbo.my_str()一定要函数前加这个dbo否则报错。
请看我的示范:
--自定义函数,表AA(a,b):
--建立测试表,插入测试数据
create table aa (a int,b varchar(20))
insert aa
select 1,'see' union all select 2,'look' union all select 1,'smell'
union all select 1,'point' union all select 2,'touch'
GO
create function my_str(@id int)
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str=''
select @str=@str+','+cast(b as varchar) from AA where a=@id
set @str=right(@str,len(@str)-1)
return(@str)
End
--查看结果
select distinct a,dbo.my_str(a) b from aa
--删除测试
drop table a,b,aa
drop function my_str
drop trigger insert_data
--最后的一张图~~~~,如果楼主有点收获,那么寡人就没白写这些~~:-)哈~
SQLServer 初级问题
1.用"a"是为了方便你输入,a就是authors,你不用a也可以,但用到authors 的地方你都得输这个字段,感觉麻烦。“authors as a ”的意思就是用 a替代 authors.
2.join 就是进行连接。
jion 语句有三种,inner join, left outer join 和 right outer join 都可以简写,分别为jion,left join,right jion。
jion语句可以用来组合两个表中的记录,只要在公共字段之中有相符的值即可,该语句联合两个表查询得到的结果是可以添加新的数据,可以把它看成将两个具有相关内容的表联接在一起新生成的表,而一般的select 语句没有这个功能。
1) 内连接,inner join ... on
语句格式:
FROM (((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号) INNER JOIN 表X ON Member.字段号=表X.字段号
例子:
SELECT *
FROM (((Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort) INNER JOIN MemberLevel ON Member.MemberLevel=MemberLevel.MemberLevel) INNER JOIN MemberIdentity ON Member.MemberIdentity=MemberIdentity.MemberIdentity) INNER JOIN Wedlock ON Member.Wedlock=Wedlock.Wedlock
ORDER BY MemberDate DESC
内连接的功能是,把两个表相关联的记录列出来,必须是相关联的记录。
2) 左外连接,left outer join ... on
语句格式:
FROM [表名1] LEFT JOIN [表名2]
ON [表名1.字段A] 〈关系运算符〉[表名2.字段B]
其实LEFT JOIN 的功能就是将LEFT左边的表名1中的所有记录全部保留,而将右边的表名2中的字段B与表名1.字段A相对应的记录显示出来(当使用SELECT * 时)。而RIGHT JOIN 和LEFT JOIN 相反。
外连接的功能是,把LEFT左边的表中的所有记录保留,而右边表只保留相关联的记录,也就是先执行一次INNER JOIN,然后把LEFT左边的表中的与右边表没有任何关联的记录也保留,而右边表的字段为null.
3) 右外连接,right outer join ... on
与 left join左右相反。
4) 全连接,full join ... on(不常使用,只能用于outer)
功能结合了以上三种联军,先执行一次inner join,然后把两个表的多余字段都保留,但连接的对应字段为null.
如果想将几个表联接起来,在JOIN操作中我们可以进行嵌套操作,有三个表:表1、表2、表3,现在将三个表联接起来:
FROM (表1 INNER JOIN 表2 ON 表1.序号=表2.序号)
INNER JOIN 表3 ON 表1.序号=表3.序号
sqlserver 基础问题
是清空还是把不要这个表了
如果是清空,truncate table book.item
如果是整个删除,drop table book.item
sqlserver新手的几个小疑问
1.是靠用户名和密码区分用户的。
2.本地的数据可以导到服务器上。若本地能连上服务器上的数据库,可直接导。若不能连接你就在本地先导出脚本,然后到服务器上运行脚本。
3.没听过要买sqlserver的空间。
本文题目:sqlserver基础问,sqlserver的基本语句
网页路径:http://ybzwz.com/article/dsiosgp.html