有用的SQL查詢

2022-01-13 12:41:41 字數 1564 閱讀 2340

1 、查詢例項中擁有某一字段的所有表

select column_name,table_name from information_schema.columns where column_name=

'name

'

2、根據表名查詢當前資料庫中存在的所有表

select

*from sysobjects where xtype='u

'and name like

'%salary%

'

3、乙個例項中可能會有多個資料庫,有時會忘記當前是針對哪個資料庫進行查詢,可以用到下面這句

--

@@spid是當前使用者程序的會話 id

--用此會話id在master..sysprocesses中查得當前使用者程序使用的資料庫id

--再用此資料庫id在查得master..sysdatabases中查到對應的資料庫名稱

select name from master..sysdatabases where dbid=(select dbid from master..sysprocesses where spid =

@@spid)

4、檢查sql查詢效率前先清個快取

dbcc freeproccache;  --

刪除計畫快取記憶體中的元素

dbcc dropcleanbuffers; --

清除緩衝區

5、建立復合索引,索引中兩欄位前後順序與查詢條件欄位在數量一致的情況下,順序不影響使用索引查詢。

當復合索引中的字段數量與查詢條件字段數量不一致情況下,選擇性高的排前面(選擇性 = 基數/總行數 * 100%)。

6、刪除索引

if

exists (select si.name as indexname from sys.indexes as si inner

join sys.objects as so on si.object_id

= so.object_id

where so.name =

'devicerecords

'and si.name like

'%ix_clubs%')

drop

index ix_clubs on devicerecords

7、mysql 查詢指定資料庫中包含某字段的所有表,排除檢視

select

distinct table_name from information_schema.columns where column_name like

'%buyer%

'and table_schema=

'hk_erp2_oms

'and table_name not

like

'vw%

';

8、c#取sql最小日期

datetime begindate = system.data.sqltypes.sqldatetime.minvalue.value;

幾個很有用的SQL語句

1 獲取某個資料庫所有表的資料行數 select o.name,i.rowcnt from sysobjects o join sysindexes i on o.id i.id where o.type u and i.indid 1 and o.name dtproperties order b...

幾個很有用的SQL語句

1 獲取某個資料庫所有表的資料行數 select o.name,i.rowcnt from sysobjects o join sysindexes i on o.id i.id where o.type u and i.indid 1 and o.name dtproperties order b...

SQL 一些有用的語句

得到當前時間格式為 yyyymmdd select convert varchar 10 getdate 112 獲取兩位年,兩位月。declare yymm varchar 8 if month getdate 10 set yymm right year getdate 2 0 convert ...