数据库简介

  • 文件存储

  • 手工存储—》文件管理—》数据库

文件存储弊端:

  1. 缺乏对数据的整体管理,数据不便修改。

  2. 不利于数据分析和共享。

  3. 数据量急剧增长,大量数据不可能长期保存在文件中。

DB和DBMS

数据库(Database,简称DB)是按照数据结构来组织、存储和管理数据的仓库。
数据库管理系统(DataBase Manager System 简称DBMS):管理数据库的软件。

关系数据库简介

  • 描述两个元素之间的关联关系或对应关系

  • 使用关系模型把数据组织到二维数据表中

产品化: Oracle、 DB2、Sybase、SQL Server、MySQL

oracle数据库基本类型 - 图1

SQL概述

SQL:结构化查询语言
SQL实在关系数据库上执行数据操作。检索维护所使用的标准语言,可以用来查询数据、操作数据、定义数据、控制数据。
SQL可以分为:数据定义语言(DDL)、数据操作语言(DML)、事务控制语言(TCL)、数据查询语言(DQL)、数据控制语言(DCL)标准化SQL语句,

oracle数据库基本类型 - 图2

oracle数据库基本类型 - 图3

oracle数据库基本类型 - 图4

oracle数据库基本类型 - 图5

oracle数据库基本类型 - 图6

Oracle数据类型

NUM

oracle数据库基本类型 - 图7

CREATE TABLE emp1(
    id NUMBER(4),
    name VARCHAR2(20) NOT NULL,
    gender CHAR(1) DEFAULT 'M',
    birth DATE,
    salary NUMBER(6,2),
    deptno NUMBER(2)
)

char

oracle数据库基本类型 - 图8

char存放定长字符,即存不满补足空格

varchar2

oracle数据库基本类型 - 图9

varchar2存放变长字符,存多少占多少。如保存字符串’HELLOWORLD’,共10个英文字母;varchar2最大取值为4000字节

varchar与char类似
varchar(100):10个字母,补齐90个空格,实际占100;(浪费空间,节省时间)
varchar(100):10个字母,实际占用10个(浪费时间,节省空间)

char和varchar2的存储编码

oracle数据库基本类型 - 图10

oracle数据库基本类型 - 图11

Date

oracle数据库基本类型 - 图12

--创建表
CREATE TABLE emp(
    id NUMBER(4),
    name VARCHAR2(20),
    gender CHAR(1),
    birth DATE,
    salary NUMBER(6,2),
    job VARCHAR2(30),
    deptno NUMBER(2)
)

oracle数据库基本类型 - 图13

DDL

创建表

CREATE语句:建表
DESC table_name:查勘表结构
DEFAULT:指定默认值
NOT NULL:确保字段不为空

--设置默认值,在数据库中,无论字段是什么类型,
--默认值都是null,但是可以在创建表的时候通过default
--关键字为指定的列单独设置默认值,在数据库中,字符串使用
--单引号表示字面量这一点与java不同
--notnull约束指定的字段可以确保不允许为null
--创建表
CREATE TABLE emp(
    id NUMBER(4),
    name VARCHAR2(20),
    gender CHAR(1),
    birth DATE,
    salary NUMBER(6,2),
    job VARCHAR2(30),
    deptno NUMBER(2)
)

CREATE TABLE emp1(
    id NUMBER(4),
    name VARCHAR2(20) NOT NULL,
    gender CHAR(1) DEFAULT 'M',
    birth DATE,
    salary NUMBER(6,2),
    deptno NUMBER(2)
)
DESC EMP;

修改表

rename:修改表名
add: 增加列
drop(column): 删除列
modify: 修改列

--DDL修改表  1.修改表名
RENAME EMP1 TO emp2;
--2.修改表结构  2.1 添加新字段
--向表中添加新的字段,只能在当前表的末尾添加 
--可以使用同时追加多个列,只需要使用逗号隔开即可
--与创建表声明列的时候的语法一样
ALTER TABLE emp2 ADD(
    hiredate DATE DEFAULT SYSDATE
)
--2.2删除表中的现有字段
ALTER TABLE emp2 DROP (hiredate)
--2.3修改表中的现有字段
--可以修改字段的类型、长度、默认值、非空约束
ALTER TABLE emp2 MODIFY(
name VARCHAR2(40) DEFAULT 'zhangsan'
)

DML

Insert插入语句

Update更新语句

Delete删除语句

--DML语句,用于修改表中数据,分为增删改
--1.插入一条数据
INSERT INTO EMP(ID,NAME,jOB,SAlARY) VALUES(1,'luban','adc',500)
--查询
SELECT * FROM EMP;
--2.修改表中现有数据,将'luban'的工资修改为20
UPDATE EMP SET SALARY = 20
WHERE NAME='luban';
--修改表中的数据通常指定where过滤条件,这样只会将满足
--条件的记录修改,若不指定where条件则是全表数据修改
--3.删除表中现有数据
DELETE  
 EMP WHERE NAME='luban';
--删除表中数据,同样需要指定where条件,否则就是清空操作
select NVL(NULL,5) from dual;
--字符串拼接
SELECT '21'||'12' from dual;