数据库语句的含义

tgstgstgs 2008-12-01 09:22:50
如下代码段中有一条语句: SELECT name FROM sys.databases WHERE name = N'test'
不知道"SELECT name" 和 "WHERE name" 中的name 各是什么对象,什么意思, sys.databases 中的sys又是什么对象


--在下的理解就是: 从系统数据库集合中选出 名字为test的数据库,如果此数据库存在就删除该数据库, 不知道对不对

USE master
GO
IF EXISTS (SELECT name FROM sys.databases WHERE name = N'test')
DROP DATABASE test
GO
...全文
106 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tgstgstgs 2008-12-03
  • 打赏
  • 举报
回复

答所非问
dawugui 2008-12-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 DVD_01 的回复:]
SQL codeUSE master
GO
IF EXISTS (SELECT name FROM sys.databases WHERE name = N'test')
DROP DATABASE test
GO



也可以这样:


SQL codeIf db_id(N'test') Is Not Null
Drop Database test



架构是指包含表、视图、过程等的容器,是一个独立于数据库用户的非重复命名空间.
[/Quote]
同意.
水族杰纶 2008-12-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dawugui 的回复:]
引用 4 楼 DVD_01 的回复:
SQL codeUSE master
GO
IF EXISTS (SELECT name FROM sys.databases WHERE name = N'test')
DROP DATABASE test
GO


也可以这样:


SQL codeIf db_id(N'test') Is Not Null
Drop Database test


架构是指包含表、视图、过程等的容器,是一个独立于数据库用户的非重复命名空间.

同意.
[/Quote]
Andy-W 2008-12-01
  • 打赏
  • 举报
回复
USE master
GO
IF EXISTS (SELECT name FROM sys.databases WHERE name = N'test')
DROP DATABASE test
GO


也可以这样:

If db_id(N'test') Is Not Null
Drop Database test


架构是指包含表、视图、过程等的容器,是一个独立于数据库用户的非重复命名空间.
jane0228 2008-12-01
  • 打赏
  • 举报
回复
我也这么想的,但不知道对不对,期待。。。
rfb0204421 2008-12-01
  • 打赏
  • 举报
回复
关注
  • 打赏
  • 举报
回复
正确。sys是2005里面引入了构架,相当于一个命名空间

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