sql server 2005 导出用户表数据字典(转载)
-----------------------------------------------------
--作用:用于sql server 2005 导出用户表数据字典
--1 默认导出当前数据库中所有用户表(xtype = 'u')的数据字典;
--2 可以在xtype = 'u'替换为如下所示语句xtype = 'u' and name in ('son','Person') 导出自定义的表的数据字典;
--3 可以利用集成服务SSIS导出数据字典的excel文件,形成文档;
------------------------------------------------------
select sysobjects.name as "表名",syscolumns.name as "字段名",
case when systypes.name in ('binary','char','nchar') then (systypes.name + '(' + cast(syscolumns.prec as varchar(50)) + ')')
when systypes.name in ('decimal','numeric') then (systypes.name + '(' + cast(syscolumns.prec as varchar(50)) + ',' + cast(syscolumns.scale as varchar(50)) + ')')
when systypes.name in ('nvarchar','varchar','varbinary') then (case when syscolumns.prec = -1 then (systypes.name + '(MAX)') else (systypes.name + '(' + cast(syscolumns.prec as varchar(50)) + ')') end)
else systypes.name end as "字段类型",
syscomments.text as "默认值", case when syscolumns.isnullable = 1 then 'Y' else 'N' end as "能否为空",
cast(sys.extended_properties.value as varchar(1024)) as "备注"
from syscolumns inner join systypes on syscolumns.xtype = systypes.xtype left join sysobjects
on syscolumns.id = sysobjects.id left outer join sys.extended_properties
on ( sys.extended_properties.minor_id = syscolumns.colid and sys.extended_properties.major_id = syscolumns.id) left outer join syscomments
on syscolumns.cdefault = syscomments.id where syscolumns.id in (select id from sysobjects where xtype = 'u') and (systypes.name <> 'sysname') order by sysobjects.name asc
相关文档:
1 TOP
这是一个大家经常问到的问题,例如在SQLSERVER中可以使用如下语句来取得记录集中的前十条记录:
SELECT TOP 10 * from [index] ORDER BY indexid DESC;
但是这条SQL语句在SQLite中是无法执行的,应该改为:
SELECT * from [index] ORDER BY indexid DESC limit 0,10;
其中limit 0,10表示从第0条记录开始,往后 ......
sql server的随机函数newID()和RAND()
SELECT * from Northwind..Orders ORDER BY NEWID()
--随机排序
SELECT TOP 10 * from Northwind..Orders ORDER BY NEWID()
--从Orders表中随机取出10条记录
示例
A.对变量使用 NEWID 函数
以下示例使用 NEWID() 对声明为 uniq ......
使用触发器来实现
create table test(
id varchar(20),
sname varchar(20)
)
create TRIGGER [test_insert] ON [dbo].[test]
INSTEAD OF INSERT
AS
declare @str varchar(20)
declare @i integer
set @str = 'BV'+left(convert(char,getdate(),112),6)
select @i=isnull(max(cast(right(rtrim(id),len(id)-8 ......
1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> ......