sql小知識筆記

2021-09-20 10:05:44 字數 1877 閱讀 8172

1.浮點型常用numeric,用法 numeric(m,n),m代表連上小數字總共有多少位(即這個浮點數的總位數),n代表小數點後的位數。如果省略n寫成numeric(m)可以表示整數。float也有一種用法,float(n),其中n是浮點數的精度。

2.isnull(列名,整數n)函式,他的作用是當該列為null時返回整數n。

3.identity(m,n),自增函式.

從m開始,每次自增1。

用個例子展示。

首先要插入一條資料

insert into test (testname,testpass) values('zhang','bin')
然後一直用下面這個,他可以使當前資料翻一倍。當資料更新時,我們不用管testid這一列,他會自增。

insert into test (testname,testpass) select testname,testpass from test
完整**為:

--identity(1,1),表示該testid欄位自增,從1,每次+1

create table test(

testid int primary key identity(1,1),

testname varchar(30),

testpass varchar(30))

insert into test (testname,testpass) values('zhang','bin')

insert into test (testname,testpass) select testname,testpass from test

結果如下:

我們可以用這種方法快速使資料庫的資料量變得非常大,用這種方法來測自己**的效率。

4.分頁查詢,當資料量過大時,用單頁查詢非常耗時,而用分頁就可以減輕電腦負擔。我們還用第3題的表,要求test表按照id排序,取出其中的第6-10條記錄。子查詢查詢的資料量越大,他相較於單頁查詢效率高的優勢就越能體現出來。

select top 5 * from  test where testid not in

(select top 5 testid from test)

結果如下: 

5.default約束,設定列的預設值。當某一列沒有插入值時,他會自動填充值,如果使用者插入了值,那麼他會優先按使用者插入的值。

create table mes(

mesid int primary key identity(1,1),

mescon varchar(50) not null,

mesdate datetime default getdate())

insert into mes (mescon) values('**** you!')

insert into mes (mescon,mesdate) values('you such a *****!','2010-10-01')

select * from mes

執行結果如下:

幾個SQL小知識

原文 幾個sql小知識 寫在前面的話 之前做的乙個專案,資料庫及系統整體構架設計完成之後,和弟兄們經過一段時間的編碼,系統如期上線,剛開始執行一切良好,後來隨著資料量的急劇膨脹,慢慢出現了很多莫名其妙的問題,經過除錯,修改了資料庫中幾個儲存過程的一些問題。有意思的是,有乙個儲存過程裡,為了實現乙個小...

推薦幾個SQL小知識

寫在前面的話 之前做的乙個專案,資料庫及系統整體構架設計完成之後,和弟兄們經過一段時間的編碼,系統如期上線,剛開始執行一切良好,後來隨著資料量的急劇膨脹,慢慢出現了很多莫名其妙的問題,經過除錯,修改了資料庫中幾個儲存過程的一些問題。有意思的是,有乙個儲存過程裡,為了實現乙個小的功能,寫了好多好多的 ...

sql 小知識點

1.group 用法 很多時候我們需要分組函式來統計資料,在此過程中因為業務問題可能會用到別名,此時sql可能會寫成如下樣子 select a.fee reserveas fee other,count 1 as count no from t expenses bill a group by a....