一.關于資料的插入 INSERT INTO 語句
1. 關于insert 的基本文法為 insert into 表名(需要插入的屬性也就是列名) values(具體的值),其中多個列名之間用逗号分隔,多個values之間也用逗号分隔,如果是對表中全部的列名插入,那麼則不需要指定列名
比如表中有一列叫做name,有一列叫做number,那麼如果隻對name進行插入,則應該寫為
insert into 表名(name) values ('WE');
如果是說是對所有的列進行插入,則應該寫為
insert into 表名 values('IG',20); 或者是 insert into(name,number) values('WE',20);
2. 原則上,執行一次insert語句向表中插入一行資料,但是在實際操作中,你要插入很多行資料,就需要寫很多insert 語句,這是一個很麻煩的過程,那麼下面介紹一個插入多行的方法,還是以前面提到的表為示例
insert into 表名 values('we',20),('ig',21),('edg',22),('rng',23);
但是 如果是在oracle中,則應該寫成insert all into 表名values('we',20)
into 表名values('edg',22)
into 表名values('rng',23)
3.從其他表中複制資料
如果之前提過表名叫做student,現在有一張和他一模一樣的表叫做student_2,兩個表中的字段完全一樣,我們想要把student中的資料複制到student_2中,文法如下
insert into student_2(name,number)
select name,number from student;
二.資料的删除 DELETE文法
1. 删除整張表 drop table student; 删除之後,資料庫中就沒有叫做student的表了
2. 删除表中的資料 delete from student where 條件; 如果不指定條件,則删除表中所有資料
3.介紹一種效率更高的删除整張表的文法 TRUNCATE 表名
三.資料的更新 UPDATE文法
1.首先 update是對表中已有的資料進行更新的操作
2. 基本文法 update student set name='SKT ' where 條件 同樣的不寫條件,則對表中所有行進行更新
3.多列更新-->兩種文法,但是隻對最通用的文法進行介紹
update student set name='SKT', number=4396 where 條件
四.事物
1. 事物這個概念和作業系統中的 原語 類似,對于一件事 要麼不做 要麼全做
2. 大家如果使用Oracle 中的sql plus 進行花式操作之後,直接關閉sql plus,那麼當你再次打開的時候會發現,資料庫中什麼都沒有,這就是因為 你退出之前忘記了儲存,這就需要在最後寫一個 commit;表示進行送出處理
3. 資料庫對于事物是怎麼看待的呢,首先 你需要指定出 事物的包含範圍,即哪些語句算作一次事物
對于 MySQL 來說 START TRANSACTION 表示你開始了一個事物,當你打算結束這次事物的時候,可以寫commit 或者是rollback
對于 Oracle,DB2 來說 不需要指定事物何時開始,隻需要當你在事物結束的時候寫commit 或者是 rollback
對于 SQL Sever 用 BEGIN TRANSACTION 表示事物的開始
4. 在上面提到了 commit 和rollback ,那麼這兩個是什麼意思呢???
commit: 是送出事物包含的全部更新出來的結束指令,相當于檔案進行中的覆寫儲存,一旦送出無法回複
rollback: 是取消事物包含的全部更新出來的結束指令,相當于檔案進行中的放棄儲存,一旦确定 之前做的所有操作全部付之東流