sql的表目录视图
sysaltfiles 在master数据库中,包含与数据库文件相对应的信息,包含所有数据库的数据文件以及日志文件
列名数据类型描述
fileid
smallint
每个数据库的唯一文件标识号。1代表数据文件,2代表日志文件
groupid
smallint
文件组标识号。
size
int
文件大小(以 8 KB 页为单位)。页的数目
maxsize
int
最大文件大小(以 8 KB 页为单位)。0 值表示不增长,–1 值表示文件应一直增长到磁盘已满。
growth
int
数据库的增长大小。0 值表示不增长。根据状态的值,可以是页数或文件大小的百分比。如果 status 为 0x100000,则 growth 是文件大小的百分比;否则是页数。
status
int
仅限内部使用。
perf
int
保留。
dbid
smallint
数据库ID
name
nchar(128)
文件的逻辑名称。
filename
nchar(260)
物理设备的名称,包括文件的完整路径。
sys.databases sql2005的视图
sysdatabase 是为了兼容以前的版本的
这两个是包含不同的信息视图,sys.databases 包含的更多的是一些 set 设置信息 ,sysdatabase包含的主要是数据文件路径信息。
syscolumns 表的列信息
syscomments
syscolumns
syscharsets
每个字符集在表中各占一行,表中还包含定义供 Microsoft? SQL Server? 使用的排序次序。排序次序中的一个在 sysconfigures 中标记为默认排序次序,该次序是实际使用的唯一次序。
sysconfigures
每个当前配置选项各占一项。另外,该表还包含四个描述配置结构的项。 syscurconfigs 在由用户查询时动态生成。有关更多信息,请参见
列名数据类型描述
value
int
变量的用户可修改值(仅在已执行 RECONFIGURE 后由 SQL Server 使用)。
config
smallint
配置变量号。
comment
nvarchar(255)
对配置选项的解释。
status
smallint
表示选项状态的位图。可能的值包括:
0 = 静态(该设置在服务器重新启动时生效)。
1 = 动态(该变量在 RECONFIGURE 语句执行时生效)。
2 = 高级(仅当设置了显示高级选项时才显示该变量)。
3 = 动态和高级。
sysfiles
sysindexes
数据库中的每个索引和表在表中各占一行。该表存储在每个数据库中。包含统计信息
列名数据类型描述
id
int
表 ID(如果 indid = 0 或 255)。否则为索引所属表的 ID。
status
int
内部系统状态信息。
first
binary(6)
指向第一页或根页的指针。
i
相关文档:
SQL SERVER 2005 中的日期时间类型
一. 数据类型
MS SQL Server 2005 有 datetime 和 smalldatetime 两种格式的日期时间数据类型。注意:没有单独的日期或时间类型。
datetime
数据库内部用两个 4 字节的整数存储 datetime 数据类型的值。第一个 4 字节存储基础日期(即 1900-1-1, base ......
向表中增加一个 varchar 列:
ALTER TABLE distributors ADD COLUMN address varchar(30);
从表中删除一个字段:
ALTER TABLE distributors DROP COLUMN address RESTRICT;
在一个操作中修改两个现有字段的类型:
ALTER TABLE distributors
ALTER COLUMN address TYPE varchar(80),
......
--当前使用的数据库是 系统自带的 master
create database temp1
go --此处不加go的话下面use temp1 会报错:找不到存储过程 'temp1'。
use temp1
set xact_abort on
begin tran
create table [order]( --order是关键字必须用[ ];
id int
)
create table fOrder(
id int
)
-- 下面的操作主要是为了实现fO ......
1、Datediff:
1.1算出日期差:
1.access: datediff('d',fixdate,getdate())
2.sqlserver: datediff(day,fixdate,getdate())
ACCESS实例: select * from table where data=datediff('d',fixdate,getdate())
sqlserver实例: select * from ......
信息表(infor)工资表(pay)
内连接
select pay.name,infor.AGE,PAY.MONEY,infor.email from pay join infor on infor.name=PAY.name
左外连接
select pay.name,infor.AGE,PAY.MONEY,infor.email from pay left join infor on infor.name=PAY.name
PS:结果有王五,工资为0
右外连接
select pay.name,info ......