连接命令:
[conn]ect username/password @本地net服务名
[disc]onnect:断开
exit : 退出:( 断开与用户的连接,并且退出sql*plus)
文件编辑命令
show user
select * from tab:查看用户下存在的表
[ed]it 绝对路径 文件名.sql
@ 绝对路径 文件名.sql
截屏信息
spool 绝对路径 文件名.sql
spool off
chmod 777 sqldeveloper.sh
用户管理:
sys:最高权力用户
system:它不能创建数据库
一般用户
conn username /password@本地net服务名:一般
conn / as sysdba:
创建用户:
create user 用户名 identified by 密码;
权限:
对象权限:表中的数据进行操作的
insert
update
delete
select
grant all on 表名 to 用户;
系统权限:数据库对象进行控制的
create session:
create table
create user
create view
create procedure
....
授予权限
grant 权限 to 用户 with admin option/with grant option;
收回权限
revoke 权限 from 用户
scott --(u1,u2)
scott给u1 对象权限,系统权限(传递)
u1给 u2权限(对象,系统)
收回u1的对象和系统权限,
u2的对象和系统权限是否存在?
u2的系统权限存在,u2对象权限收回;
角色(role):简化权限的管理,是一组权限的集合
1、预定义角色
connect角色
create session
resource角色
对象权限
一些系统权限
dba角色
所有权限
dba>resource>connect
grant 角色 to 用户;
revoke 角色 from 用户;
2、自定义
create role 角色名 not identified;
create role 角色名 idenfitied by 密码;
grant 权限 to 角色名
删除用户:drop user 用户名
修改用户:
alter user 用户名 identified by 密码
alter user 用户名 account lock;--把用户锁住
alter user 用户名 account unlock;---把用户解锁
创建表
查看表结构: desc 表名
数据类型:
1、字符型
varchar2(n):可变长度的
char(n):固定长度的
2、数值型
number(p,s)
s=0:整数
number(p,0)=number(p):
s>0:精度是p,其中小数点的右边保留S位。
number(4,2);
s<0: 精度是p+|s|,其中小数点的左边数s位
(4,-2)
3、日期型
date
sysdate:查看系统时间
4、lob类型:大对象类型 4G
clob: 大型文本数据
blob:以二进制存储
bfile:
创建表
create table (字段名 数据类型 [default 默认值],
字段名 数据类型 [default 默认值,.....])
创建一个person_xxx(pid 身份证号,name 姓名,sex 性别, birthday 生日)
修改表
为表添加一个字段
alter table 表名 add (字段名 数据类型 [default 默认值],
字段名 数据类型 [default 默认值,.....]);
为表修改一个字段(数据类型以及默认值)
alter table 表名 modify (字段名 数据类型 [default 默认值],...);
为表修改字段名
alter table 表名 rename column 旧的字段名 to 新的字段名
为表重命名
rename 旧的表名 to 新的表名
删除表
drop table 表名;
约束:(constraint)
1、主键约束:(2+3)
primary key
create table person(pid varchar2(18) primary key,
name varchar2(20),age number(3),
sex varchar2(2) default '女',birthday date)
create table person1(pid varchar2(18),
name varchar2(20),age number(3),
sex varchar2(2) default '女',birthday date,
constraint person_pid_pk primary key(pid));
写法:
1、 create table (字段名 数据类型 [default 默认值] primary key,
字段名 数据类型 [default 默认值,.....])
2、 create table (字段名 数据类型 [default 默认值] ,
字段名 数据类型 [default 默认值,.....],
constraint 约束名 primary key(字段名))
2、唯一约束:unique
create table person(pid varchar2(18) primary key,
name varchar2(20) unique,age number(3),
sex varchar2(2) default '女',birthday date)
create table person1(pid varchar2(18),
name varchar2(20),age number(3),
sex varchar2(2) default '女',birthday date,
constraint person_pid_pk primary key(pid),
constraint person_name_uq unique(name));
3、非空约束:not null
1、 create table (字段名 数据类型 [default 默认值] not null,
字段名 数据类型 [default 默认值,.....])
4、检查约束:check
create table person(pid varchar2(18) primary key,
name varchar2(20) unique,age number(3) check(age<=120),
sex varchar2(2) default '女',birthday date)
create table person1(pid varchar2(18),
name varchar2(20),age number(3),
sex varchar2(2) default '女',birthday date,
constraint person_pid_pk primary key(pid),
constraint person_name_uq unique(name),
constraint person_age_ck check(age<=120));
5、外键约束:foreign key
涉及2张表(主表,子表)
create table book(pid varchar2(18) references person(pid),
bid number(4),
bname varchar2(20))
create table book1(pid varchar2(18),
bid number(4),
bname varchar2(20),
constraint person_book_pid_fy foreign key(pid) references person(pid));
写法:
1、create table (字段名 数据类型 [default 默认值] references 主表(字段名),
字段名 数据类型 [default 默认值,.....])
2、 create table (字段名 数据类型 [default 默认值] ,
字段名 数据类型 [default 默认值,.....],
constraint 约束名 foreign key(子表的字段名) references 主表(字段名))
[conn]ect username/password @本地net服务名
[disc]onnect:断开
exit : 退出:( 断开与用户的连接,并且退出sql*plus)
文件编辑命令
show user
select * from tab:查看用户下存在的表
[ed]it 绝对路径 文件名.sql
@ 绝对路径 文件名.sql
截屏信息
spool 绝对路径 文件名.sql
spool off
chmod 777 sqldeveloper.sh
用户管理:
sys:最高权力用户
system:它不能创建数据库
一般用户
conn username /password@本地net服务名:一般
conn / as sysdba:
创建用户:
create user 用户名 identified by 密码;
权限:
对象权限:表中的数据进行操作的
insert
update
delete
select
grant all on 表名 to 用户;
系统权限:数据库对象进行控制的
create session:
create table
create user
create view
create procedure
....
授予权限
grant 权限 to 用户 with admin option/with grant option;
收回权限
revoke 权限 from 用户
scott --(u1,u2)
scott给u1 对象权限,系统权限(传递)
u1给 u2权限(对象,系统)
收回u1的对象和系统权限,
u2的对象和系统权限是否存在?
u2的系统权限存在,u2对象权限收回;
角色(role):简化权限的管理,是一组权限的集合
1、预定义角色
connect角色
create session
resource角色
对象权限
一些系统权限
dba角色
所有权限
dba>resource>connect
grant 角色 to 用户;
revoke 角色 from 用户;
2、自定义
create role 角色名 not identified;
create role 角色名 idenfitied by 密码;
grant 权限 to 角色名
删除用户:drop user 用户名
修改用户:
alter user 用户名 identified by 密码
alter user 用户名 account lock;--把用户锁住
alter user 用户名 account unlock;---把用户解锁
创建表
查看表结构: desc 表名
数据类型:
1、字符型
varchar2(n):可变长度的
char(n):固定长度的
2、数值型
number(p,s)
s=0:整数
number(p,0)=number(p):
s>0:精度是p,其中小数点的右边保留S位。
number(4,2);
s<0: 精度是p+|s|,其中小数点的左边数s位
(4,-2)
3、日期型
date
sysdate:查看系统时间
4、lob类型:大对象类型 4G
clob: 大型文本数据
blob:以二进制存储
bfile:
创建表
create table (字段名 数据类型 [default 默认值],
字段名 数据类型 [default 默认值,.....])
创建一个person_xxx(pid 身份证号,name 姓名,sex 性别, birthday 生日)
修改表
为表添加一个字段
alter table 表名 add (字段名 数据类型 [default 默认值],
字段名 数据类型 [default 默认值,.....]);
为表修改一个字段(数据类型以及默认值)
alter table 表名 modify (字段名 数据类型 [default 默认值],...);
为表修改字段名
alter table 表名 rename column 旧的字段名 to 新的字段名
为表重命名
rename 旧的表名 to 新的表名
删除表
drop table 表名;
约束:(constraint)
1、主键约束:(2+3)
primary key
create table person(pid varchar2(18) primary key,
name varchar2(20),age number(3),
sex varchar2(2) default '女',birthday date)
create table person1(pid varchar2(18),
name varchar2(20),age number(3),
sex varchar2(2) default '女',birthday date,
constraint person_pid_pk primary key(pid));
写法:
1、 create table (字段名 数据类型 [default 默认值] primary key,
字段名 数据类型 [default 默认值,.....])
2、 create table (字段名 数据类型 [default 默认值] ,
字段名 数据类型 [default 默认值,.....],
constraint 约束名 primary key(字段名))
2、唯一约束:unique
create table person(pid varchar2(18) primary key,
name varchar2(20) unique,age number(3),
sex varchar2(2) default '女',birthday date)
create table person1(pid varchar2(18),
name varchar2(20),age number(3),
sex varchar2(2) default '女',birthday date,
constraint person_pid_pk primary key(pid),
constraint person_name_uq unique(name));
3、非空约束:not null
1、 create table (字段名 数据类型 [default 默认值] not null,
字段名 数据类型 [default 默认值,.....])
4、检查约束:check
create table person(pid varchar2(18) primary key,
name varchar2(20) unique,age number(3) check(age<=120),
sex varchar2(2) default '女',birthday date)
create table person1(pid varchar2(18),
name varchar2(20),age number(3),
sex varchar2(2) default '女',birthday date,
constraint person_pid_pk primary key(pid),
constraint person_name_uq unique(name),
constraint person_age_ck check(age<=120));
5、外键约束:foreign key
涉及2张表(主表,子表)
create table book(pid varchar2(18) references person(pid),
bid number(4),
bname varchar2(20))
create table book1(pid varchar2(18),
bid number(4),
bname varchar2(20),
constraint person_book_pid_fy foreign key(pid) references person(pid));
写法:
1、create table (字段名 数据类型 [default 默认值] references 主表(字段名),
字段名 数据类型 [default 默认值,.....])
2、 create table (字段名 数据类型 [default 默认值] ,
字段名 数据类型 [default 默认值,.....],
constraint 约束名 foreign key(子表的字段名) references 主表(字段名))