資料庫 - 資料更新(插入、修改、刪除)

來源:互聯網
上載者:User

標籤:資料庫   刪除   更新   修改   values   

插入資料

兩種插入資料方式
1. 插入元組
2. 插入子查詢結果
可以一次插入多個元組
語句格式

    INSERT    INTO <表名> [(<屬性列1>[,<屬性列2 >…)]    VALUES (<常量1> [,<常量2>]    …           )

功能

將新元組插入指定表中
[例1]  將一個新學生元組(學號:200215128;姓名:陳冬;性別:男;所在系:IS;年齡:18歲)插入到Student表中。    INSERT    INTO  Student (Sno,Sname,Ssex,Sdept,Sage)    VALUES (‘200215128‘,‘陳冬‘,‘男‘,‘IS‘,18);
[例2]  將學生張成民的資訊插入到Student表中。        INSERT            INTO  Student            VALUES (‘200215126’, ‘張成民’, ‘男’,18,‘CS‘); 
[例3]  插入一條選課記錄( ‘200215128‘,‘1 ‘)。    INSERT    INTO SC(Sno,Cno)    VALUES (‘ 200215128 ’,‘ 1 ’);   RDBMS將在新插入記錄的Grade列上自動地賦空值。   或者:    INSERT    INTO SC    VALUES (‘ 200215128 ‘,‘ 1 ‘,NULL);
插入子查詢結果
語句格式    INSERT     INTO <表名>  [(<屬性列1> [,<屬性列2>…  )]    子查詢;功能    將子查詢結果插入指定表中
 INTO子句(與插入元組類似) 子查詢SELECT子句目標列必須與INTO子句匹配值的個數值的類型
[例4]  對每一個系,求學生的平均年齡,並把結果存入資料庫。第一步:建表      CREATE  TABLE  Dept_age          (Sdept  CHAR(15)              /* 系名*/           Avg_age SMALLINT);       /*學生平均年齡*/
第二步:插入資料        INSERT         INTO  Dept_age(Sdept,Avg_age)              SELECT  Sdept,AVG(Sage)              FROM  Student              GROUP BY Sdept;
修改資料
語句格式

UPDATE <表名>
SET <列名>=<運算式>[,<列名>=<運算式>]…
[WHERE <條件>];

功能修改指定表中滿足WHERE子句條件的元組
SET子句指定修改方式要修改的列修改後取值WHERE子句指定要修改的元組預設表示要修改表中的所有元組

三種修改方式
1. 修改某一個元組的值

[例5]  將學生200215121的年齡改為22歲         UPDATE  Student         SET Sage=22         WHERE  Sno=‘ 200215121 ‘; 
  1. 修改多個元組的值
[例6]  將所有學生的年齡增加1歲         UPDATE Student         SET Sage= Sage+1;
  1. 帶子查詢的修改語句
[例7]  將電腦科學系全體學生的成績置零。        UPDATE SC        SET  Grade=0        WHERE  ‘CS‘=                       (SELECT Sdept                        FROM  Student                        WHERE  Student.Sno = SC.Sno);
[例8] 將選修了課程名為DB的不及格的成績全部改為60分。        UPDATE SC        SET  Grade=60        WHERE  Grade<60 AND Cno IN                       (SELECT Cno                        FROM  COURSE                        WHERE  Cname = ‘DB’);

RDBMS在執行修改語句時會檢查修改操作
是否破壞表上已定義的完整性規則
實體完整性
主碼不允許修改
使用者定義的完整性
NOT NULL約束
UNIQUE約束
範圍約束

刪除資料

語句格式

       DELETE       FROM     <表名>       [WHERE <條件>];

功能
刪除指定表中滿足WHERE子句條件的元組
WHERE子句
指定要刪除的元組
預設表示要刪除表中的全部元組,表的定義仍在字典中
三種刪除方式
1. 刪除某一個元組的值

[例8]  刪除學號為200215128的學生記錄。        DELETE         FROM Student         WHERE Sno= 200215128 ‘;
  1. 刪除多個元組的值
[例9]  刪除所有的學生選課記錄。        DELETE        FROM SC;
  1. 帶子查詢的刪除語句
[例10]  刪除電腦科學系所有學生的選課記錄。        DELETE        FROM SC        WHERE  ‘CS‘=                           (SELETE Sdept                            FROM Student                            WHERE Student.Sno=SC.Sno);

資料庫 - 資料更新(插入、修改、刪除)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.