用户管理相关操作:
撤销用户:drop user 用户名 cascade;
新建用户:
-----备份 scott用户相关内容:exp 命令(新建一个空文件夹,dos 进入,exp命令 回车)
-----创建用户:create user wxy identified by wxy default tablespace users quota 10M on users;
-----给用户授权:grant create session,create table,create view to wxy;
-----导入数据:进入刚才新建目录 imp命令输入新建的用户名密码 输入要导入的用户名 密码回车
-----rollback:恢复上次操作
-----备份:
create table dept2 as select * from dept
dml语句:
插入操作:
insert into dept2 select * from dept;//整表插入
insert into dept2(deptno,dname) values(60,'hehe');//不完全插入
insert into dept2 values(50,'game','dalian');//完全插入
rownum:存在一个潜在的字段,rownum 显示行号
select ename from emp where rownum<5;//只能和小于号或小于等于号连用
select ename from (select rownum r,ename from emp) e where e.r=10;
更新: update emp2 set sal=sal*2 where deptno=10;
删除: delete from emp2 where deptno=10;
ddl语句:
创建表: create table table1(a varchar2(10));
删除表: drop table table1;
dcl语句:grand
事务控制语句:transaction
1.commit;所有的修改开始起作用,不能够rollback
如果还没有commit 则之前做的所有的修改都可还原。
2.如果碰到ddl dcl语句前面自动提交,不能rollback
3.正常断开连接,事务自动提交,非正常断开,事务自动回滚
create相关:
创建表:数据类型:varchar2(20):变长字符串,只规定最长上届20,在内存中长度可变,最多4096
char(8):定长字符串,如果不够8的话,也占8个字符,内存容易定位,效率较高, 但
是浪费空间
number(8,3):8位,小数点占3位
long
create table stu(
id number(6) ,
name varchar2(20) constraint stu_no not null,//字段级约束
sex number(1),
age number(3),
sdate date,
grade number(2) default 1,
class number(4) references class(id),//外键指向class表的id值,也可以写成表级:
email varchar2(25)
constraint stu_class_fk(class) references class(id),
constraint stu_primarykey primary key(id), //主键约束(非空唯一)可以设组合
constraint stu_name_email_uni unique(email,name)//组合起来不重复,表级约束
);
约束条件:constraint 可以给约束命名 constraint stu_no not null
not null:非空约束
unique:唯一约束(null值除外)
外键约束:一张表的两个字段,或两张表的两个字段,references 被参考的字段一定是主键
alter语句
alter table stu add(addr varchar2(100));
alter table stu modify (addr varchar2(150));//只能扩大
alter table stu drop(addr);
alter table stu drop constraint stu_name_email_uni;//放弃约束条件
oracle数据字典表:
user_tables:当前用户表
user_views:当前视图表
select constraint_name from user_constraints;//当前约束表
表 dictionary 存储这些数据字典表