天天看點

oracle DML語句

DML語句

(insert,update ,delete,select)

--插入語句

select * from student;

--單獨的插入一條語句

insert into student(sno,sname,sex,address,cardid)

values(2,'張三','男','長沙','12313')

update student set sex='女'

rollback;

--插入的時候要注意的地方

(1)要插入的列名的個數必須和值的個數比對

(2)當有限制的情況下面要考慮限制(check,default,foreign key,unique)

(3) 資料類型(考慮完整性限制(實體完整性,域完整性,引用完整性,自定義完整性))

(4)在SQL server裡面,當有辨別列存在的情況下,我們不能顯示的給這個辨別列插入值

--考慮預設限制的情況下面

insert into student(sno,sname,sex,cardid)

values(2,'張三','男','12322')

insert into student

values(3,'李四','女',default,'23')

--一次性插入多行資料

--在SQL SERVER 裡面

/*

--自己輸入的值

select 110,'張三','男',getdate(),95031 union

select 111,'張2','男',getdate(),95031 union

select 112,'張3','男',getdate(),95031 union

select 113,'張4','男',getdate(),95031

--建立表的同時插入另外一張表裡面的資料(表不存在的情況下)

select * into newStudent from student;--同時隻能執行一次

select * from newStudent;

truncate table newStudent;

drop table newStudent;

--表已經存在的情況下

insert into newStudent select * from student;

--隻複制表結構不要複制資料

select * into newStudent from student where 1=0;

--我們在建立表的同時添加一個字段,在這個字段上面添加辨別列

select identity(int,1,1) as sno,sname,ssex into newStudent from student;

*/

--在oracle裡面一次性插入多行記錄

select 110,'張三','男','長沙','95031' from dual union

select 111,'張2','男','長沙','95032' from dual union

select 112,'張3','男','長沙','95033' from dual union

select 113,'張4','男','長沙','95034' from dual

select * into newStudent from student; --在oracle裡面錯誤

create table newStudent

(

sno int primary key,

sname varchar2(20)

)

--往已經存在的表中插入另外一張表中的資料

insert into newStudent select sno,sname from student;

commit;

--更新語句

update 表名 set 字段名=值 where 條件

update student set sname = '王五' where sno =111;

--删除語句

delete from student where sno =111;

delete cardid from student;--不能删除指定列的值

--删除表中的所有記錄

truncate table student;

--相當于

delete from student;

truncate table tt1;

values(1,'張三','男',default,'111')

create table tt

(sno int primary key,

sname varchar2(20))

insert into tt select sno,sname from student;

select * from tt;

truncate table tt;

--查詢select

select 12+12 from dual;

--select 執行順序我們不能随意更改

select

from

where

group by

having

order by