天天看點

SQL 之“增”、“删”、“改”、“查”

一、查

1.普通查詢

文法:

1).查詢所有資料行和列

select * from a  
           

2).查詢部分行列–條件查詢

select i,j,k   from  a   where f=  
           

說明:查詢表a中f=5的所有行,并顯示i,j,k3列

3).在查詢中使用AS更改列名

說明:查詢a表中性别為男的所有行,顯示name列,并将name列改名為(姓名)顯示

 4).查詢空行

說明:查詢表a中email為空的所有行,并顯示name列;SQL語句中用is null或者is not null 來判斷是否為空行

5).在查詢中使用常量

select name '北京' as 位址 from a  
           

說明:查詢表a,顯示name列,并添加位址列,其列值都為’北京’

6).查詢傳回限制行數(關鍵字:top )

select top  name from a  
           

說明:查詢表a,顯示列name的前6行,top為關鍵字(oracle 中沒有top關鍵字 用rownum替代)

eg:

select   *   from   a where   rownum<    
           

7).查詢排序(關鍵字:order by , asc , desc)

說明:查詢表中成績大于等于60的所有行,并按降序顯示name列;預設為ASC升序

eg:

2.模糊查詢

1).使用like進行模糊查詢

 注意:like運算副隻用語字元串,

說明:查詢顯示表a中,name字段第一個字為趙的記錄

2).使用between在某個範圍内進行查詢

說明:查詢顯示表a中年齡在18到20之間的記錄

3).使用in在列舉值内進行查詢(in後是多個的資料)

select name from a where address in ('北京','上海','唐山')  
           

說明:查詢表a中address值為北京或者上海或者唐山的記錄,顯示name字段

3.分組查詢

1).使用group by進行分組查詢

2).使用having子句進行分組篩選

說明:接上面例子,顯示分組後count(score)>1的行,由于where隻能在沒有分組時使用,分組後隻能使用having來限制條件,

4.多表聯接查詢

1).内聯接

①在where子句中指定聯接條件

說明:查詢表a和表b中name字段相等的記錄,并顯示表a中的name字段和表b中的 mark字段

詳見内連接配接,外連接配接,完全連接配接的另一篇文章

二、删

文法:

delete from a where name='王偉華'(删除表a中列值為王偉華的行)   
           

注意:删除整行不是删除單個字段,是以在delete後面不能出現字段名

三、增

1.使用insert插入單行資料:

例:

注意:如果省略表名,将依次插入所有列

2.使用insert,select語句将現有表中的 資料添加到已有的新表中

insert into <已有的新表> <列名> select <原表列名> from <原表名>

例:

注意:查詢得到的資料個數、順序、資料類型等,必須與插入的項保持一緻

四、改

修改一條資料

update <表名> set <列名=更新值> [where <更新條件>]  
           

例: