數據庫的應用詳解二


數據庫的應用詳解二

  數據庫對我們現在工作中的朋友的幫助是相當大的,在大數據處理的時候,可以讓我們方面的查詢,管理數據。

  尤其是當下的電商行業,都是在網絡上面進行銷售,所以,數據庫更加彰顯出其魅力。

比如,我在指南針的幾年里面,當然是公司設計好的數據庫讓我們用。對於客戶的查詢,處理等問題,包括對自己管轄范圍內的客戶的管理。基本上都是通過數據庫來完成的。所以,經常的會用到一些基本的查詢,更新,刪除等等語句。

  在這里我也為大家整理了相關的資料,希望大家喜歡。

 

一、新建兩張表

 

二、手動刪除一列

 

三、手動增加一列

 

四、增加一個非空列

 

五、修改列

  下面我們看看數據庫中增加約束和刪除約束的相關案例:

 

六、增加一個主鍵約束

 

七、增加一個非空約束

 

八、增加一個唯一約束

 

九、為性別增加一個默認約束

 

十、為性別增加一個檢查約束

 

十一、為年齡增加一個檢查約束

 

十二、增加一個外鍵約束

 

十三、增加級聯刪除,更新

 

十四、刪除某個名字的約束

 

十五、一條語句刪除多個約束

 

十六、用一條語句為表增加多條約束


下面看下數據的檢索:

 

十七、查詢學生表

 

十八、這列是干什么的呢?

  圖中畫圈的部分是干什么的呢?比如,我在中國移動辦了個手機號,現在注銷了。那么,在中國移動的數據庫中我的數據就真的刪了么?很多時候,並沒有刪。對於用戶來講,是刪了,只是中國移動做了個標記。就是用戶下次再登陸的時候登陸不進去了,但是,並沒有刪。在記錄里面用0和1表示,這個我們一般叫做“軟刪除”。一般0表示false沒有刪,1表示true刪了。

 

我只想看其中的三列,這么寫,見下圖:

 

十九、只看其中三列的信息

  上圖中直接顯示英文,對於用戶來講不是特別的友好,我現在需要顯示它們的中文信息。也就是給列起別名。怎么給列起別名呢?

 

二十、起別名

 

二十一、起別名的第2,3種寫法

 

二十二、顯示自定義查詢結果

 

二十三、基本檢索

 

二十四、top

 

二十五、查看前十行且只有姓名

 

二十六、返回前百分之十

現在數據庫里面就有11條數據,返回百分之十,是多少條呢?

答案是:2條。

 

二十七、排序

 

二十八、distinct

如果有三列,看三列當中這個的數據有沒有重復,有的話,就會去掉重復。

影響表中數據么?根本不影響。

 

下面我看來看看數據庫當中五個常用的聚合函數:

當我們在工作中有什么不會的了,可以點開幫助-索引,輸入:聚合函數。

 

二十九、五種常用聚合函數

下面我們看下帶條件查詢:

 

三十、帶條件查詢1

 

三十一、帶條件查詢2  in的用法

接下來我們看下帶條件查詢-模糊查詢

 

三十二、like查詢 %

 

三十三、like查詢 _

 

三十四、like查詢 [  ]

^ 是非的意思,跟正則表達式中一樣。

 

三十五、like查詢 ^

下面我們看下數據庫中的Null值處理

請你查出年齡不為空的所有人得年齡,怎么查呢?

 

三十六、null就是unknow的意思

  系統沒辦法識別了,就是比如20不等於不知道。怎么比啊?返回的也是個unknow,在where后面就是個false,所以沒有任何的查詢記錄。

  沒法用<> 和 = 進行比較,那么我們怎么寫呢?

 

三十七、這么寫null判斷

 

三十八、空值的替換

  設計器上面要插入個空值的話,得寫大寫的N,Null。要是什么都沒寫,不行的,那是個字符串為0的字符串。要是寫的小寫的null,是字符串為null的字符串。這是我們需要小注意的地方。

下面我們再看下order by語句:

一般都是寫在查詢語句的最后的。

 

三十九、按多列的條件進行排序

 

四十、按表達式排序

一旦有了order by以后這個表就不是集合了。現在只提一下這個概念。

 

