insert
添加、修改和刪出都屬于DML,主要包含的語句:insert、update、delete
● Insert語法格式
Insert into 表名(字段,。。。。) values(值,………..)
● 省略字段的插入
insert into emp values(9999,'zhangsan','MANAGER', null, null,3000, 500, 10);
不建議使用此種方式,因為當數據庫表中的字段位置發生改變的時候會影響insert語句。
● 指定字段的插入(建議使用此種方式)
insert into emp?(empno,ename,job,mgr,hiredate,sal,comm,deptno)?values(9999,'zhangsan','MANAGER', null, null,3000, 500, 10);
出現了主鍵重復的錯誤,主鍵表示了記錄的唯一性,不能重復。
如何插入日期:
第一種方法,插入的日期格式和顯示的日期格式一致
insert into emp(empno, ename, job, mgr, hiredate, sal, comm, deptno) values(9997,'zhangsan','MANAGER', null, '1981-06-12',3000, 500, 10);
第二種方法,采用str_to_date
insert into emp(empno, ename, job, mgr, hiredate, sal, comm, deptno) valu
es(9996,'zhangsan','MANAGER',null,str_to_date('1981-06-12','%Y-%m-%d'),3000, 500, 10);
第三種方法,添加系統日期(now())
insert into emp(empno, ename, job, mgr, hiredate, sal, comm, deptno) values(9995,'zhangsan','MANAGER',null,now() ,3000, 500, 10);
● 表復制
create table emp_bak?as select empno,ename,sal?from emp;
以上方式,會自動創建表,將符合查詢條件的數據自動復制到創建的表中;
如何將查詢的數據直接放到已經存在的表中,可以使用條件;
insert into emp_bak select * from emp where sal=3000;
可以修改數據,可以根據條件修改數據。
● 語法格式:
update 表名 set 字段名稱1=需要修改的值1,?字段名稱2=需要修改的值2 where …….
● 將job為manager的員工的工資上漲10%
update emp set sal=sal+sal*0.1 where job='MANAGER';
delete
可以刪除數據,可以根據條件刪除數據。
● 語法格式:
Delete from表名 where 。。。。。
● 刪除津貼為500的員工
delete from emp where comm=500;
● 刪除津貼為null的員工
delete from emp where comm is null;