數據庫的應用詳解二
數據庫對我們現在工作中的朋友的幫助是相當大的,在大數據處理的時候,可以讓我們方面的查詢,管理數據。
尤其是當下的電商行業,都是在網絡上面進行銷售,所以,數據庫更加彰顯出其魅力。
比如,我在指南針的幾年里面,當然是公司設計好的數據庫讓我們用。對於客戶的查詢,處理等問題,包括對自己管轄范圍內的客戶的管理。基本上都是通過數據庫來完成的。所以,經常的會用到一些基本的查詢,更新,刪除等等語句。
在這里我也為大家整理了相關的資料,希望大家喜歡。
一、新建兩張表
二、手動刪除一列
三、手動增加一列
四、增加一個非空列
五、修改列
下面我們看看數據庫中增加約束和刪除約束的相關案例:
六、增加一個主鍵約束
七、增加一個非空約束
八、增加一個唯一約束
九、為性別增加一個默認約束
十、為性別增加一個檢查約束
十一、為年齡增加一個檢查約束
十二、增加一個外鍵約束
十三、增加級聯刪除,更新
十四、刪除某個名字的約束
十五、一條語句刪除多個約束
十六、用一條語句為表增加多條約束
下面看下數據的檢索:
十七、查詢學生表
十八、這列是干什么的呢?
圖中畫圈的部分是干什么的呢?比如,我在中國移動辦了個手機號,現在注銷了。那么,在中國移動的數據庫中我的數據就真的刪了么?很多時候,並沒有刪。對於用戶來講,是刪了,只是中國移動做了個標記。就是用戶下次再登陸的時候登陸不進去了,但是,並沒有刪。在記錄里面用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 |