Sys as sysdba  sys用户可以创建其他的用户

Create user user01 identified by u01; 创建一个用户,口令为u01

Alter user user01 identified by us01; 更改用户的口令为us01

Password 只有拥有dba权限的用户才可以通过password更改口令

Drop user user01; 删除用户,如果用户拥有对象,则会报错

Drop user user01 cascade;删除用户所有的对象,再删除用户

 

三种标准角色:

(1)connect role 临时用户,特别是那些不需要建表的用户;

(2)resource role 资源角色,更可靠正式的用户;

(3)dba role 数据库管理员角色,拥有所有的系统权限,包括无限制的空间限额和给其他用户授予各种权限的能力

 

Grant命令

Grant connect,resource to user01; 将connect和resource权限授予user01;

 

Revoke命令

Revoke connect,resourcefrom user01;将授予给user01的权限撤回

 

创建角色

Create role student; 创建了一个角色

删除角色

Drop role student; 删除了student角色;

 

查看登陆用户

Show user

 

查看数据字典

Desc dba_users

 

启用scott用户

Alter user scott account unlock

 

登陆scott用户

Connect scott/tiger;

 

表空间 逻辑存储空间

分类(1)永久表空间,表,视图。。。(2)临时表空间,存放一些数据库操作中中间执行的过程(3)UNDO表空间,数据被修改的旧值

 

查看用户表空间

dba_tablespaces、user_tablespaces

dba_users、user_users

 

更改表空间

Alter user sys

Default/temporary tablespace sysaux;

 

创建表空间

Create tablespace test1_tablespace

Datafile ‘test1file.dbf’ size 10m; 创建了一个永久表空间

 

Create tablespace test2_tablespace

Tempfile ‘tempfile.dbf’ size 10m; 创建了一个临时表空间

 

创建表空间时,要为数据库文件制定扩展

 

查看表空间中数据文件存放位置

Select file_name from dba_data_files wheretable_name=’TEST1_TABLESPACE’;(查看永久表空间中数据文件的存放路径)

 

修改表空间

修改表空间脱机状态

Alter tablespace test1_tablespace offline; 将表空间变为offline状态;

和表空间有关的数据字典

Desc dba_tablespaces

 

查询表空间状态

Select status from dba_tablespaces wheretablespace_name=’TEST1_TABLESPACE’;

 

更改表空间的读写状态

(默认状况下表空间是可读写状态)

Alter tablespace test1_tablespace readonly;

Alter tablespace test1_tablespace readwrite;

 

删除表空间

Drop tablespace test1_tablespace [includingcontents];  删除表空间(并且删除表空间中的数据文件)

 

数据类型

字符型

Char(n)、NChar(n) 固定数值类型    nchar是按照unicode存储 2000,1000

Varchar2(n)、NVARCHAR2(n) 可变长度 4000,2000

 

数值型

NUMBER(p,s) p有效数字,s小数位数

FLOAT(n)二进制数

 

日期型

DATE 可以精确到秒

TIMESTAMP 可以精确到小数秒

 

其他类型

BLOB 可以存放4G,以二进制存放

CLOB 可以存放4G,以字符串存放

 

管理表

创建表

Create table userinfo

(ID number(3,2),

Username varchar(10),

Email varchar(30),

Regdate date);

 

修改表

添加字段

Alter table userinfo

Add remarks varchar(500);

更改字段数据类型

Alter table userinfo

Modify email number(3,0);

 

删除字段

Alter table userinfo

Drop email ;

 

修改字段名字

Alter table userinfo

Rename column email to emails;

 

修改表的名字

Rename userinfo to usersinfo;

 

删除表

Truncate table usersinfo   截断表,删除表中的数据

Drop usersinfo         删除表的结构,包括其中的数据

 

操作表中的数据

添加数据

Insert into userinfo(****,***,****)values(1,’wang’,’1234@qq.com’);    sysdate是一个系统函数,用于返回当前日期

 

添加默认值

(1)创建时添加

Create table testinfo

(ID number(6,0),

Regdate date default sysdate);

(2)通过修改添加默认值

Alter table testinfo

Modify regdate default sysdate;

 

表空间与表之间的关系

表空间是逻辑存储空间,一个表可以指定多个表空间进行存储,从多个磁头读取数据,能够加快读取数据的速度。一个用户可以有多个表空间,并且有一个默认表空间,如果创建表时,不给指定表空间,则存储在默认表空间中。

 

递归

在一个方法内部对自身进行调用

 

删除数据

Truncate 与delete

Truncate属于数据库定义语句,删除效率要比delete高

Delete可以删除指定的记录

 

约束