7.24在东软

SQL server(微软)、Oracle、MySQL

常用的Oracle指令:

启动/关闭服务

net start oracleserviceORCL
net stop oracleserviceORCL

采用暂时不登录的模式启动sqlplus

sqlplus /nolog

身份包括:sysdba/sysoper/normal(默认),@连接字符串是多个用户连接服务器用的

conn 用户名/密码@连接字符串 as 身份;

修改密码(修改别的用户):

alter user 用户名 identified by 新密码;

修改密码(修改当前用户):

password
记得用;结尾

将某个用户上锁/解锁

alter user 用户名 account lock/unlock;

一个数据库可以有多个表空间,大小为所属表空间大小的总和;
一个表空间可以有多个数据文件,大小为所属数据文件大小的总和;
一个数据文件只能从属于一个表空间;


表空间

创建名为“tptest”的表空间,(里面包含一个数据文件“tptest01.dbf”,初始大小10m,不够则再新增10m,最大是1G)

create tablespace tptest datafile ‘d:/tptest01.dbf’ size 10m autoextend on next 10m maxsize 1G;

在表空间“tptest”里面添加一个新的文件“tptest02.dbf”

alter tablespace tptest add datafile ‘d:/tptest02.dbf’ size 10m;

删除表空间tpname

drop tablespace tpname including contents and datafiles;

查询表空间

desc dba_data_files
//这样可以查询这个表有什么字段


用来查询系统控制文件:

select name from v$controlfile;

启动和关闭oracle数据库过程:

shutdown
→ nomount(未连上数据库,只是启动了实例)
→ mount (连上数据库,但为打开数据库,读控制文件)
→ open(读取所有文件)

误删了数据文件,数据库无法启动?

  • 要去控制文件里将误删的文件删掉

①先是startup mount
(会提示:ORACLE例程已经启动,证明mount这步没问题)

②alter database open;
(会提示具体缺少的数据文件)

③alter database datafile ‘d:/tptest01.dbf’ offline drop;
(会提示数据库已更改)
(测试数据库完好的最好办法是直接创建一张新表)

一个数据库 = 多个表空间
- 一个表空间 = 多个表
- 一个表 = 一个段
- 一个段 = 多个数据区
- 一个数据区 = 多个数据块
- 一个数据块 = 多个OS块

然而,每一个数据文件 = 多个OS块
每一个最小的oracle的存储快 – oracle的数据块:16k
每一个连续的数据存储空间:数据区


用户

(一般没权限的,需要)

grant connect,resource to shopping_user;

创建用户(密码为abc)

create user 用户名 identified by abc;

创建用户(在默认表空间,密码为abc)

create user test_user2 identified by abc default tablespace tptest quota 100m on tptest padword expire;

删除用户

drop user 用户名;

删除用户(包括该用户创建的所有表)

drop user 用户名 cascade;

将“建表权限”授权给用户test_user

grant create table to test_user;

从用户test_user的在t4这张表的“插入权限”回收(对象权限)

revoke insert on t4 from test_user;

创建角色

create role r_teach

Connect(登录执行基本函数)、
Resoource(建立用户自己的数据对象)
DBA(所有系统权限、给其他用户授予全部权限的能力)

删除角色

drop role r_teach

将test_user2用户加入到connect、resource这两个角色里

grant connect,resource to test_user2;

概要文件profile

修改概要文件权限:

show parameter resource_limit
alter system set resource_limit

dba_tables : 数据库中所有的表对象
all_tables : 当前登录的用户能够访问的表对象
user_tables :当前用户所拥有的表对象

创建一张表t4,并将这张表放大到表空间users里

create table t4(
“`
)
tablespace users;


完整性约束:

1、实体完整性:主键 primary key

2、域完整性:数据类型、日期型

3、引用完整性:外键

【学生表:学号、姓名…
成绩表:学号、课程号、成绩】

4、自定义的完整性

性别:char、check
成绩:number

>

create table t_orders(
oid char(8) primary key,–主键(唯一 + 非空)

uiid char(6) references t_user(uiid),–外键写法1–列级约束
uiid1 char(6) constraint fk_uiid references t_user(uiid),–外键写法2有约束名的外键
uiid2 char(6),
foreign key(uiid2) constraint fk_uiid2 references t_user(uiid),–外键写法3

customer varchar2(20) not null,–只能做列级约束
odate date default sysdate,–默认值
dddd char(8) unique,–唯一,不能重复
onum number(2) check(onum>0),–自定义约束

猜你喜欢

转载自blog.csdn.net/ak47bo88/article/details/75952263