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