Oracle体系结构:
数据库 -----> 数据库实例ORCL -----> 表空间(用户里面创建的表) -----> 数据文件
DDL语句管理表:
创建表空间:逻辑单位,通常我们新建一个项目,就会去新建表空间,在表空间中创建用户来创建表(切换到system账号下创 建,否则权限不足)
create tablespace 表空间名称
datefile ‘文件的路径(服务器上)’
size 大小
autoextend on 自动扩展
next 每次扩展的大小
删除表空间: drop tablespace au;
创建用户:
create user 用户名
identified by 密码
default tablespace 表空间名称
创建账号或修改账号密码时会遇到ORA-00988: missing or invalid password(s), 一般是因为密码的设置不符合命名规范:密码是关键字、以数字开头或包含特殊字符但是没有用双引号包裹起来。
创建后切换登录,提示权限不足:
新创建的用户没有任何权限,登录后会提示。 我们需要赋予用户所需要的权限。
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
授权(system下): grant 角色 | 权限 to 用户 登录成功
授予jack dba的权限,切换到system用户,执行以下语句
查询其他用户测试:
列的类型:
创建表: 对应的光标可判断长度
varchar和char的小区别: 使用char类型时,精确匹配不会忽略空格
numer数字类型,小数长度不能大于等于总长度 所以刚才创建的test1表是有问题的,插入正确数据也有问题
查询日期:
子查询创建表:
修改表:
创建一个表:
删除表:
单表约束-四大约束
清空product表,添加外键约束:
再次插入时报错,提示没有找到key:
DML管理表数据:
回滚点
5条数据
视图:
屏蔽了表对应的细节,只能查看指定的列
序列:
默认从1开始,默认增长1,没有最大值,不循环,不缓存。
索引:
PLSQL: