SQL语句学习

  • 1.3 SQL语句学习
    • 1.3.1SQL基本概念
    • 1.3.2.学习SQL的方向
    • 1.3.3了解示例数据库中的数据表
    • 1.3.4了解示例数据库中的数据表字段

1.3 SQL语句学习

1.3.1SQL基本概念

1.SQL由来
1)早期数据库有70多种,但数据库中的管理方式各不相同。每种数据库都有自己独特的管理方式,这就导致切换数据库使用会产生极大的学习成本,在早期,很多程序开发时,是以多数据场景设计的,程序设计难度也比较高,
2)推出SQL(结构化查询语句)是上世纪70年代IBM推出一种数据库操作标准
IBM并没有去推行SQL的使用,在早期,只有很少的数据库厂商支持SQL标准,他们都有自己的数据库操作标准
3)Oracle很早就开始使用IBM研发的SQL标准。
2.数据库分类
1)关系型数据库
到目前为主,大家知道是数据库是(Oracle,MySQL , SQLServer,pgsql)都是支持SQL标准的。-----》都是rdbms(关系型数据库管理系统)----》关系型数据库
而SQL 是关系型数据库的操作标准
传统数据库Oracle,MySQL , SQLServer
2)非关系型数据库
redis(内存型数据库)和mogodb(文档型数据库),这些非关系数据库的使用场景是区分于我们常说的传统数据库的(Oracle/MySQL/SQL server),这些非关系型数据库并不遵循SQL标准。又称为nosql数据库,后来更名为newsql数据库
3)从现在到以后,关系数据库一定不会被取代

1.3.2.学习SQL的方向

  1. SQL通用语法以及Oracle的语法为重点
    11)我们将要学习的SQL标准是适用于关系型数据库(传统数据库)的,不同的传统数据库对应的SQL语法也会有不同。
    2).我们以SQL通用语法以及Oracle的语法为学习重点。
    2.在SQL标准中,将SQL操作分为三类
    DML------(Data Manipulation Language)数据操作语言
    DDL--------(Data Definition Language)数据定义语言
    DDL---------(Data Control Language)数据控制语言
    1)DML数据操作语言
    A.含义
    指代我们对数据库中数据的具体操作(增删改查)
    -----》(CRUD)C-create增,R-Read 查,U-Update 改,D-Delete 删
    B.DML的语法
    Insert 插入数据
    delete删除数据
    update更新数据
    select 查询数据
    2).DDL数据定义语言
    A.含义
    指代我们对数据库中表,表空间,索引等对象的操作,不会导致数据改变
    B.DDL的语法
    create 创建
    alter修改
    drop 删除
    C.例如
    a)create spfile from pfile----》编辑修改文件
    b)Alter database mount -----》启动数据库到mounted阶段
    c)Alter database open-----》启动数据库到opened阶段
    d)Alter system set memory_target=500M scope=spfile;
    3).DCL 数据控制语言
    A.含义
    指代我们在数据库中对用户授权的相关操作(权限相关)
    B.DCL的语法
    Grant
    Revoke
    3.总结
    1)上面提到的三类SQL语句,其中DML,DDL最重要,其中以DML为关键
    2) 在DML中,SELECT为重点,查询操作是我们学习SQL语句的重点,并且查询操作会直接影响数据库性能。
    3)提升数据库性能最直接的办法就是编写优秀的SQL语句
    4.补充知识点
    1)spfile与pfile的区别
    (1)pfile是文本文件,可以使用文本编辑器进行编辑,而spfile是二进制文件,不能使用任何编辑器进行修改,但是可以使用strings查看文件的内容
    (2)pfile里面是静态参数,不能在线修改,而spfile里面有动态参数,可以在线修改,而不用重启oracle;
    2)数据库启动分三个阶段
    A状态started
    ----数据库如果可以读到参数文件就到started阶段
    B状态mounted
    -----参数文件可以读到控制文件mounted阶段
    C状态open
    --------控制文件可以读到数据文件并且数据具有一致性open阶段
    3)startup启动过程(一步全启动)
    A. startup upgrade
    ----》升级的方式打开数据库----》走三步
    启动实例,进行挂载,打开数据库
    B. startup normal
    -----》正常方式打开数据库-----《走三步
    启动实例,进行挂载,打开数据库
    startup 等同于startup normal ----》normal可省略,默认是normal
    4)单步启动—对应三个阶段
    Startup nomount -----》启动数据库到started阶段-----》第一步
    Alter database mount -----》启动数据库到mounted阶段—》第二步
    Alter database open-----》启动数据库到opened阶段----》第三步
    Startup normal等同于 startup nomount +alter database mount+alter database open

