安装后首次登录Oracle数据库只能以管理员身份登入。
管理员登录后需要创建普通用户。
Oracle中有一个表空间概念,类似MySQL中的database,存放一些表。
//Oracle相比MySQL是大型数据库,承载着大量级数据。所以在创建表空间时会设置表文件的大小
create tablespace [Name] datafile '[dir]/[filename].dbf' size xxxM autoextend on next xxxM maxsize xxxM;
//创建用户,一个用户会对应一块默认表空间
create user [Name] identified by [Pwd] default tablespace Name;
//赋权给用户,这是连接和操作表空间中资源的权限
grant connect,resource to userName;
创建好表空间与对应用户后,并得到授权后。用户可以直接登录进入表空间,也可以通过
conn username/password;命令中途连接进表空间。
图片
另外,用户还常用的基本命令还有如下几种:
//断开连接
disconnect;
//将上一句SQL语句保存到文件中,当文件不存在,默认create;当文件存在,默认replace
save dir/file [create|replace|append];
//就是引入sql文件。(顺带一提,mysql中导入脚本是通过source 命令)
@ dir/file;
//可以查看当前用户下有哪些表或视图,tabs更加详细
select * from tab/tabs;
注:select * from all_tables where owner=upper(name);功能相同
//查看用户下所有对象(表,视图,索引,分区,序列,函数,存储过程,触发器等)
select object_name,object_type from sys.all_objects where owner=upper(name);
//命令行可以查看当前用户
show user;
注:select user from dual;
//运行上一条SQL语句
/ 一个符号就行
至于对表的操作,oracle与MySQL的表操作基本一致。毕竟两者都是采用SQL语言的。但是Oracle的语句书写要比mysql的更加严格。
-
Oracle每个用户一般只对自家表空间表进行操作,如果涉及其他表空间的表查询,必须带上人家的用户名
-
还有,Oracle是一个事务范围较高的数据库。它不像MySQL那样一句语句就是一个事务,执行完就立即同步。在Oracle中,只要不执行
commit;命令提交,他就认为这个事务没完成。这就导致当前会话关闭但是没提交就会白做。所以在创建数据表等结构时,一定要记得随手commit一下。 -
Oracle的表字段约束与MySQL基本一致,就是MySQL中有一个自增约束,Oracle是没有这个约束的。但是在Oracle中可以通过序列这种结构实现自增。
序列就是一串有序自增的数字集合。可以从中挨个取值实现主键的有序递增。create sequence Name start with xxx increment by xxx minvalue xxx maxvalue xxx order cache xxx cycle; select seqName.currval,seqName.nextval from dual;可以直接从序列中取值赋给表的对应字段,序列会自动后移一位。
序列从0开始,取值从1开始。 -
对于alter这类操作也是差不多。对于具体的column操作要加上
column标识
浙公网安备 33010602011771号