若安装时为设置初始密码 则system用户的密码为 message Scott用户的密码为 tiger
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:指用户登陆密码,一般为字母、数字、“#”或“_”符号
一个用户有一个模式一个模式可以包含多个对象(索引,视图(数据字典),序列,角色,同义词,表)。
同一个,模式下不能存在同名的对象,不同模式下可以。
用户创建
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;
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)。
日期类型:
DATE:7字节。从公元前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
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;
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;
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 约束名;