【sql語句】好用的sql語句—適合自己熟悉陌生的資料庫,sql語句熟悉資料庫

來源:互聯網
上載者:User

【sql語句】好用的sql語句—適合自己熟悉陌生的資料庫,sql語句熟悉資料庫

        這幾天學習公司系統的資料流向。主要涉及到幾個表的資料。但是表中的資料有上百萬條,所以如果出現sql語句沒有帶條件的,會導致查詢卡死,甚至出現記憶體溢出的情況。公司用到的資料庫是sqlserver,所以下列的sql語句主要是針對sqlserver資料庫的,其他資料庫大同小異。

        1、當我要熟悉資料庫表結構的時候,我需要執行一個語句,這條語句能夠查看資料庫的很多資訊,如列名,欄位名,欄位大小,欄位類型等等.......

        select * from information_schema.columns where table_name='表名'

        2.、當然如果你想建立資料庫表的建立情況的話可以執行下面的調用預存程序的語句:

        exec sp_help '表名'    

        3、當我想瞭解資料庫主,外鍵的時候,我通過下面的語句:

        查詢主鍵:EXEC sp_pkeys @table_name='表名'  

        查詢外鍵:

select 主鍵列名=(selectname from syscolumns where colid=b.rkey AND id = b.rkeyid) ,外鍵表名稱=object_name(b.fkeyid),外鍵列名=(select name from syscolumns wherecolid=b.fkey AND id = b.fkeyid)    from sysobjectsa join sysforeignkeys b on a.id = b.constid join sysobjects c on a.parent_obj =c.id where a.xtype = 'f' AND c.xtype='U' and object_name(b.rkeyid)='表名'

        4、尋找資料庫前面的資料(可以分析資料庫表的設計和欄位的具體情況)使用TOP關鍵字。 由於資料量太大,所以想分析資料的話我們可以提取資料前50或100條資料來尋找,具體使用方法select top100 * from 表名,當尋找一個欄位在相對應的表中有多少種的時候,可以使用group by來尋找。select 屬性 from 表名 group by 屬性

        ps:*號可以替換為資料庫的列名來尋找,後面也可以加上查詢條件等等。

        5、刪除資料庫中為空白的資料,delete from 表名 where 屬性值 is null,刪除操作最好先尋找一遍,再刪除的話比較好~

        6、當查看公司欄位的時候,很多欄位都使用了子查詢,串連查詢,所以還不會這些的可以查查相關的資料(弄懂inner/left/right join之間的區別)

        7、公司資料庫設計的思考,由於涉及到保密關係,所以很多細節性的東西不能描述,但是我們在設計表的時候,外鍵之間的關聯和表與表之間的關係一定要弄清楚,必要的時候可以畫草圖輔助構思。

         其他的,等遇到了問題再逐漸總結上來吧。

(轉載本站文章請註明作者和出處 Coder的不平凡 ,請勿用於任何商業用途)


相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.