sql腳本查詢數(shù)據(jù)庫(kù)表,數(shù)據(jù),結(jié)構(gòu),約束等操作的方法
1.查詢當(dāng)前數(shù)據(jù)庫(kù)所有表
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 不需要加
帶長(zhǎng)度:[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ù)庫(kù)的所有表名,列名數(shù)據(jù)類型備注
- sql語(yǔ)句查詢數(shù)據(jù)庫(kù)中的表名/列名/主鍵/自動(dòng)增長(zhǎng)值實(shí)例
- sqlserver 修改列名及表名的sql語(yǔ)句
- MySQL學(xué)習(xí)筆記4:完整性約束限制字段
- MySQL 添加、修改、刪除表的列及約束等表的定義
- 使用sql語(yǔ)句創(chuàng)建和刪除約束示例代碼
- MySQL導(dǎo)出所有Index和約束的方法
- SQLSERVER實(shí)現(xiàn)更改表名,更改列名,更改約束代碼
相關(guān)文章
sql server實(shí)現(xiàn)分頁(yè)的方法實(shí)例分析
這篇文章主要介紹了sql server實(shí)現(xiàn)分頁(yè)的方法,結(jié)合實(shí)例形式總結(jié)分析了SQL Server實(shí)現(xiàn)分頁(yè)功能的常用sql語(yǔ)句,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03sqlserver 高性能分頁(yè)實(shí)現(xiàn)分析
SQLServer中有一個(gè)Set Rowcount的的設(shè)置,它的意思是使命令的處理在響應(yīng)指定的行數(shù)之后停止處理命令,利用這個(gè)特點(diǎn),我們可以借用它來(lái)在一個(gè)千萬(wàn)行級(jí)數(shù)據(jù)表中實(shí)現(xiàn)高性能分頁(yè)查詢。2011-04-04T-sql語(yǔ)句修改SQL Server數(shù)據(jù)庫(kù)邏輯名、數(shù)據(jù)庫(kù)名、物理名的方法
這篇文章主要介紹了T-sql語(yǔ)句修改SQL Server數(shù)據(jù)庫(kù)邏輯名、數(shù)據(jù)庫(kù)名、物理名的方法,結(jié)合實(shí)例形式分析了T-SQL語(yǔ)句操作數(shù)據(jù)庫(kù)的基本技巧,非常簡(jiǎn)單易懂,需要的朋友可以參考下2016-06-06sqlserver 函數(shù)、存儲(chǔ)過(guò)程、游標(biāo)與事務(wù)模板
SQL 函數(shù)、存儲(chǔ)過(guò)程、游標(biāo)與事務(wù)模板,學(xué)習(xí)sqlserver的朋友很多情況下都需要用得到。2010-08-08delete誤刪數(shù)據(jù)使用SCN號(hào)恢復(fù)(推薦)
這篇文章主要介紹了使用scn號(hào)恢復(fù)誤刪數(shù)據(jù)問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12如何恢復(fù)數(shù)據(jù)庫(kù)備份到一個(gè)已存在的正在使用的數(shù)據(jù)庫(kù)上
如何恢復(fù)數(shù)據(jù)庫(kù)備份到一個(gè)已存在的正在使用的數(shù)據(jù)庫(kù)上...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)站訪問(wèn)速度
在這篇文章中,我將介紹如何識(shí)別導(dǎo)致性能出現(xiàn)問(wèn)題的查詢,如何找出它們的問(wèn)題所在,以及快速修復(fù)這些問(wèn)題和其他加快查詢速度的方法2018-01-01sql 2000 無(wú)法執(zhí)行查詢,因?yàn)橐恍┪募鄙倩蛭醋?cè)"的解決方法
在SQL server 2000中打開表查看數(shù)據(jù)的時(shí)候,提示說(shuō)無(wú)法執(zhí)行查詢,因?yàn)橐恍┪募鄙倩蛭醋?cè)用查詢分析器可以查看數(shù)據(jù),重裝了sql2000也沒(méi)有用,這里分享下解決方法2014-01-01