初识数据库(数据类型)

定义

  什么是数据库:在硬盘中开辟一块空间,用来存储数据的统称;

  为什么用数据库:

    1、数据库可以实现数据共享;

    2、减少数据冗余;

    3、数据的独立性;

    4、数据的一致性;

    5、故障恢复;

结构类型

  数据的结构类型:

    层次(树状)数据结构 -> 网状数据结构 -> 关系数据结构(目前)   对象数据结构(未来可能趋势)

  数据库提供商:

    Oracle/SyBase/DB2  大型数据库

    Mysql/sqlServer  小型数据库

    Access  微型数据库

Oracle

  Oracle数据库:

    甲骨文公司,提供的一款面向网络计算,支持关系对象模型,分布式的一款数据库产品;

  Oracle的安装:

    1、查看注册列表 - 调用regedit命令,如有oracle注册表,将其删除;

    2、数据库的组成:1、DB - 存储数据的库; 2、DBMS - 数据库管理系统,是一套软件,用于数据库中数据的操作、维护、优化等

  数据库的使用者:

    1、DBA - 数据库管理员

    2、程序开发者

  数据库的表结构:

    行、列

    第一行:表头

操作语言

  操作Oracle数据库的语言 - SQL语言

    结构化查询语言 - sql语言

    1、数据定义语言 - DDL

      1.Create创建 、 drop销毁 、 alter修改

    2、数据操作语言 - DML

      1.Insert插入 、 update修改 、 delete删除

    3、事务控制语言 - TCL

      1.事物提交的 commit/rollback

    4、数据查询语言 - DQL

      1.Select查询语言

    5、数据控制语言 - DCL

      1.grant给与权限 2.revoke撤销权限

    数据库用户

      SYS / SYSTEM / DBA

开始sql之旅

  --为scott解锁

  alter user scott account unlock

  --为scott设置密码

  alter user scott identified by tiger

  --emp 职员表

  --dept 部门表

  --salgrade 工资表

  --bouns 奖金表

  select * from emp

  select * from dept

  select * from salgrade

  select * from bonus

   

  --语法结构

  --select子句

  --from子句

  select *|字段名 from 表名

  --SQL编译输入不区分大小写,编译器会自动变成小写 (仅限于关键字,字段)

  select ename,EMPNO from emp

数据类型

  --数字类型

     --number(n,p)

  --字符类型

    --char(n)|varchar(n)长度可变

           --char(20)长度不可变

           --varchar(20)长度可变

  --拼接 ||

           --拼接员工表的名字跟岗位

           select ename||job from emp

           --将名字与岗位之间用逗号间隔

           select ename||','||job from emp --用单引号

  --去重 distinct

           select distinct deptno from emp

           select * from dept

  --null,不能参加数学运算

    select ename,sal*12 from emp

    select ename,sal*12+comm from emp

   --别名 -- 用双引号

    select ename as "姓名" from emp

    select ename "姓名" from emp

  --日期类型

    --date

  --where子句

           --查询smith的信息

           select * from emp where ename = 'SMITH'

           --where 子句应用范围

             --where子句 跟在from子句后面

             --where子句 可以写条件表达式,列名,字面量

             --where子句后面不可以用别名

  --逻辑运算符(两个条件产生一个结果)

          --and 与

          --两个条件都满足的时候才会被检索出来

          --查询员工表,部门号是20,工资大于1000;

          select * from emp where deptno = 20 and sal > 1000

         --or 或

         --只要有一个满足,就会被检索出来

         --查询部门号20,或部门号10 的员工

         select * from emp where deptno = 20 or deptno = 10

         --not 非   (辅助关键字is)

         --查询员工表中提成不为空 的员工

         select * from emp where comm is not null

         --多条件选择,多个条件可以进行匹配

         -- in (条件1,条件2...)

         --查询员工表中,岗位是经理和职员的信息

         select * from emp where job in ('CLERK','SALESMAN')

         --在... ...和... ...之间的  between and

         --设定匹配区域(范围)

         --查询员工工资不在1000到1500之间的

         select * from emp where sal not between 1100 and 1500

         --字符串匹配

         --查询员工表名字中有C的员工信息

         select * from emp where ename like '%C%'

   

  --排序

  --语法结构

    --select ... ...

    --from子句... ...

    --where子句... ...

    --order by排序... ...

  --查询员工表中 工资 升序 排序( desc降序)

    select *

    from emp

    where sal between 1000 and 2000 order by deptno desc

  --多条件排序

  --查询员工表中要求部门按升序排序,员工工资按照降序排序

    select *

    from emp

    order by deptno,sal desc

原文地址:https://www.cnblogs.com/coffeerun/p/5798402.html