常用SQL語句

2021-10-03 07:46:02 字數 3336 閱讀 8925

1、獲取表中所有的列

select * from 表名

2、獲取表中某列所有的值

select 列名 from 表名

select 列名1,列名2 from 表名

3、獲取表中某列不同的值

select distinct 列名 from 表名

4、從表中獲取符合某乙個條件的值

select 列名 form 表名 where 列名 運算子 值

注意:引號的使用

條件值如果是文字值,需要使用單引號;條件值如果是數值,不需要使用單引號

select 列名 from 表名 where 列名 =『文字值』

select 列名 from 表名 where 列名 = 數值

條件內運算子:=等於

!=不等於

>

大於<

小於大於等於

<=

小於等於

between

在某個範圍內

like

搜尋某種模式

5、從表中獲取符合多個條件的值

多個條件之間的運算子:

and且or或

使用and:

從表中獲取同時符合條件1、符合條件2的某列的值:

select 列名 from 表名 where 列名 = 值 and 列名 = 值

使用or:

從表中獲取符合條件1、或者符合條件2的某列的值:

select 列名 from 表名 where 列名 = 值 or 列名 = 值

and與or組合:

從表中獲取符合條件1、或者符合條件2, 必須符合條件3的某列的值:

select 列名 from 表名 where (列名 = 值 or 列名 = 值)and 列名 = 值

6、對結果集排序(order by)

順序:order by 列名

逆序:order by 列名 desc

根據列名1進行排序

順序:select 列名1 from 表名 order by 列名1

逆序:select 列名1 from 表名 order by 列名1 desc

根據列名1順序、列名2順序排序

select 列名1,列名2 from 表名 order by 列名1,列名2

根據列名1順序、列名2倒敘排序

select 列名1,列名2 from 表名 order by 列名1 asc,列名2 desc

7、向**中插入新的行(insert into)

不指定插入的列:

insert into 表名 values (值1,值2,值3...)

置頂插入的列:

insert into 表名(列名1,列名2,列名3...) values (值1,值2,值3...)

注意:當某些列未指定值時,缺省會為null

8、修改表中的資料(updata)

updata 表名 set 列名=新值 where 列名 = 某值

updata 表名 set  列名1=新值,列名2=新值 where 列名 = 某值

9、刪除表中的行(delete)

刪除某行:

delete from 表名 where 列名 = 值

刪除所有行(可以寫*,可以不寫*)

delete from 表名 

delete * from 表名

10、運算子-某個範圍(between)

查詢表中符合某個範圍的列(這些值可以是數值、文字或者日期)

select 列名 from 表名 where 列名 between 值1 and 值2

查詢表中不符合某個範圍的列(這些值可以是數值、文字或者日期)

select 列名 from 表名 where 列名 not between 值1 and 值2

11、萬用字元(like用到)

代替1個或多個字元

_僅代替1個字元

[charlist]

字元列中的任何單一字元

[^charlist]或者[!charlist]

不在字元列中的任何單一字元

選取符合以ab開始的值

select 列名 from 表名 where 列名 like 『ab%』

選取包含ab的值

select 列名 form 表名 where 列名 like 『%ab%』

選取第乙個字元後是ab的值

select 列名 form 表名 where 列名 like 『_ab』

選取第乙個字元是a、第二個字元任意,第三個字元是b,第四個字元任意,的值

select 列名 form 表名 where 列名 like 『a_b_』

選取以a或b開頭的值

select 列名 form 表名 where 列名 like 『[ab]%』

選取不以a或b開頭的值

select 列名 form 表名 where 列名 like 『[!ab]%』

12、運算子-某個模式(like)

查詢表中符合某個模式的列

select 列名 from 表名 where 列名 like 某模式

查詢表中不符合某個模式的列

select 列名 from 表名 where 列名 not like 某模式

13、別名(as)

列的別名:

select 列名 as 別名 from 表名

表名的別名:

select 列名 from 表名 as 別名

使用表別名的查詢語句:

select 表名1.列名,表名2.列名 from 表名1 as 別名1,表名2 as 別名2 where 別名1.列名 = 值 and 別名2.列名 = 值

使用列名查詢語句:

select 列名1 as 別名1,列名2 as 別名2 from 表名(注意:查詢結果列名會顯示為別名)

14、關聯表(join)

關聯表通過主外來鍵關聯

select 表名1.列名,表名2.列名 from 表名1 jion 表名2 on 表名1.主鍵列名 = 表名2.外來鍵列名 order by 表名1.列名

15、函式count()

返回匹配指定條件的行數

返回指定列的值的數目(null不計入):

select count(列名) from 表名

返回表中一共多少行(記錄):

select count(*) from 表名

返回某一列不同值的數目:

select count(distinct 列名) as 別名 from 表名

16、分組(group by)

查詢列1中同一值的列2的count數,並對列1不同的值分組

select 列名1,count(列名2) from 表名 group by  列名1 

sql常用sql語句

1 查詢某個庫中所有的表名字 select name from sysobjects where xtype u and name dtproperties order by name 2 得到資料庫中所有使用者檢視 select name from sysobjects where xtype v...

常用sql語句

t sql語句複製表的方法 我在sql server 2000中有現個資料庫datahr及demo,它們的結構是一樣,其它有乙個表名為 gbitem.現在我想將demo資料庫的表名 gbitem的全部內容複製到datahr資料庫的表名為 gbitem中。請問此t sql語句應該怎麼寫?謝謝高人指點!...

常用SQL語句

查詢 sp who 中的結果值。因為儲存過程不能查詢,先轉為臨時表再查詢。declare tb table spid varchar 100 ecid varchar 100 status varchar 100 loginame varchar 100 hostname varchar 100 b...