Oracle
虚拟网卡:连接虚拟机
三种链接模式 :桥连接:插网线连接
仅主机模式:不需要插网线即可连接
NAT模式: 电脑能上网,虚拟机就能上网,但是无法与虚拟机连接
关系数据库:oracle mysql sqlserver DB2
**主要功能:**存放数据,管理数据
关系型数据库:数据库存放的是表,可以创建多个数据库,表与表之间存在存在关联关系。
非关系型数据库:Redis MongoDB
redis存放的数据主要是key-value。Redis中没有表概念,这种数据库称为非关系型数据库
**互补:**在很多时候我们需要对读取数据的速度要求非常快时,可以讲一些数据提前存放到Redis的非关系型数据库
简述Oracle
安装的是数据库服务,只是在安装时安装了一个数据库Oracle
数据库存在格式是以文件夹形式存放在硬盘中。mysql数据库中存放的是表
oracle数据库存放的是表空间,表空间放的是表。如果向oracle中直接放是可以执行的,只不过还是存放在默认表空间中。
在使用oracle市要先创建表空间,再向表空间存放表,
用户操作;普通用户和管理员。超级管理员
平时进行表操作,普通用户
进行用户管理,管理员
超级管理员权限最大。
create user lily identified by itcast;创建用户
增加权限grant dba to 用户名
PLSQL
创建用户:
create user 用户名 indentified by 密码 default tablespace 表空间
grant 用户权限 to 用户名
基本数据类型
char,varchar2,number,numeric,date
**字符型 **:
- char 固定长度,最多存储2000字节,长度固定会浪费空间
- varchar2 可变长度的字符类型,最多可存储4000字节
- long 文本类型
数值类型:
- number (n,m)数字位数为n位数,小数点后m位
日期
data 日期时间,精确到秒
timestamp 精确到秒的小数点后9位二进制
clob字符 blob存储二进制数据图像声明,可存4G
表操作
**创建表:**create table 表名(列名 类型,列名 类型,…) 列名与属性以空格隔开,每一列以逗号分隔,最后可以不加
**删除表:**drop table 表名
- delete from T_OWNERS where id=2;
**修改表格式:**alter table 表名
add (字段名,数据类型)
modify(字段名)
drop (字段名) --删除多个字段 ALTER TABLE 表名称 DROP (列名 1,列名 2…)
rename column 修改字段名语法 ALTER TABLE 表名称 RENAME COLUMN 原列名 TO 新列名
添加表信息:insert into 表名 (列名1,列名2 ,列名3)values(值1,值2,值3),添加信息必须与表列名数据类型相对应,否则会报错。
修改表内数据: update 表名 set 列名1 = 值1.列名=值二 … where 修改条件
- update aaa set name = ‘张三’.age=18 where id=2
删除数据: delete from 表名 where 删除条件,会产生碎片,并不释放空间;truncate是先摧毁表结构,再重构表结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SYpFP7i4-1658926811634)(C:\Users\86176\AppData\Local\Temp\1658926597131.png)]
建表约束
创建表时,一般会指定一列主键,primark key
特征:唯一的、不可重读的、唯一标识,实体完整性
外键:实现两张表的关联关系foreign key
自定义约束:syugae between 20 and 50
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xu8jwUJG-1658926811635)(C:\Users\86176\AppData\Local\Temp\1658910122645.png)]
**外键约束:**一对多、 多对一、 一对一、多对多
如果表关系是多对多,一般会创建下一个中间表,把多对多关系存放在中间表中,
实现步骤 :创键 学生student 课程course 学生课程关联表s’c
- 首先创建血student和course表,并确定主键
- 创建sc联系表,并将student和course的主键作为sc的属性,确定主键
- 建立外键,在表sc中将student和course的主键设为外键,如果成功后外键表联系会有提示信息
-- Create table
create table SC
(
scno NUMBER not null,
sno NUMBER,
cno NUMBER,
fianlscore NUMBER
)
create table COURSE
(
cno NUMBER not null,
couname VARCHAR2(20),
score NUMBER,
ctime NUMBER
)
create table SC
(
scno NUMBER not null,
sno NUMBER,
cno NUMBER,
fianlscore NUMBER
)
结果:
成功表现在关联表sc表在输入外键信息会有提示,但是无法输入外键所在表没有的信息,如果添加会报错