SELECT 'Y' YN FROM table(values(1)) as annoy WHERE EXISTS( 这样的语句是什么意思?
这是db2的写法,table(values(1))
创新互联建站是一家专注于成都网站设计、网站制作与策划设计,叶县网站建设哪家好?创新互联建站做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:叶县等地区。叶县做网站价格咨询:18980820575
as
annoy
就是创建一个1行1列(值为1)的一个子查询annoy,等价于(select
1
from
sysibm.sysdummy1)
as
annoy,sysibm.sysdummy1是db2的哑表,跟
sqlserver的(select
1)
as
annoy、oracle的(select
1
from
dual)
as
annoy作用一样
更复杂的
select
*
from
table(values(1,'ddd'),(2,'aaa'),(3,'mmm'))
as
t(id,name)
其中t是子查询别名,id与name是列名,values后是3行2列的数据
sqlserver的系统表
1、查看表和试图
SELECT * FROM sys.objects WHERE object_id = object_id('表名或视图名')
在sqlserver中一般可通过查询sys.objects系统表来得知结果,不过可以有更方便的方法
如下:
if object_id('tb_table') is not null
print 'exist'
else
print'not exist'
如上,可用object_id()来快速达到相同的目的,tb_table就是我将要创建的资源的名称,所以要先判断当前数据库中不存在相同的资源
object_id()可接受两个参数,第一个如上所示,代表资源的名称,上面的就是表的名字,但往往我们要说明我们所要创建的是什么类型的资源,
这样sql可以明确地在一种类型的资源中查找是否有重复的名字,如下:
if object_id('tb_table','u') is not null
print 'exist'
else
print'not exist'
第二个参数 "u" 就表示tb_table是用户创建的表,即:USER_TABLE地首字母简写
查询sys.objects中可得到各种资源的类型名称(TYPE列),这里之举几个主要的例子
u ----------- 用户创建的表,区别于系统表(USER_TABLE)
s ----------- 系统表(SYSTEM_TABLE)
v ----------- 视图(VIEW)
p ----------- 存储过程(SQL_STORED_PROCEDURE)
2、查看表的列名
select * from syscolumns where id=object_id('表名') and name='列名'
3、查看数据库
select * from sys.databases where name = 'student'
4、查看备份设备
"select * from sys.backup_devices where name ='backupdb'
(添加备份设备:exec sp_addumpdevice 'disk','backupdb','d:\\backup\\backupdb.bak')
5、查看数据文件
select name, physical_name dbfile from sys.master_files where database_id=db_id('student')
master数据库中sysdatabases表(是sqlserver中所有的数据库的库名) :
如果你要查询的是所有数据库(用户/系统):
select * from master..sysdatabases
如果你要查询的是用户数据库,则使用:
select * from master..sysdatabases where dbid 4
如果你要查询的是系统数据库,只需要把where字句改为dbid 4即可。
6、查看执行的sql语句
SELECT cacheobjtype,objtype,usecounts,sql
from sys.syscacheobjects where sql not like'%cach%' and sql not like '%sys.%'
2.对应数据库中sysobjects表(反应的是相应数据库中所有的对象):
这个表的用处是最大的,因为它里面存放的有:表(系统/用户)、存储过程(系统/用户)、视图、主键、外键等。
这里就不一一说明了。
比如你sqlserver中有个数据库名叫 test,如果要查询该数据库中的所有表对象:
select * from test..sysobjects where type = ’u’ or type = ’s’
这里的type = ’u’是表示用户表对象,type = ’s’是系统表对象,怎样单独查询用户表对象或者系统表对象就不用说了吧。
如果你要查询的是存储过程当然也分了系统和用户了:
这个是查询数据库中所有存储过程
select * from test..sysobjects where type = ’p’
如果你要查询的是用户存储过程则加上 and category 2 即可。
查询系统存储过程就不用说了吧(category = 2 谁不知道。。。)
查询视图与查询存储过程一样,比如:
你查询的是数据库中所有视图
select * from test..sysobjects where type = ’v’
如果你要查询的是用户视图则加上 and category 2 即可。
其他的就不说了,就把 它们的type给大家说下:
type = ’ pk’ 表示主键。
type = ’ d’ 外键引用。
type = ’uq’ 唯一索引。
下面附录一些常用系统表
名称 地址 说明
sysaltfiles 主数据库 保存数据库的文件
syscharsets 主数据库 字符集与排序顺序
sysconfigures 主数据库 配置选项
syscurconfigs 主数据库 当前配置选项
sysdatabases 主数据库 服务器中的数据库
syslanguages 主数据库 语言
syslogins 主数据库 登陆帐号信息
sysoledbusers 主数据库 链接服务器登陆信息
sysprocesses 主数据库 进程
sysremotelogins主数据库 远程登录帐号
syscolumns 每个数据库 列
sysconstrains 每个数据库 限制
sysfilegroups 每个数据库 文件组
sysfiles 每个数据库 文件
sysforeignkeys 每个数据库 外部关键字
sysindexs 每个数据库 索引
sysmenbers 每个数据库 角色成员
sysobjects 每个数据库 所有数据库对象
syspermissions 每个数据库 权限
systypes 每个数据库 用户定义数据类型
sysusers 每个数据库 用户
如何利用SQLserver创建表
我们使用SQL Server的时候经常需要创建表,那么如何操作呢?下面我给大家分享一下。
工具/材料
SQL Server Managment
首先我们打开SQL Server Managment管理软件,选择一个数据库,如下图所示
接下来右键单击表,选择新建下面的表选项,如下图所示
然后设置一下表中的字段,如下图所示
最后按Ctrl+S进行表的保存,给表起一个名字即可,如下图所示
sqlserver 怎么清空表
楼主好,数据库清空表使用delete和truncate语句,但这两个命令语句是有区别的。首先区别在于,delete是数据库操作语句而非命令语句,直接清空的是数据,能够触发触发器等操作。而truncate是命令语句,不会触发触发器等操作,但不能回滚。truncate语句是直接提交的数据库的,而delete是DML语句。delete还会保留数据库的高水线。打个比方,你就能知道最简单的区别。比如你的表中有一个自增长的ID,truncate之后,ID会重新开始编码,但delete会接着你删除的最大值进行编码。语法上 delete可以带where条件,删除指定数据,但truncate是不能的,只能全部清空表。下面写一下两个语句清空表的语法
delete table
truncate table
sqlserver 下怎么建立数据库 怎么建表
SQL Server下建立数据库、建表的方法:
1、首先打开SQL Server Management Studio,会看到如下的界面:
点开数据库会出现
2、右键单击数据库,点击新建数据库,会出现以下界面:
3、在数据库名称栏中输入需要的名称,如xx然后点击确定即可。之后就可以在左边的列表中找到新建的数据库了如图:
这样,一个名字为xx的数据库就建好了。
4、然后可以将新建好的数据库展开。然后右键单击里面的表找到新建数据库,会出现以下界面:
5、然后可以在列中输入需要的名称(用英文形式),如输入的年龄,性别,地址,电话,身份证,民族(name address phone ID nation一般为nvardhar类型,age 一般为int类型)如图:
6、然后点保存,它会提示输入表的名称(一般为英文复数形式),然后点确定,就可以在左边找到我们新建的表了,比如新建的表的名称为个人基本信息PersonalInformations.
这样一张表就建好了。
7、表建好之后就可以进行添加内容了。右键单击表,选择里面的编辑前二十行,出现一下界面:
在里面输入需要的值就可以。
怎样查看sqlserver数据库的表
1、首先我们打开数据库进入数据库。
2、然后我们输入账号和密码,点击链接即可进入数据库中。
3、然后我们在左侧树里找到要改的数据库。
4、然后我们即可找到我们要查看的所有的表。
5、然后我们右键点击设计。
6、然后我们可以查看到数据库表单。
当前标题:sqlserver哑表,Sqlserver表批量添加数据
文章出自:http://lswzjz.com/article/hdhjei.html