04、数据操作(DML)
增删改查有一个术语:CRUD操作
Create(增) Retrieve(检索) Update(修改) Delete(删除)
1、插入:insert
insert 语句插入数据
语法格式:
insert into 表名 (字段名1,字段名2,字段名3,……) values (值1,值2,值3,……);
要求:字段的数量和值的数量相同,并且数据类型要对应相同。
(1)一般的全列对应全values插入
insert into t_student (no,name,sex,classno,brith) values(1,'张三','1','高三(1)班','1999-11-24');
(2)部分列对应部分values插入
insert into t_student (name) values('王五');
(3)省略列名全values插入
insert into t_student values(1,'张三','1','高三(1)班','1999-11-24'); //后面values必须按顺序全写
(4)多行数据一次插入
insert into t_student (no,name,sex,classno,brith) values(1,'张三','1','高三(1)班','1999-11-24'),(2,'李四','2','高三(2)班','1998-10-10');
注意:
- 除了插入的字段,其他字段自动为NULL。
- 如果没有写表名后面的列,那么插入数据就应该按照表中列的顺序写,而且每一列都要写不能省略。
把查询结果插入到一张表中
两张表的列的数目一定要相同
insert into emp1 select * from emp;
2、修改数据:update
语法格式:
update 表名 set 字段名=值1,字段名=值2 … where 条件;
注意:没有条件整张表数据全部更新。
案例:把dept1表中的deptno 为 10部门的loc改为 ‘SHANGHAI’,dname改为 ‘RENSHIBU’。
update dept1 set loc = 'SHANGHAI',dname = 'RENSHIBU' where deptno = 10;
案例:更新所有的记录
update dept1 set loc = 'SHANGHAI',dname = 'RENSHIBU';
3、删除数据:delete / truncate
语法格式:
delete from 表名 where 条件;
注意:没有条件全部删除
案例:删除10部门的数据
delete from dept1 where deptno = 10;
案例:删除所有记录
delete from dept1;
案例:怎么删除大表(无法再恢复,表被截断,不可回滚,永久丢失)
truncate table dept1;