Oracle基础(一)

若安装时为设置初始密码 则system用户的密码为 message Scott用户的密码为 tiger

1.常用的pl/sql命令

1.conn命令(中括号中为可选项)

语法:conn 用户名/密码[@数据库全局名称][as sysdba/as sysoper]

sys用户为系统管理员,使用该用户登陆时,必须带上AS SYSDBA 或者 AS SYSOPER

2.disc命令与exit命令

disc用于断开当前数据库的链接

exit命令与disc命令类似,也会断开数据库的连接,两者区别是使用exit命令断开用户与数据库的链接后sql*plus工具会结束运行。

3.passw命令

可以修改当前用户的登陆口令

4.show user命令

可以显示当前链接数据库的用户。

5.文件执行命令 

start命令和@命令

start/@ 文件路径  (用于执行文件或者脚本)

edit命令

需要在sql*plus命令窗口中打开编辑某个文件  edit 文件路径。

spool命令

通过spool命令可以将sql*plus命令窗口中的内容输入到指定文件中  spool 文件路径

使用spool   of命令关闭输出

6.创建用户

create user user_name  identified by pass_word
[default tablespace tablespace_default]//表示用户在创建数据库对象时所使用的默认表空间
[profiles profile_name]//指指定资源文件的名称
[account lock | account unlock]//指定用户是否被加锁

//username:指用户名,一般为字母、数字、“#”或“_”符号
//pass_word:指用户登陆密码,一般为字母、数字、“#”或“_”符号

2.用户管理与权限管理

用户管理

一个用户有一个模式一个模式可以包含多个对象(索引,视图(数据字典),序列,角色,同义词,表)。

同一个,模式下不能存在同名的对象,不同模式下可以。

用户创建

create user HH identified by 123456;

更新密码

Alter user useername identified by password;

锁  Alter user scott account lock/unlock;

Grant 权限 to username

修改用户

与创建用户语法一样,只需要将创建用户的语法的create关键字改为alter

删除用户

drop user user_name[CASCADE]

CASCADE:级联删除选项,如果用户下拥有数据库对象,必须加上CASCADE选项才能成功删除用户,CASCADE表示删除该用户及用户所拥有的数据库对象。

查询全局数据库名:

Select*from global_name; 查询数据库安装时起的名字

权限管理

授权

Grant {privilege | role } to [usrname|role] [with {admin | grant} option]
//privilege :表示要授予用户的权限
//role:表示要授予的角色
//usrname:获得权限的用户名
//with {admin | grant} option 表示被授权的用户可以将权限再授予其他用户。

回收权限

Revoke  privilege/role from username

查询系统权限:

Select *from  system_privilege_map;

查询当前用户所具备的系统权限:

select*from user_sys_privs;

角色管理

角色是一个独立的数据库对象,是一组权限的集合。

1.预定义角色 由数据库自动创建(可以直接使用的角色)

Connect  :登陆权限

Resource:创建权限

DBA:具有数据库的最高权限

EXP_FULL_DATABASE:操作数据库的导出工具

IMP_FULL_DATABASE:操作数据库的导入工具

角色的授权与权限的授权一样

创建角色与创建角色一样

系统角色可以授权给自定义的角色

查询用户所具有的角色 select* from user_role_privs;

修改角色密码:alert role role_name identified  by password;

删除角色:drop role role_name;

profile

1.设置密码错误次数

(1)failed_login-attempts:限制用户输入密码出错的次数,如果用户超出了指定的次数,数据库将会锁定该用户

(2)password_lock_time:用于指定账户被锁定的天数

2.设置密码的有效期

(1)password_life_time:设置用户密码的有效期,单位为天,超过这段时间后用户必须重新设置密码。

(2)password_grace_time:设置密码的宽限时间,单位天。

  系统默认的配置文件没有对密码的限制

创建配置文件

Create  profile profile_name limit (Failed_login_attempts +number)/(password_lock time+number)

修改配置文件

Alter user user_name profile profile_name;

表管理与表约束

表的每一行称作一条记录,表的每一列叫作字段的值

创建表

create table table_name(column_name data_type[default expression][constraint][,column_name data_type[default expression][constraint]...])
//table_name 表名
//column_name 列名
//data_type  列的数据类型
//expression 指定该列的默认值
//constraint 指定该列的约束,表示需要满足的条件

字符串类型:

CHAR(n):默认1个字节,n的最大值为2000字节

VARCHAR2(n):n的最大为4000字节。其长度会随着实际值的大小而改变。

NCHAR(n):默认1个字节,最大存储内容为2000字节。存储包含字符集的定长字符串。

NVARCHAR2(n):n的最大为4000字节。存储包含字符集的变长字符串。

数值类型:NUMBER(p[,s]) 1~22个字节(p取值范围为1~38,s取值范围为-84~127)。

日期类型:

DATE7字节。从公元前4271年1月1日到公元9999年12月31日的所有合法日期。

TIMESTAMP:7~11字节,用于存储日期时间,比DATE类型更准确,精确到小数秒。

大对象类型:

BLOB存储非结构化二进制文件

要具有create table才能去创建表

查看表结构:

Desc table_name;

复制一张表:

Create table table_name as select*from old_table(已经创建的表);

创建一张 空表Create table table_name as select*from old_table(已经创建的表) where 1=2(条件不成立即可);

修改表结构 

1.修改表名

rename old_table_name to new_table_name

Oracle基础(一)_第1张图片

alter table  old_table_name rename to new_table_name

2.修改表结构

语法:

alter table table_name add column_name | modify column_name | drop column column_name | rename column colunmn_name to new_name

add:向列表中添加列

modify:修改表中列的信息

drop:删除表中的列

案例:

1.向emp2中添加字段tel number(11)

2.修改emp2表中tel 的类型为 varchar2(11)

3.将emp2中的tel字段修改为emp_tel

3.删除emp2表中的emp_tel字段

查询模式中表的名字

select teble_name from user_tables;

Oracle基础(一)_第2张图片

表中数据操作与表约束

1.向表中插入一条数据  语法:

insert into table_name [(column_name1,column_name2......)] vlaues(value1,value2,....)

练习:向emp2表中插入一条数据

添加多条数据:

insert all

into students values ('0515101143','蔡雪松','','05工本2班')

into students values ('0515102003','纪川','','05科本1班')

select * from dual;

Oracle基础(一)_第3张图片

2.更新数据

语法:update table_name set column1=value1,column2=value2,column3=value3,... where expression

3.删除表中数据

delete from table_name where expression;

表完整性约束

表约束说明
列明 说明
PRIMARY KEY 指定表中的主键,该列的值早表中是唯一的,不能为空
UNIQUE 指定该列的值在表中必须唯一
NOT NULL 指定该列的值不能为空
CHECK 指定该列的值必须满足指定的条件
FOREIGN KEY 指定表中的外键,外键列的值与所需要引用的主键约束列的值一致

 

 

 

 

 

 

 

1.主键约束

语法:

alter table table_name add constraint pm_name primary key(column_name)

add constraint:表示添加约束;

pm_name :指定主键的名称

2.唯一键约束

语法:

alter table table_name add constraint uni_name unique(column_name);

3.检查约束

语法:

alter table table_name add constraint c_name check(condition);

4.外键约束

语法:alter teble table_name add constraint foregin_name foregin key(column) references table_name2(column2);

5.非空约束

语法:alter table table_name modify column_name not null;

6.删除约束

语法:alter table table_name drop constraint  约束名;

你可能感兴趣的:(Oracle)