目录
复制表
此列语法仅Oracle支持
CREATE TABLE myemp AS SELECT * FROM emp;
表已创建。
插入数据
- 完整格式:INSERT INTO 表名称[(列名称1,列名称2,...)]VALUES(值1,值2....); (建议使用)
- 简化格式:INSERT INTO 表名称 VALUES(值1,值2....);
若不添加所有列的数据:
- 明确一个字段内容为null;
- 不编写不需要的内容,那个字段就会默认填充
INSERT INTO MYEMP VALUES(6666,'LUJJ','CEO',NULL,TO_DATE('2018-09-24','yyyy-mm-dd'),10000,NULL,10);
修改数据:
写更新操作,必写WHERE子句
格式:UPDATE 表名称 SET 字段1=值1,字段2=值2,...[WHERE 更新条件]
UPDATE MYEMP SET JOB='CTO' WHERE ENAME='LUJJ';
例:将工资低于平均工资的提升50%
update myemp
SET SAL=sal*1.5
WHERE SAL<(SELECT AVG(SAL) FROM myemp);
删除数据(属于危险操作):
两种删除方式:
- 物理删除(DELETE FROM):彻底从表中删除记录;
- 逻辑删除:增加一个逻辑字段;例:当设flg=1时表示删除,flg=0时表示未删除;查看时增加一个限定条件,SELECT * FROM .....WHERE flg=0查看未删除数据。在工作中较为常用
格式:DELETE FROM 表名称[WHERE 删除条件]
DELETE FROM myemp WHERE empno IN (7369,7499);
事务处理(死锁)
只有在更新操作才会存在事务处理
ROLLBACK:恢复初始
COMMIT:事务提交
当更新操作未提交,则会保存在缓冲区中,若是不提交,重新打开数据依旧是原始值
每一个session都有自己独立的事务处理,不同session对同一条数据进行事务处理的时候,当第一个session未提交完成,第二个session会处于等待状态