### 数据库学习笔记 #### 一、Oracle 数据库基础操作 **1. 登录 Oracle 数据库** - **登录方式**: 使用 `sys` 用户登录,登录模式为 `dba`(数据库管理员模式)。 - **用户名**: `sys` - **密码**: `system` **2. 创建表空间** - **脚本示例**: ```sql CREATE TABLESPACE zdy_tablespace DATAFILE 'C:\app\zhangdengyu\oradata\zdy\zdy_data.dbf' SIZE 500M; ``` - **解释**: - `CREATE TABLESPACE`: 创建一个新的表空间。 - `zdy_tablespace`: 新表空间的名称。 - `DATAFILE`: 指定数据文件的路径和文件名。 - `'C:\app\zhangdengyu\oradata\zdy\zdy_data.dbf'`: 数据文件的具体路径。 - `SIZE 500M`: 数据文件的初始大小为500MB。 **3. 创建用户** - **脚本示例**: ```sql CREATE USER langzi IDENTIFIED BY 1234 DEFAULT TABLESPACE zdy_tablespace; ``` - **解释**: - `CREATE USER`: 创建新用户。 - `langzi`: 新用户的名称。 - `IDENTIFIED BY 1234`: 设置用户密码为1234。 - `DEFAULT TABLESPACE zdy_tablespace`: 指定该用户的默认表空间为 `zdy_tablespace`。 **4. 赋予用户权限** - **脚本示例**: ```sql -- 赋予 CONNECT 和 RESOURCE 权限 GRANT CONNECT, RESOURCE TO langzi; -- 赋予 DBA 权限 GRANT DBA TO langzi; ``` - **权限说明**: - **DBA**: 拥有全部特权,是系统最高权限。只有 DBA 才可以创建数据库结构。 - **RESOURCE**: 拥有 Resource 权限的用户只可以创建实体,不可以创建数据库结构。 - **CONNECT**: 拥有 Connect 权限的用户只可以登录 Oracle,不可以创建实体,不可以创建数据库结构。 - **推荐权限分配**: - 对于普通用户:授予 `CONNECT`, `RESOURCE` 权限。 - 对于 DBA 管理用户:授予 `CONNECT`, `RESOURCE`, `DBA` 权限。 **5. 撤销权限** - **基本语法**: - 与 `GRANT` 类似,使用 `REVOKE` 关键字代替 `GRANT`。 - **示例**: ```sql REVOKE CONNECT FROM langzi; ``` #### 二、创建表 **1. 基本语法** - **脚本示例**: ```sql CREATE TABLE 表名 ( 列名 类型(大小) [DEFAULT '默认值'] [约束条件], ... ); ``` - **解释**: - `CREATE TABLE 表名`: 创建一个名为 `表名` 的新表。 - `列名 类型(大小)`: 定义表中的每一列及其数据类型和大小。 - `[DEFAULT '默认值']`: 可选,默认值用于指定当没有提供具体值时使用的值。 - `[约束条件]`: 定义列或表的约束条件。 **2. 约束条件** - **NULL 或 NOT NULL**: - **NOT NULL**: 强制列不允许为空。 - **NULL**: 允许列为空。 - **示例**: ```sql CREATE TABLE Persons ( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) ); ``` - **UNIQUE**: - **说明**: 约束确保列中的值是唯一的。 - **示例**: ```sql CREATE TABLE Persons ( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), CONSTRAINT uc_PersonID UNIQUE (Id_P) ); ``` - **PRIMARY KEY**: - **说明**: 主键约束用于标识表中的每一条记录,并且该值是唯一的。 - **示例**: ```sql CREATE TABLE Persons ( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), PRIMARY KEY (Id_P) ); ``` - **FOREIGN KEY**: - **说明**: 外键用于建立两个表之间的链接。 - **示例**: ```sql CREATE TABLE Orders ( O_Id int NOT NULL, OrderNo int NOT NULL, Id_P int, PRIMARY KEY (O_Id), CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P) REFERENCES Persons (Id_P) ); ``` - **CHECK**: - **说明**: 用于指定表中的每一条记录必须满足的条件。 - **示例**: ```sql CREATE TABLE Persons ( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), CONSTRAINT chk_PersonAge CHECK (Age >= 18 AND Age <= 100) ); ``` 以上是对 Oracle 数据库的基本操作进行了详细介绍,包括了登录数据库、创建表空间、创建用户、赋予和撤销权限以及如何创建表并定义各种约束条件。这些知识点是初学者学习 Oracle 数据库的基础,对于后续更深入的学习具有重要的指导意义。
剩余11页未读,继续阅读
- 粉丝: 2
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 与 FrontendMasters 课程 JavaScript 和 React 模式相关的 repo.zip
- win11系统有ie浏览器,打开ie浏览器自动跳转edge浏览器解决方案
- 基于Spark的新闻推荐系统源码+文档说明(高分项目)
- 27个常用分布函数详细汇总-名称+类别+用途+概率密度曲线+公式-PPT版本
- 一个易于使用的多线程库,用于用 Java 创建 Discord 机器人 .zip
- 最新2024行政区划5级数据结构和数据总集
- 《实战突击Java Web项目集成开发》源码.zip
- 不同语言的删除重复字符实现.pdf
- 嵌入式系统应用-LVGL的应用-智能时钟 part 3
- jdk 官方版v1.7 64位