insert 插入多条记录【掌握】
语法:insert into t_user(字段名1,字段名2) values ( ),( ),( )……;
insert into t_user(id,name,birth,create_time) values (1,'zs','1980-10-11',now()),
(2,'lisi','1981-10-11',now()),
(3,'wangwu','1982-10-11',now()),;
快速创建表【了解】
create table emp2 as select * from emp;
把后面的查询结果当作一张表新建出来,
表的快速复制
表创建出来,同时表的数据也复制出来了
create table mytable as select empno,name from where job = 'MANAGER';
将查询结果插入到一张表中【了解】
insert into dept_bak select *from dept;
快速删除表中的数据
删除dept_bak表中的数据
delete from dept_bak; //这种删除数据方式比较慢
delete删除数据原理:
表中的数据被删除了,但是这个数据在硬盘上的真是存储空间不会被释放
缺点:删除效率比较低
优点:支持回滚,后悔了可以恢复数据
用法:delete from dept_bak; (DML)truncate语句删除数据的原理:
这种删除效率较高。表被一次截断,物理删除,不能删单条
缺点:不支持回滚
优点:快
用法:truncate table dept_bak; (DDL)
大表,有上亿条记录
删除时间,使用delete,也需要1小时,效率低
可以使用truncate删除,只需要1秒,使用truncate之前,必须要要反复确认是否能删
删除表
drop table 表名; //不是删除表中的数据,是把表删除
表结构的增删改(在navicat上直接操作)
对表结构的修改:添加,删除,修改字段
实际开发中,一旦需求确定,表一旦设计好之后,很少进行表结构的修改。因为开发进行中,修改表结构,成本比较高
动表结构,对应java代码需要进行大量的修改
对表结构的修改:alter (DDL)