总目录👉震惊!史上最菜的Oracle 11g教程(大佬勿进)
文章目录
🚴大家好!我是近视的脚踏实地,这篇文章主要是讲述SQL简介和数据表分析
唯有行动 才能解除你所有的不安
1、SQL简介
SQL是整个数据库操作的灵魂所在,对于所有的数据库都支持SQL语法,同时为了考虑后边的学习,对于数据表的结构必须清楚记下。
1.1认识SQL
SQL(Structured Query Language:结构化查询语言)指的是结构化的查询语言。在70年代末到80年代初,世界上几乎有近80种数据库。但是就出现了一个问题,不同的数据库有自己不同的操作语法,也就是说如果你会使用A数据库,那么如果现在切换到B数据库上,基本上就是等于瞎子,又要从头学习B数据库的语法
后来IBM开发了一套标准的数据库操作语法,而全世界上只有Oracle数据库是最早提供这个语法支持的数据库(现在看来,当时的选择是正确的)。由于SQL语句的标准推广,到了现在的时候就已经成为了数据库的标准技术,也就是说现在几乎所有的数据库都支持SQL。
整个SQL语法之中实际上的组成只有20几个单词,但是在SQL大力发展的时代,还有一部分人就不使用SQL,这部分人认SQL让他们丧失了自我的创造力。就在整个行业之中产生了NOSQL数据库(不使用SQL数据库)。这一概念一直到大数据时代,NoSQL数据库火了,但是并不意味着不使用SQL的数据库,现在NoSQL(Not Only SQL)
对于SQL语句本身也分为若干个子类:
1)DDL(Data Definition Language)数据定义语言
用来定义数据库对象:数据库,表,列等。关键字create,drop,alter等
2)DML(Data Manipulation Language)数据操作语言
用来对数据库中表的数据进行增删改。关键字:insert。Delete,update
3)DQL(Data Query Language)数据查询语言
用来查询数据库中表的记录(数据)。关键字:select,where等
4)DCL(Data Control Language)数据控制语言(了解)
用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT,REVOKE等
2、数据表分析
2.1scott用户表(背)
首先如果想要知道某一个用户下(模式)所有的数据表,那么可以使用如下语法完成👇:
(用户和模式,严格来讲是两个概念,但是现在似乎不区分了)
select * from tab;
这里要注意登陆的是scott用户,此时结果中一共返回了四张数据表。但是要想知道每一张表的结构,则可以使用"desc 表名称",比如要想知道dept表的结构可以使用"desc dept"
2.1.1 部门表:dept
No | 列名称 | 类型 | 描述 |
---|---|---|---|
1 | DEPTNO | NUMBER(2) | 部门编号,最多由两位数字组成 |
2 | DNAME | VARCHAR2(14) | 部门名称,由14位字符组成(oracle是3个字符一个中国字,这里就是基本能存4个字) |
3 | LOC | VARCHAR2(13) | 部门位置 |
那么可以使用select * from dept; 来查看这个表的数据👇:
2.1.2 雇员表:emp
这里同样先输入desc emp 查看表的结构👇:
No | 列名称 | 类型 | 描述 |
---|---|---|---|
1 | EMPNO | NUMBER(4) | 雇员编号,最多只能包含4位数字 |
2 | ENAME | VARCHAR2(10) | 雇员姓名 |
3 | JOB | VARCHAR2(9) | 职位 |
4 | MGR | NUMBER(4) | 领导编号,领导也属于雇员 |
5 | HIREDATE | DATE | 雇佣日期 |
6 | SAL | NUMBER(7,2) | 基本工资,小数位最多是两位,整数是5位 |
7 | COMM | NUMBER(7,2) | 佣金,销售人员才具备佣金 |
8 | DEPTNO | NUMBER(2) | 所属的部门编号 |
那么可以使用select * from emp; 来查看这个表的数据👇:
(其中第一个人叫smith,工资是最低的800,一个个叫king,工资是最高的,工资是5000,这是80年代初的工资,然后king是领导,所以他的MGR领导编号是空的)
2.1.3 工资等级表:salgrade
这里同样先输入desc salgrade 查看表的结构👇:
No | 列名称 | 类型 | 描述 |
---|---|---|---|
1 | GRADE | NUMBER | 工资等级编号 |
2 | LOSAL | NUMBER | 此等级的最低工资 |
3 | HISAL | NUMBER | 此等级的最高工资 |
那么同样可以使用select * from salgrade; 来查看这个表的数据👇:
2.1.4 工资表:bonus
这张表用处不大,作为一个概念介绍而已,就在一些测试上会使用到,同样先输入desc bonus 查看表的结构👇:
No | 列名称 | 类型 | 描述 |
---|---|---|---|
1 | ENAME | VARCHAR2(10) | 雇员姓名 |
2 | JOB | VARCHAR2(9) | 雇员职位 |
3 | SAL | NUMBER | 雇员工资 |
4 | COMM | NUMBER | 雇员佣金 |
那么同样可以使用select * from bonus; 来查看这个表的数据👇:
在bonus表中现在没有任何的数据。这个是表是留给后边做测试用的
3、总结
总结:
1、查看某一用户全部数据表的命令要记住👉:select * from tab;
2、查看表结构的命令要记住👉:desc 表名称;
3、dept、emp、salgrade三张表的结构以及字段意义必须记下
本篇博客到这就完啦,非常感谢您的阅读🙏,如果对您有帮助,可以帮忙点个赞或者来波关注鼓励一下喔😬 ,嘿嘿👀