sql腳本查詢數(shù)據(jù)庫表,數(shù)據(jù),結(jié)構(gòu),約束等操作的方法
1.查詢當(dāng)前數(shù)據(jù)庫所有表
SELECT
O.object_id AS TableId,
TableName=O.name ,
TableDesc= O.type
FROM sys.columns C
INNER JOIN sys.objects O
ON C.[object_id]=O.[object_id]
AND O.type='U'
AND O.is_ms_shipped=0
INNER JOIN sys.types T
ON C.user_type_id=T.user_type_id
LEFT JOIN sys.extended_properties PTB
ON PTB.class=1
AND PTB.minor_id=0
AND C.[object_id]=PTB.major_id
WHERE C.column_id=1
ORDER BY TableName
2.查詢當(dāng)前表所有字段,數(shù)據(jù),約束
select
tabName=O.NAME,
columnLine=C.column_id,
columnName=C.name,
typeNum=T.name,
typeLength=C.max_length,
fState=ISNULL(G.value,N''),
isAbleNull=CASE WHEN C.is_nullable=1 THEN N'√'ELSE N'' END,
defaultData=ISNULL(D.definition,N''),
isIdentity=CASE WHEN C.is_identity=1 THEN N'√'ELSE N'' END,
isPrimary=case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=c.[object_id] and name in (
SELECT name FROM sysindexes WHERE indid in( SELECT indid FROM sysindexkeys WHERE id = c.[object_id] AND colid=c.column_id))) then '√' else '' end,
isForeign=case when exists(select * from sysforeignkeys fk where C.[object_id]=FK.fkeyid AND C.column_id=FK.fkey)then '√' else '' end,
TabForeignName=ISNULL(IDX.FKName,N''),
OutNameCol=ISNULL(IDX.ns,N'')
FROM sys.columns C
INNER JOIN sys.objects O
ON C.[object_id]=O.[object_id]
AND O.type='U'
AND O.is_ms_shipped=0
INNER JOIN sys.types T
ON C.user_type_id=T.user_type_id
left JOIN sys.extended_properties G
ON C.[object_id]=G.major_id and c.column_id=g.minor_id
LEFT JOIN sys.default_constraints D
ON C.[object_id]=D.parent_object_id
AND C.column_id=D.parent_column_id
AND C.default_object_id=D.[object_id]
left join sysforeignkeys fk
on C.[object_id]=FK.fkeyid
and C.column_id=FK.fkey
LEFT JOIN -- 索引及主鍵信息
(
SELECT
IDX.fkeyid,
IDX.fkey,
FKName=o.name,
ns=ss.name
FROM sysforeignkeys IDX
INNER JOIN sys.objects O
ON IDX.rkeyid=O.[object_id]
AND O.type='U'
AND O.is_ms_shipped=0
left join syscolumns ss
on IDX.rkeyid=ss.id
and IDX.RKEY=SS.COLID
)IDX
ON C.[object_id]=IDX.fkeyid
AND C.column_id=IDX.fkey
WHERE O.name=N'{0}' ------要查詢的表名
ORDER BY O.name,C.column_id
3.字段
要加單引號(hào)varchar,char,nvarchar,nchar,text,ntext,datetime
不需要加int,numeric,bit 不需要加
帶長度:[binary],[char],[decimal],[nchar],[numeric],[nvarchar],[varbinary][varchar]
不用帶:[bigint],[bit],[datetime],[float],[image],[int],[xml],[timestamp],[tinyint],
[uniqueidentifier],[money],[ntext],[real],[smalldatetime],[smallint],[smallmoney],
[sql_variant],[text]
- mysql創(chuàng)建Bitmap_Join_Indexes中的約束與索引
- SQL Server約束增強(qiáng)的兩點(diǎn)建議
- Mysql中返回一個(gè)數(shù)據(jù)庫的所有表名,列名數(shù)據(jù)類型備注
- sql語句查詢數(shù)據(jù)庫中的表名/列名/主鍵/自動(dòng)增長值實(shí)例
- sqlserver 修改列名及表名的sql語句
- MySQL學(xué)習(xí)筆記4:完整性約束限制字段
- MySQL 添加、修改、刪除表的列及約束等表的定義
- 使用sql語句創(chuàng)建和刪除約束示例代碼
- MySQL導(dǎo)出所有Index和約束的方法
- SQLSERVER實(shí)現(xiàn)更改表名,更改列名,更改約束代碼
相關(guān)文章
sql server實(shí)現(xiàn)分頁的方法實(shí)例分析
這篇文章主要介紹了sql server實(shí)現(xiàn)分頁的方法,結(jié)合實(shí)例形式總結(jié)分析了SQL Server實(shí)現(xiàn)分頁功能的常用sql語句,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03sqlserver 高性能分頁實(shí)現(xiàn)分析
SQLServer中有一個(gè)Set Rowcount的的設(shè)置,它的意思是使命令的處理在響應(yīng)指定的行數(shù)之后停止處理命令,利用這個(gè)特點(diǎn),我們可以借用它來在一個(gè)千萬行級(jí)數(shù)據(jù)表中實(shí)現(xiàn)高性能分頁查詢。2011-04-04T-sql語句修改SQL Server數(shù)據(jù)庫邏輯名、數(shù)據(jù)庫名、物理名的方法
這篇文章主要介紹了T-sql語句修改SQL Server數(shù)據(jù)庫邏輯名、數(shù)據(jù)庫名、物理名的方法,結(jié)合實(shí)例形式分析了T-SQL語句操作數(shù)據(jù)庫的基本技巧,非常簡單易懂,需要的朋友可以參考下2016-06-06sqlserver 函數(shù)、存儲(chǔ)過程、游標(biāo)與事務(wù)模板
SQL 函數(shù)、存儲(chǔ)過程、游標(biāo)與事務(wù)模板,學(xué)習(xí)sqlserver的朋友很多情況下都需要用得到。2010-08-08delete誤刪數(shù)據(jù)使用SCN號(hào)恢復(fù)(推薦)
這篇文章主要介紹了使用scn號(hào)恢復(fù)誤刪數(shù)據(jù)問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12如何恢復(fù)數(shù)據(jù)庫備份到一個(gè)已存在的正在使用的數(shù)據(jù)庫上
如何恢復(fù)數(shù)據(jù)庫備份到一個(gè)已存在的正在使用的數(shù)據(jù)庫上...2007-01-01sqlserver/mysql按天、按小時(shí)、按分鐘統(tǒng)計(jì)連續(xù)時(shí)間段數(shù)據(jù)【推薦】
最近小編接到這樣的需求,公司需要按天,按小時(shí)查看數(shù)據(jù),可以直觀的看到時(shí)間段的數(shù)據(jù)峰值。這篇文章主要介紹了sqlserver/mysql按天,按小時(shí),按分鐘統(tǒng)計(jì)連續(xù)時(shí)間段數(shù)據(jù) ,需要的朋友可以參考下2019-06-06必備 SQL 查詢優(yōu)化技巧提升網(wǎng)站訪問速度
在這篇文章中,我將介紹如何識(shí)別導(dǎo)致性能出現(xiàn)問題的查詢,如何找出它們的問題所在,以及快速修復(fù)這些問題和其他加快查詢速度的方法2018-01-01sql 2000 無法執(zhí)行查詢,因?yàn)橐恍┪募鄙倩蛭醋?quot;的解決方法
在SQL server 2000中打開表查看數(shù)據(jù)的時(shí)候,提示說無法執(zhí)行查詢,因?yàn)橐恍┪募鄙倩蛭醋杂貌樵兎治銎骺梢圆榭磾?shù)據(jù),重裝了sql2000也沒有用,這里分享下解決方法2014-01-01