Oracle数据库 day01 火推

来源:互联网 发布:金庸 误解 知乎 编辑:程序博客网 时间:2024/05/18 12:04
 计算机通用基础


JavaEE web阶段

JavaEE 框架阶段

JavaEE 强化阶段
Oracle 安装步骤

前置步骤: 
    1.  下载安装包
    2.  解压到任意非中文目录下
    3.  关闭杀毒软件与防火墙!

安装步骤:
    1.  点击setup.exe 安装
    2.  继续点击下一步!
    3.  输入口令(密码)
    4.  完毕 !

卸载步骤:

    1.  打开控制面板
    2.  选择程序-卸载
    3.  选择oracle database11g卸载
测试安装是否成功

1.  打开dos命令行

2.  输入sqlplus 数据库帐号/数据库密码 

3.  如果出现了sql>界面 表示安装且连接成功!

案例: 

    sqlplus system/123456
下载脚本

点击下载

搭建[上课使用]的数据库环境

1.  我们的计算机 是中文的语言环境, 我们的上课环境是英文数据库环境, 所以需要调整为:英文数据库

    -   设置环境变量 
    -   添加新的系统变量

        变量名:NLS_LANG
        变量值:american_america.AL32UTF8

2.  导入脚本

    在sql>输入: 
    @路径/脚本名称


3.  测试脚本是否导入成功. 
    #查看表结构的命令
    -   在sql>环境下输入: desc s_emp;

 Name                                      Null?    Type
 ----------------------------------------- -------- ---------------------------

 ID                                        NOT NULL NUMBER(7)
 LAST_NAME                                 NOT NULL VARCHAR2(25)
 FIRST_NAME                                         VARCHAR2(25)
 USERID                                             VARCHAR2(8)
 START_DATE                                         DATE
 COMMENTS                                           VARCHAR2(255)
 MANAGER_ID                                         NUMBER(7)
 TITLE                                              VARCHAR2(25)
 DEPT_ID                                            NUMBER(7)
 SALARY                                             NUMBER(11,2)
 COMMISSION_PCT                                     NUMBER(4,2)
数据库

什么是数据库? 数据仓库

存储数据的容器

------------------------

我们之前接触过那些存储数据的容器? 

数组  

集合  大多的集合内部使用数组+链表/二叉树的实现

存储在内存: 
    集合在内存在中开辟空间存储  , 内存无法永久存储数据

文件存储:  存储在硬盘, 数据不易丢失.  硬盘读写速度过慢


-------------------------------
数据的存储

内存存储        速度快     贵   无法保存

文件存储     速度慢  便宜  不易丢失
主流数据库

Oracle : 企业级的数据库 (适合中大型企业项目)        甲骨文公司 
     oracle9i   oracle10g  oracle11g  oracle12c
    教学使用11g版本  
db2    : IBM
sqlserver: 微软
mysql  : 小型数据库 , 开源免费 !
RDB

关系型数据库
RDBMS

关系型数据库管理系统
二维表(table)

由行和列组成的表格叫做二维表 !

表头:
行:
列:
字段名:
字段值:
访问数据库

访问本机数据库: 

在dos命令行下输入sqlplus命令, 根据提示数据帐号和密码

访问远程数据库: 

在dos命令行下输入:

sql>sqlplus 帐号/密码@ip
desc查看表结构

desc 表名
SQL语句

结构化查询语言  , 可以应用到目前百分之99的数据库

结构化查询语言的分类: 

    五大类: 

    DQL(data query language):select语句 数据查询语句

    DML(data manipulation language): 数据操作语句

    DDL(data define language): 数据定义语句

    TCL(transaction control language): 事务控制语句

    DCL(data control language):数据控制语句
s_emp表格的数据(员工表)

 Name(列名)                                 Null?    Type
 ----------------------------------------- -------- ---------------------------

 ID         员工的编号                                 NOT NULL NUMBER(7)
 LAST_NAME  员工的姓                               NOT NULL VARCHAR2(25)
 FIRST_NAME 员工的名                                        VARCHAR2(25)
 USERID   用户编号                                     VARCHAR2(8)
 START_DATE   入职日期                                     DATE
 COMMENTS     备注                                    VARCHAR2(255)
 MANAGER_ID   直接领导的员工编号                                    NUMBER(7)
 TITLE      职位                                           VARCHAR2(25)
 DEPT_ID    部门编号                                       NUMBER(7)
 SALARY     月薪(美元)                                        NUMBER(11,2)
 COMMISSION_PCT   提成百分比                                  NUMBER(4,2)
name: 列名
Null?: 当前这一列的数据 ,是否允许存在null值 , 如果不允许 则显示not null

数据库中常见的数据类型: 

1.  number: 数字类型,  它不存在取整特性 (当作java中的double)
2.  varchar2: 字符串类型
3.  date    : 日期类型
工具操作

设置列显示的宽度:
col 列名 for a长度;

案例: 设置s_emp表格中 last_name显示的长度:
命令: col last_name for a15;
Select语句

从数据库中查询数据
from子句

1.  查询单个列的值的方式
    格式:select 列名 from 表名;

    案例:查询员工表中的员工编号
    语句:select id from s_emp;

2.  查询多个列的值的方式:
    与查询单个列的值的方式基本相同, 多个列之间使用英文逗号隔开!
    格式:select 列名1,列名2...列名n from 表名;

    案例:查询员工表中的员工编号和员工薪资
    语句:select id,salary from s_emp;

    案例:查询员工表中的员工编号, 姓,名,月薪
    语句:select id,last_name,first_name,salary from s_emp;

3.  查询全部列的值的方式:
    与查询单个列的方式基本相同 , 使用*号表示所有列 
    * 号 表示通配符

    格式 select * from 表名;

    案例:查询员工表中的所有员工信息
    语句:select * from s_emp;
原创粉丝点击