1.创建表空间
/*创建表空间*/
create tablespace root_tablespace
datafile 'e:\data\root.dbf'
size 3m
autoextend on next 1m
maxsize 10m
创建用户,指明表空间
创建用户同时设置默认表空间
create user 用户名 identified by 密码
default tablespace 表空间名
如下:
/*创建用户,指明表空间*/
create user root IDENTIFIED by root
default tablespace root_tablespace
赋予用户权限
resource, connect, dba
connect 连接数据库的权限,
resource创建对象的权限如create table ,create index ,create sequence 等,
DBA无限的访问权限
查看用户角色权限
select * from user_role_privs;
查看用户表权限
select * from user_tab_privs;
grant 权限1,权限2 to 用户名;
grant select on 表名 to 用户名;
grant insert on 表名 to 用户名;
grant read,write on directory dpdata1 to scott;
grant dba to scott;
/*给新建的root账号赋予权限*/ grant dba to root |
给用户无限表空间权限
grant unlimited tablespace to 用户名;
撤销权限
revoke 权限1,权限2 from 用户名;
给用户指定表空间
用户存在的情况下指定默认表空间
alter user 用户名 default tablespace 表空间名;
查询用户默认的表空间
select username,default_tablespace from user_users;
删除表空间
drop tablespace 表空间名 including contents;
- oracle的数据类型
--mysql与oracle/sqlserver列类型的区别 报错:将截断二进制字符串(列的长度不够)
varchar2(6) 6个字母 3个汉字 nvarchar2(6) 6个字母 6个汉字 varchar2与char的区别 varchar2(6) abc ==>占了3个 char(6) abc==>占了6个
admin表 user pwd char(10) admin mysql oracle 整数 int/decimal(5,2) number(10,0)/number/number(10) address varchar(50) varchar2(50)/ nvarchar2(50)/nchar(50)/char(50) |
增删改查语法
插入日期2种方式
insert into emp values(7936,'kevin','clerk',7934,'11-6月-2014',4000,0,10) insert into emp values(7937,'hanmeimei','clerk',7934,to_date('1980-9-11', 'yyyy-mm-dd'),4000,0,1) |
删除 与mysql相同
delete from emp where EMPNO=1
修改 与mysql相同
update emp set ename='周星驰' where EMPNO=9527 |
查询 与mysql相同
SELECT * from emp; |
创建序列实现自增长
create sequence 序列名
increment by 1 -- 每次加几个
start with 1 -- 从1开始计数
minvalue 0 --最小值(不加默认为1,无法从0开始计数)
nomaxvalue --无最大值
nocycle --不循环
nocache; --设置为无缓存
如下:
create sequence privileges_seq
start with 1
increment by 1
maxvalue 1000
nocycle
nocache;
使用序列的语法 :序列名.nextval
INSERT INTO "privileges" VALUES (privileges_seq.nextval, '干掉管理员', 'function/deleteadmin.jsp', '我是超级管理员,我要干掉所有人');
/*1. 添加唯一约束*/
语法:
alter table 表名
add constraint 约束名称 unique(列名);
如下:
alter table "privileges"
add constraint uq_gradename unique("name");
/*添加约束*/
/*check约束*/
alter table student
add constraint ck_age check(age between 0 and 150)
/*默认约束*/
alter table student modify address default '光谷';
alter table student modify borndate default sysdate;--默认值为当前时间
/*外键约束*/
alter table 外键表名
add constraint fk_gradeid foreign key (外键表字段) references 主键表名 (主键表字段);
alter table "userrole"
add constraint "userrole_ibfk_1" foreign key("user_id") references "users"("id");