1.3.3了解示例数据库中的数据表

当前我们学习SQL适用的是Oracle当中提供的scott用户,这个用户下存放了一些表,当中存放的一些数据,我们可以通过这些数据体验SQL的用法
1.认识scott用户的数据表
1)切换到scott用户下

2)查看所有表
A.语句格式:select * from tab;
B.功能描述:查看当前用户的能够使用的数据表
C.练习:

TNAME (表名) TABTYPE(表类型) CLUSTERID


BONUS(奖金表) TABLE
DEPT(部门表) TABLE
EMP(员工表) TABLE
SALGRADE(薪资表) TABLE
要使用的数据就存放在四张数据表中,现在大家可以将这里的数据表的结构想象成excel电子表格。

Bonus----》员工奖金表
Dept-----》部门信息表
Emp------》员工信息表
Salgrade—》薪资等级表

3)查看指定表数据
A.语句格式:select * from 表名;
上述四个数据表都可以通过select语句查看内容
B.功能描述:查看指定表的数据信息
C.练习1:查看emp表的数据

当字段多时,就会出现折行现象,我们可以调整linesize控制每行显示的字符

当行记录比较多时,就会出现分页的现象,默认每页显示的内容时有限的,我们需要通过调整pagesize,控制每页的显示行数
表由字段(表头)和行记录组成,当表的内容过多时,自动换到第二页显示pagesize

练习2:查看dept表中的信息数据

练习:查看bonus和salgrade表

这四个表都可以通过以上的select语句查看内容
但是,我们需要使用四张数据表中的数据,,因此必须要记住四张表的结构
4)查看指定表的表结构
A.语句格式:desc 表名;
B.功能描述:查看指定表的表结构
C.练习1:查看emp表的数据结构

在desc的结果中,name表示字段名,null表示该字段是否可以为空,type表示字段中存放的数据类型。
Name Null? Type


EMPNO NOT NULL NUMBER(4)----》表示最多4位数字从0000到9999
ENAME VARCHAR2(10)----》可变的字符数长度为10
JOB VARCHAR2(9)-----》可变的字符长度为9
MGR NUMBER(4) ----》表示最多4位数字
HIREDATE DATE-----》表示日期–年月日 time—表示时间
SAL NUMBER(7,2) 表示最多7位,保留2位,从00000.00到99999.99
COMM NUMBER(7,2) 表示最多4为数字
DEPTNO NUMBER(2) 表示最多2为数字

1.3.4了解示例数据库中的数据表字段

以上的数据表中的字段信息都需要记住
1.Emp表:存放员工信息

Emp数据表存在如下的字段
EMPNO -------》employee number -----》员工编号
ENAME -------》employee name-----》员工信息
Job -------》工作—》clerk雇员,salesman销售员,manager经理,
analyst分析员,president总统
MGR -------》manager----》上司
HIREDA------》雇佣日期—》17-DEC-80----》表示1980年12月17日入职
SAL ------》salary-----》员工薪资
COMM -----》commission----》佣金,绩效
DEPTNO-----》department number-----》部门编号
2.dept表:存放员工部门信息

Dept数据表存在如下的字段
DEPTNO-----》department number -----》部门编号10到40
DNAME -----》department name------》部门名称 4个部门
Accounting 会计 research 研究,科研 sales销售 operations操作部
LOC ------》location-----》公司地址 4个

3.salgrade表:存放薪资等级信息

salgrade数据表存在如下的字段
GRADE-----》 等级
LOSAL-----》 最低薪资----》该等级工资下限
HISAL-----》 最高薪资----》该等级工资上限

4.bonus表:存放员工奖金信息的表
Bonus表当前只存在表结构无数据,-no rows selected

bonus数据表存在如下的字段
ENAME------》employee name----》员工信息
JOB -----》工作
SAL -----》salary-----》工资
COMM -----》commission-----》奖金
5.dual表:虚拟表—》不存在的

6.主要使用表:emp和dept
使用的时候,主要操作集中在emp和dept数据表上

2. SQL语句学习相关推荐

  1. 常用Sql语句学习总结

    Sql语句学习总结用于以后复习查看 结构化查询语言(Structured Query Language),简称SQL: DQL:数据查询语言,用于对数据进行查询,如select DML:数据操作语言, ...

  2. SQL知识点、SQL语句学习

    SQL知识点.SQL语句学习 原文:https://www.cnblogs.com/klb561/p/10344271.html 一. 数据库简介和创建 系统数据库 在安装好SQL SERVER后,系 ...

  3. SQL语句学习之SQL基础的表创建以及添加数据

    SQL语句学习之SQL基础的表创建以及添加数据 学习目标1: 一周内掌握SQL基础语句 tip:主要是在牛客网(牛客网)上进行练习,里面有在线编程,可以直接运行,而且有解题的思路,比较清晰,而且容易了 ...

  4. 黑马程序员视频教程学习mybatis框架常用注释SQL语句学习笔记?

    mybatis学习笔记 常用注释增删改查SQL语句 常用注释拓展SQL语句 解决实体类属性和数据库表中的属性名称不相同的问题: mybatis注解之一对一查询: mybatis注解之一对多查询: my ...

  5. 【SQL】Sql Server SQL语句学习

    文章目录 1. 什么是SQL 2. 关系模型 2.1 主键 2.2 外键 2.3 索引 3. DDL操作 3.1 对库操作 3.2 对表操作 3.2.1 创建和删除表 3.2.2 添加约束 3.2.3 ...

  6. sql语句学习总结(适用菜鸟)

    大学的时候学习了mysql数据库,当时感觉挺简单的.但是后面的开发过程中,一直用的spingdatajpa,sql语句用的很少.现在系统的总结一下: 1.查询 单表查询 1.全字段查询 select ...

  7. 数据库SQL语句学习笔记(3)-排序检索数据

    1.排序数据 如果不排序,数据一般将以它在底层表中出现的顺序显示,这有可能是数据最初添加到表中的顺序.但是如果数据随后进行过更新或删除,这个顺序就会受到DBMS重用回收存储空间的方式的影响. 子句:S ...

  8. SQL语句学习(二)

    为一张表添加外键: 这里我们希望再建一张订单的表为t_order,包含order_id,customer_id和price: 1 CREATE TABLE t_order(order_id INT(1 ...

  9. Mysql学习进度(2013.03.12)—sql语句学习一

    在我的订餐系统里,和常规一样表里会有一个主键,这是不可重复的.所以,我们在插入一段新数据之前,都会判断目前表里最大的一个主键的值,然后为其加上1,在进行插入: 获取主键最大值的sql语句是: SELE ...

最新文章

  1. objective-c 方法加号(+) 减号(-)
  2. 深度解密Go语言之基于信号的抢占式调度
  3. jsp java session_JSP中Session的使用
  4. vue项目实现记住密码功能
  5. android swf游戏下载工具,安卓swf游戏播放器下载
  6. 自动驾驶 6-4 高级转向控制 - MPC Advanced Steering Control - MPC
  7. c语言教程英文版讲义,c语言教程英文版讲义(六)1.pdf
  8. matlab求解scara运动空间,SCARA机器人直线运动下的极限点求解算法
  9. PHP - 经典面试题大全,看这一篇就够了
  10. excel合并两列内容_比Excel公式快10倍,史上最牛合并表格工具来了!!
  11. 手把手:用OpenCV亲手给小扎、Musk等科技大佬们做一张“平均脸”(附Python代码)
  12. 肿瘤NGS的常规检测流程
  13. 健康常识坚持用柠檬的好处(适量)
  14. 【采样算法】拉丁超立方采样
  15. java和scala代码可以混合编写吗_IDEA实现Java与Scala代码混合开发
  16. android midi字节,MIDI的20个基本概念
  17. CentOS 7 安装极点五笔输入法
  18. 问道手游服务器维护,问道手游停服维护公告
  19. (二)Redis——持久化详细解析
  20. android 对象存储sd卡,Android网络与数据存储——File存储(实现SD卡文件浏览器)...

热门文章

  1. 网络安全行业需要工匠精神吗?
  2. MAC X or Ios平台上的学习工具
  3. 【P8090 [USACO22JAN] Herdle B】题解
  4. 利用threejs实现3D全景图
  5. 十二、GIO GSettings
  6. jadx重新打包_[原创]360加固之onCreate函数还原并重打包
  7. 任意四边形的面积公式
  8. 网聊记录-看看他的口才
  9. 计算机系统字体安装程序,windows系统字体安装方法:使用字体安装软件-windows技巧-电脑技巧收藏家...
  10. python launcher卸载后蓝屏_安装win7x64、x86总提示文件出错或安装大型软件出错或0x0000001a、0x0000003b蓝屏...