话不多说,直接开始。
//基本的创建表的语句
create table myemp(
id number(10) primary key,
name varchar2(10) not null,
gender varchar2(4) check(gender in('男','女'))
---constraint myemp1_id_pk primary key(id)
)
//使用子查询创建表, 由于1=2为假,该语句只拷贝myemp表的结构,没有拷贝数据;
create table myemp2 as select * from myemp where 1=2;
drop table myemp purge;
注:不加purge是暂时放到回收站中了
查看回收站:show recyclebin;
彻底清除回收站: purge recyclebin;
彻底删除表: drop table myemp purge;
查看回收站表数据: select * from 回收站的文件名
flashback table myemp to before drop;----返回到表删除前
oracle: alter table myemp3 modify ename vachar2(20); //不能带column
mysql : alter table myemp3 modify (column) ename varchar(20);
oracle: alter table myemp3 add gender varchar2(4);
mysql : alter table myemp3 add (column) gender varchar2(4);
oracle: alter table myemp3 drop column gender; //必须带column
mysql : alter table myemp3 drop (column) gender;
oracle: alter table myemp3 rename column ename to myname; //必须带column
mysql : alter table myemp3 change (column) ename myname varchar(20);
oracle: rename myemp3 to myemp4;
mysql : rename table mysqltname3 to mysqltname4; //必须带table
单条插入:
insert into myemp(empno,ename) values(1111,'张三');
批量插入:
insert into myemp select * from emp where deptnp=10;
修改列:
update myemp set ename='小李' where deptno=10;
使用delete删除数据
delete from myemp where empno=7369;
使用truncate删除整张表数据
truncate table myemp;
小贴士:
delete和truncate 删除数据的区别
1.delete逐条删除;truncate先摧毁表,再重建。
2.delete是DML(可以回滚) truncate是DDL(不可以回滚)。
3.delete不会释放空间 truncate会。
4.delete可以闪回(flashback)truncate不可以。
开始对sql语句执行的计时
set timing on(off)
开启或关闭数据库的反馈(例如传入很多条信息,关闭这个让他不会每条都告诉你插入成功)
set feedback on(off)
新手可以简单理解为每次sql提交就是一次事务(后面会讲事务的类型,新手先简单知道一下)。
oracle中事务: 在insert/update/delete 中默认操作之后需要commit才能改变真正改变数据;
mysql中事务: 直接执行insert/update/delete 就已经改变了数据
oracle中支持3种事务:
read commited 读已提交;(默认),
read only 只读模式,
serializable 串行化。
注意:oracle默认的事务是read commited(读取已经提交的数据),另外还自己支持read only (只读,对于其他操作不支持)事务
可以设置当前事务为上述的某个类型。
set transaction read only; --修改当前事务为只读模式
方便遇到问题回滚,类似游戏里的存档。
创建保存点:
savepoint a;
回滚保存点:
rollback to savepoint a;
事务的4大特性:原子性(Atomicity),一致性(Consistemcy),隔离性(Isolation),持久性(Durability),简称ACID。
A:原子性(Atomicity)
事务是数据库的逻辑工作单位,事务中包括的诸操作要么全做,要么全不做。
C:一致性(Consistency)
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
I:隔离性(Isolation)
一个事务的执行不能被其他事务干扰。
D:持续性/永久性(Durability)
一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。