接下來我們看下數據分組:

  首先,我們提出幾個問題。什么時候才會遇到這個分組情況呢?分組是個什么東西呢?

  比如根據籍貫分組,根據男女分組。

  Group by在數據匯總統計的時候用,一般和聚合函數一起來用。如果不分組就用聚合函數的話,它是把組里面所有的信息當成了一組來統計。

  要是分組了再用聚合函數的話,統計的是每一組的信息。

 

四十一、按照班級分組

 

四十二、分組后查詢每個組里面有多少個人

  現在想看看組中數據大於3的,如果要想對分組再進行篩選,我們用的是having。

 

四十三、對分組以后再篩選用having

 

四十四、分組判斷的時候需要注意的情況

 

四十五、分組判斷的時候需要注意的情況二

  Select 這塊哪些列能寫?哪些列不能寫呢?group by中包含的列和聚合函數都能寫,其它的不能寫。

  為什么呢?還是思考那個問題,當分完組以后,就都是組當中的信息了。在分組之前對數據的篩選用where,它們兩個是不能混用的。

四十六、簡單的SQL語句執行順序

  了解SQL語句的執行順序能知道哪用別名?對於理解SQL語句的命令也是有好處的。當然,這里列出的是簡單的SQL語句執行順序。

 

四十七、Group By練習

下面我看來看下函數的類型轉換:

 

四十八、數據類型轉換的兩種寫法

 什么情況下會遇到數據類型的轉換呢?

 

四十九、實際問題中遇到的數據類型轉換一

如果不轉換的話,將按照字符進行排序。而不是兩起來的兩個或多個數字進行排序。

 

五十、實際問題中遇到的數據類型轉換二

  在日期轉換的時候用convert就行了,120是不同數據庫中時間的類型。

接下來我們看下聯合結果集union(集合運算符)

 

五十一、union

  這里有個需要注意的地方,每列當中相對應的數據類型必須得一樣。調一下位置是不行的。要想能聯合的話,必須得保證每個列的數量相同,數據類型相同。

 

五十二、聯合中有一列為空的時候

  最后查詢的結果集是以第一個的列名命名的。

但從姓名和性別看的話,有幾條是一樣的數據。Union可以去除重復數據,如果不想去除的話,后面加個all

 

五十三、union all

那么union all在什么時候用呢?

常見應用:底部匯總。

 

五十四、年齡匯總

 

五十五、成績匯總

  下面我們看看字符串函數:

  這塊的學習,使用還是要多借鑒微軟的幫助。

 

五十六、字符串函數

  自己可以看看replace,stuff這兩個函數怎么用。

再下來我們看看日期函數:

  日期函數還是,我們可以在數據庫當中的幫助里面輸入:日期和時間

 

五十七、在當前時間增加時間

 

五十八、計算兩個時間的差

 

五十九、datediff具體的應用

 

六十、獲取時間的某個部分

下面這個案例對做電銷工作的朋友非常的實用:

 

六十一、通話第一小題

  思路:看到通話時長最長的,先求通話時長;最長-倒排序;前五條-top 5

 

六十二、通話時長第二小題

 

六十三、通話時長第三小題

 

六十四、通話時長第四小題

最后一個小題,暫時不公布答案,留個做思考。

 

 

 

 

 

 

作者近期文章列表:

C#基礎教程(完全免費,獻給代碼愛好者的最好禮物。注:本作者分享自己精心整理的C#基礎教程,無任何商業目的。
希望與更多的代碼愛好者交流心得,也請高手多多指點!!!)
SQL數據庫 ADO.net 數據庫的應用圖解一
面向過程,面向對象中高級 面向過程,面向對象的深入理解一
面向過程,面向對象的深入理解二
面向對象的深入理解三
winform基礎 Winform基礎
winform中常用的控件
面向過程 三種循環的比較
C#中的方法(上)
我們常見的數組
面向對象 思想的轉變
C#中超級好用的類
C#中析構函數和命名空間的妙用
C#中超級好用的字符串
C#中如何快速處理字符串
值類型和引用類型及其它
ArrayList和HashTable妙用一
ArrayList和HashTable妙用二
文件管理File類
多態
C#中其它一些問題的小節
GDI+ 這些年我收集的GDI+代碼
這些年我收集的GDI+代碼2
HTML概述 你不能忽視的HTML語言
你不能忽視的HTML語言2精編篇
你不能忽視的HTML語言3


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM