增删改的SQL语句执行完毕后,不会立马进行数据的写入数据库(这时数据在内存中),需要手动对数据进行提交(commit),如果数据出问题,可以使用回滚。
主键:非空唯一的
--在一张表中,某字段值是非空唯一的,将此字段设置为主键。
--唯一的标识一条数据
[增加数据源]
insert into 表名(字段名1,字段名2,字段名2...)values(值1,值2,值3...);
--注意1:主键必须有值,允许为空的字段可以给值
--注意2:插入语句表名后跟的字段名为赋值的字段,值和字段必须一一对应。
--注意3:如果是全字段插入,可以缺省字段名部分。insert into 表名 values(值1,值2,值3...);
1 --在dept表中新增部门信息:编号:50,名称;404boom,地址:博客园 2 insert into dept(deptno,dname,loc)values(50,'404boom','博客园'); 3 --全字段插入(可以不写字段名) 4 insert into dept values(80,'404boom','博客园'); 5 insert into dept(deptno,dname,loc)values(60,null,'博客园'); 6 --在dept表中新增一条数据,只有部门编号和部门名称,没有地址 7 insert into dept(deptno,dname)values(70,'404boom');
[删除数据(语法)]
delete from 表名; --删除表中的所有数据
truncate table 表名;清空表中的所有记录,效率高于delete
delete from 表名 where 条件; --进行条件的筛选删除,【需要进行提交才可以真正的从库里删除】
1 --清空表中数据 2 delete from dept; 3 --清空表中数据 4 truncate from dept; 5 --删除表中部门编号为50的数据 6 delete from dept where deptno=50;
[更新数据]
update 表名 set 字段名=新值,字段名=新值...(全部更新为新的值)
update 表名 set 字段名=新值,字段名=新值...where 条件(符合条件的数据更新)
1 --更新部门编号为50的信息 2 update dept set deptno=70,dname='boom',loc='我的博客' where deptno=50;
[数据备份]
注意:只会备份表结构和表的数据,约束条件并不会备份
表级别备份
--全部备份:create table 新的表名 as select * from 备份的表名
--部分备份:create table 新的表名 as select 字段名1,字段名2...from 备份的表名
--数据的整体插入
--insert into 表名 select * from 表名;
--注意:查询语句结果的字段数据必须和插入表名的字段数量一致,类型一致。
1 create table deptBak as select * from dept; 2 --选择性的备份 3 create table deptBak2 as select deptno,dname from dept; 4 insert into deptBak select * from dept;