--【用户管理】
--1.创建用户:
--1.1 切换到system用户
conn system/1q2w3e4r; --用户名/密码
--1.2 创建用户
create user zhangqs identified by zhangqs; --Oracle要求用户密码不能用数字开头
--1.3 修改用户密码
alter user zhangqs identified by zhangqs123;
--2.用户登陆
conn zhangqs/zhangqs;--此处会报错,刚创建的用户是没有任何权限的,需要管理员给用户分配相应的权限,才能登陆GRANT create session to zhangqs;--授予登陆权限
--3.用户授权
GRANT dba to zhangqs;
--4.收回授权
Revoke dba to zhangqs;
--【用户权限】
--1.系统权限:如:create session、create table、create index、create view、create sequence、create trriger...和数据库管理相关的权限。
--2.对象权限:如:update、insert、delete、select...和用户操作数据库对象相关的权限。
--【角色】
--1.预定义角色:如:dba
--2.自定义角色
--【表操作】
--1.创建表
create table UserInfo(id number(3) PRIMARY key,name varchar2(10),age int)
--2.重命名表
rename userInfo to myTable
--3.添加约束(primary key)
alter table myTable add constraint pk_mnember primary key(id);
--4.添加列
alter table myTable add hiredate TIMESTAMP(9);
--5.修改默认值
alter table myTable modify hiredate default sysdate+1;
--6.删除列
alter table myTable drop column hiredate;
--7.向表中添加注释
comment on table myTable is '用户表';
--8.向列添加注释
comment on column myTable.name is '姓名';
--9.清除表中所有数据
truncate table myTable;
--10.删除表
drop table myTable;
--【使用profile文件对用户口令进行管理】
--需求一、:设置用户zhangqs最多只能尝试3次登陆,如果3次都没有登陆成功,则锁定用户,锁定时间为2天。
--第1步:创建profile文件:
create profile zhangqs_profile limit FAILED_LOGIN_ATTEMPTS 3 password_lock_time 2;
--第2步:分配profile文件给用户:
alter user zhangqs profile zhangqs_profile;
--解锁用户(备用)
alter user zhangqs account unlock;
--需求二:设置用户每隔10天要修改登陆密码,宽限期限为2天。
--第1步:创建profile文件:
create profile myprofile limit password_life_time 100 password_grace_time 2;
--第2步:分配profile文件给用户:
alter user zhangqs profile myprofile;
--删除profile
drop profile zhangqs_profile;
--【数据类型】
--1.char(size):定长,最大2000个字符。
--2.VARCHAR2(size):变长,最大4000字符
--3.nchar(n):Unicode数据类型,定长,最大2000字符
--4.nvarchar2(n):Unicode数据类型,变长,最大4000字符
--5.clob(character large object):字符型大对象,最大8tb
--6.blob(binary large object):二进制数据,可以存放图片/声音,最大8tb
--7.number(p,s):p为整数位,s为小数位范围:1<=p<=38,-84<=s<=127
--8.date:包含年月日时分秒。默认格式:DD-MON,YYYY从公元前4712年1月1日到公元4712年12月31日的所有合法日期
--9.TIMESTAMP(n):n的取值为0~9表示指定TIMESTAMP中秒的小数位数。N为可选。如果n为0, timestamp与date等价[不推荐]
--10.查看字段占用信息:dump([字段名])
select name, dump(name) from testl: