当前位置:网站首页 > 数据科学与大数据 > 正文

Oracle数据库增删改查(oracle和mysql增删改查的区别)



数据库:英文单词DataBase,简称DB。按照一定格式存储数据的一些文件的组合。

顾名思义:存储数据的仓库,实际上就是一堆文件。这些文件中存储了具有特定格式的数据。

数据库管理系统:DataBaseManagement,简称DBMS。

数据库管理系统是专门用来管理数据库中数据的,数据库管理系统可以对数据库当中的数据进行增删改查。

常见的数据库管理系统:MySQL、Oracle、MS SqlServer、DB2、sybase等....

SQL:结构化查询语言。程序员需要学习SQL语句,程序员通过编写SQL语句,然后DBMS负责执行SQL语句,最终来完成数据库中数据的增删改查操作。

SQL是一套标准,程序员主要学习的就是SQL语句,这个SQL在mysql中可以使用,同时在Oracle中也可以使用,在DB2中也可以使用。

它们的关系:DBMS--执行--> SQL --操作--> DB

需要注意的事项?

  1. 端口号:
    端口号port是任何一个软件/应用都会有的,端口号是应用的唯一代表。
    端口号通常和IP地址在一块,IP地址用来定位计算机的,端口号port
    是用来定位计算机上某个服务的/某个应用的!
    在同一台计算机上,端口号不能重复。具有唯一性。










​ mysql数据库启动的时候,这个服务占有的默认端口号是3306。记住。

  1. 字符编码方式?设置mysql数据库的字符编码方式为 UTF8
  2. 服务名称?默认是:MySQL不用改。
    1. 选择配置环境变量path:
      如果没有选择怎么办?可以手动配置
      path=其它路径;C:Program Files (x86)MySQLMySQL Server 5.5bin




 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  

查询一个字段

 
  

查询多个字段

 
  

查询所有字段

 
  

这种方式的缺点:

  1. 效率低
  2. 可读性差。

在实际开发中不建议,可以自己玩没问题。你可以在DOS命令窗口中想快速的看一看全表数据可以采用这种方式。

给查询的列起别名

 
  

使用as关键字起别名。

注意:只是将显示的查询结果列名显示为deptname,原表列名还是叫:dname

住:select语句是永远都不会进行修改操作的。(因为只负责查询)

as关键字可以省略吗?可以的

 
  

假设起别名的时候,别名里面有空格,怎么办?

 
  

DBMS看到这样的语句,进行SQL语句的编译,不符合语法,编译报错

怎么解决

 
  

注意:在所有的数据库当中,字符串统一使用单引号括起来,单引号是标准,双引号在oracle数据库中用不了。但是在mysql中可以使用。

再次强调:数据库中的字符串都是采用单引号括起来。这是标准的。双引号不标准

数据库当中最基本的单元是表

什么是表table?为什么用表来存储数据呢?

​ 姓名 性别 年龄(列:字段)

数据库当中是以表格的形式表示数据的。因为表比较直观

任何一张表都有行和列:

  • 行(row):被称为数据/记录。
  • 列(column):被称为字段。例如姓名字段、性别字段、年龄字段。

了解一下:

  • 每一个字段都有:字段名、数据类型、约束等属性。
  • 字段名可以理解,是一个普通的名字,见名知意就行。
  • 数据类型:字符串,数字,日期等,后期讲。
  • 约束:约束也有很多,其中一个叫做唯一性约束,这种约束添加之后,该字段中的数据不能重复。
 
  
  1. DQL(Data Query Language):

    ​ 数据查询语言(凡是带有select关键字的都是查询语句)

    ​ select...

  2. DML(Data Manipulate Language):
    数据操作语言(凡是对表当中的数据进行增删改的都是DML)
    insert delete update
    insert 增
    delete 删
    update 改




    ​ 这个主要是操作表中的数据data。

    1. DDL(Data Defination Language):
      数据定义语言
      凡是带有create、drop、alter的都是DDL。
      DDL主要操作的是表的结构。不是表中的数据。
      create:新建,等同于增
      drop:删除
      alter:修改
      这个增删改和DML不同,这个主要是对表结构进行操作。
      4. TCL(Transaction Control Language):
      事务控制语言
      包括:
      事务提交:commit;
      事务回滚:rollback;












































  3. DCL(Data Control Language):
    是数据控制语言。
    例如:授权grant、撤销权限revoke....





什么是条件查询?

不是将表中所有数据都查出来。是查询出来符合条件的。

 
  

= 等于

 
  
 
  

<>或!= 不等于

 
  

< 小于

 
  

<= 小于等于

 
  

>大于

 
  

>= 大于等于

 
  

between...and...在...和...之间

 
  

is null/is not null为空/不为空

 
  
 
  

and 并且

 
  

or 或者

 
  

and和or同时出现的话,有优先级问题吗?

 
  

分析以上语句的问题?

 
  

in 包含,相当于多个 or (not in 不在这个范围中)

 
  
 
  

like

称为模糊查询,支持%或下划线匹配

%匹配任意多个字符

下划线:任意一个字符。

(%是一个特殊的符号,_ 也是一个特殊符号)

 
  
 
  
 
  
 
  
 
  
 
  

根据字段的位置也可以排序

 
  

按照查询结果的第2列sal排序。

了解一下,不建议在开发中这样写,因为不健壮。

因为列的顺序很容易发生改变,列顺序修改之后,2就废了。

 
  
 
  

数据处理函数又被称为单行处理函数

单行处理函数的特点:一个输入对应一个输出

和单行处理函数相对的是:多行处理函数。(多行处理函数特点:多个输入,对应1个输出!)

lower 转换小写

 
  

upper 转换大写

 
  

substr取子串

substr( 被截取的字符串, 起始下标,截取的长度)

 
  
 
  

concat 连接子串

 
  

length取长度

 
  

trim 去空格

 
  

str_to_date 将字符串转换成日期

date_format 格式化日期

format 设置千分位

case..when..then..when..then..else..end

 
  

round 四舍五入

 
  
 
  

结论:select后面可以跟某个表的字段名(可以等同看做变量名),也可以跟字面量/字面值(数据)。

 
  
 
  
 
  

rand()生成随机数

 
  

ifnull 可以将 null 转换成一个具体值

 
  
 
  

多行处理函数的特点:输入多行,最终输出一行

5个:

  1. count 计数
  2. sum 求和
  3. avg 平均值
  4. max 最大值
  5. min 最小值

注意

分组函数在使用的时候必须先进行分组,然后才能用。

如果你没有对数据进行分组,整张表默认为一组

 
  
 
  
 
  
 
  

执行顺序是什么?

  1. from
  2. where
  3. group by
  4. select
  5. order by

为什么分组函数不能直接使用在where后面

 
  

因为分组函数在使用的时候必须先分组之后才能使用。

where执行的时候,还没有分组。所以where后面不能出现分组函数。

 
  

这个没有分组,为啥sum()函数可以用呢?

因为select在group by之后执行

 
  

重点结论:

在一条select语句当中,如果有group by语句的话,select后面只能跟:1. 参加分组的字段;2. 分组函数。

其它的一律不能跟。

 
  

联合分组

 
  

having的使用

使用having可以对分完组之后的数据进一步过滤。

having不能单独使用,having不能代替where,having必须和group by联合使用。

 
  

思考一个问题:以上的sql语句执行效率是不是低?

比较低,实际上可以这样考虑:先将大于3000的都找出来,然后再分组。

 
  

优化策略:

where和having,优先选择where,where实在完成不了了,再选择having

where没办法完成怎么办???

 
  

书写顺序

select

...

from

...

where

...

group by

...

having

...

order by

以上关键字只能按照这个顺序来,不能颠倒。

执行顺序

  1. from
  2. where
  3. group by
  4. having
  5. select
  6. order by​

案例

到此这篇Oracle数据库增删改查(oracle和mysql增删改查的区别)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就! 
  

                            

版权声明


相关文章:

  • 数据库初学者入门(数据库新手入门需要哪些准备)2025-09-02 08:00:09
  • 大数据学什么语言好(做大数据学什么语言)2025-09-02 08:00:09
  • 消息认证码MAC(消息认证码Mac的值可以进行数据完整性的鉴定吗)2025-09-02 08:00:09
  • orecal数据库怎么获取ddl(oracle 获取ddl)2025-09-02 08:00:09
  • 数据库增删改查的四个关键字(数据库增删改查基本语句举例)2025-09-02 08:00:09
  • 达梦数据库端口号可以修改吗(达梦数据库修改连接数)2025-09-02 08:00:09
  • 小米手机数据迁移到华为新手机(小米手机数据迁移到华为新手机连接不上)2025-09-02 08:00:09
  • druid数据库连接池官网(druid数据库连接池原理)2025-09-02 08:00:09
  • 数据库端口在哪里查看(数据库端口查询)2025-09-02 08:00:09
  • 数据中台技术方案(数据中台 技术中台)2025-09-02 08:00:09
  • 全屏图片