您的位置  > 互联网

和mysql数据库的相同超级管理员:ANSI字符函数

与mysql数据库相同的SELE超级管理员:sys/on

普通管理员:/

普通用户:scott/tiger

大数据用户:sh/sh

格式化语法:

设置 300; 设置数据库SET 30的显示行大小; 设置每页显示的行数

A15 的 COL 字段名称

以上通常是使用设置显示

DESC 查看表结构

Scott 表中的结构:

简单查询:

SQL 是一种数据库语言。 SQL通常用于数据库之间的通信。 ANSI(美国标准协会)声称SQL是关系数据库系统的标准语言。

·DML(Data,数据库操作语言)→用于检索或修改数据

·DDL(Data,数据定义语言)→用于定义数据的结构,例如创建、修改或删除数据库对象。

·DCL(Data,数据控制语言)→用于确定特定时间的用户权限

简单查询语法:

如:job FROM emp;

“||” 用于连接字符串

受限查询:

查询排序:

单线功能:

单行函数主要分为五类:字符函数、数值函数、日期函数、转换函数、通用函数。

在数据库中,即使使用函数执行简单的查询,也必须编写完整的SQL语句。 不过,为了查询方便,数据库提供了虚拟表→“双”表,方便查询。

人物功能:

字符函数的作用主要是操作字符串数据。

·UPPER():将字符串返回为大写

·LOWER():将字符串改为小写并返回

· ( | ): 第一个字母大写

·( | ):求字符串的长度

·( | ):替换需要三个参数:1.列名2.替换前的字符3.替换后的字符。

·( | ,起点[终点]):字符串截取

使用截取字符串时有两种语法:

1.( | ,起点):表示从头到尾截取

2、( | ,起点,终点):截取指定区域的字符串数字函数:

· ROUND(数字|列[小数位数]):四舍五入运算

·TRUNC(数字|列[小数位数]):丢弃指定位置的内容

·MOD(数字1,数字2):取模并去除余数

日期函数:

从双; 获取当前日期

+ n; 代表n天后的日期

– n; 代表n天前的日期

-日期; 表示当前日期与指定日期之间的天数

·(Date):查找指定日期的最后一天

·(日期,周数):查找下一个指定周的日期X

·(周,数字):查找几个月后的日期

·(日期1,日期2):查找两个日期之间经过的月份

转换函数:

·( | , ):将日期或数字转换为字符串进行显示。 如果将日期转换成字符串显示,则会在月份前面添加“0”。 如果想去掉这个“0”,只需在格式字符串前面加上fm即可。

如果需要显示时间,则需要在格式字符串中添加时、分、秒缩写:

营业时间: hh | 24小时; 分钟:mi; 秒:ss;

如果需要格式化数字,请在格式字符串中使用“9”来表示数字。 如果需要表示不同的数字类型,例如货币:在格式字符串前面添加缩写;

货币:“L”表示“Local”,是当前计算机语言环境下的货币符号;

·TO_DA TE(字符串、格式字符串):将字符串改为DATE数据显示

·():将字符串转换为数字显示

常用功能:

主要有两个通用函数:NVL() 和 ()。 这两个函数是数据库独有的。

1. NVL()函数,处理null; 设置函数需要两个参数。 第一个是列,第二个是 if

null 要替换的数字。

2.()函数:多个条件、多个数值判断。

多表查询:

多表查询语法:

一般情况下,在查询未知表中的数据时,可以使用COUNT()函数来查询数据库表中数据项的数量。 这样可以避免数据库表数据量大造成的损失。

在数据库中查询时,需要使用左右连接来查询,所以使用“(+)”符号:

1、“(+)=”:如果“(+)”放在等号左边,则表示左连接查询;

2、“=(+)”:如果“(+)”放在等号右侧,则表示右连接查询;

统计功能和分组查询:

·统计功能:

·COUNT():查询表中的数据记录;

·A VG():求平均值;

·SUM():求和;

·MAX():求最大值;

·MIN():求最小值;

·团体统计:

WHERE 子句中不能使用统计函数

如果需要对分组数据再次进行过滤,则使用HA VING子句来完成,并且HA VING子句必须出现在GROUP BY子句之后,因为分组数据会再次进行过滤。

·WHERE和HA VING的区别:

1、WHERE:是在执行GROUP BY操作之前进行的数据过滤,意思是从所有数据中过滤出数据。

为了过滤掉部分数据,WHERE中不能使用统计函数。

2.:GROUP BY分组后再次进行过滤。 您可以在HA VING 子句中使用该系统。

计算功能。

子查询:

子查询=简单查询+有限查询+多表查询+统计查询;

子查询的出现模式:

·WHERE:子查询一般只返回单行单列、多行单列、单行多列的数据;

·FROM:子查询通常生成多行多列的数据,表现为临时表;

如果子查询返回多行单列数据,此时需要用到三个判断:IN、ANY、ALL;

1、IN运算符:用于指定子查询的判断范围。

与模糊查询中的IN相同。 唯一的区别是里面的范围是通过子查询指定的。

2、ANY运算符:匹配各个内容,有三种匹配形式。

·=ANY:功能与IN运算符完全相同

·>ANY:大于子查询返回的最小记录的数据

·

3. ALL运算符:匹配各个内容,有两种匹配形式:

·>ALL:大于子查询返回记录的数据

·

大多数情况下,if子句出现在最终的查询结构中,但无法使用统计函数,则会使用子查询中的统计信息。 即大多数统计复杂的地方都需要子查询。

数据更新操作:

数据库表复制语法:CREA TE TABLE name AS * FROM 复制的表名;

数据增加:

语法:

添加DATA数据:

·第一种:直接按照已有字符串的格式写入字符串即可,如“12--80”; ·第二种:使用()函数将字符串转换为DATE类型数据;

·第三种:如果设置的时间是当前系统时间,则使用SYSDA TE;

数据修改:

修改语法:

数据删除:

删除语法:

如果不写删除条件,则表示全部删除

删除时如果没有匹配条件则返回0;

事务处理:

所有事务处理操作均在每个

在数据库中,每个连接到数据库的用户称为一个用户。 每一个都是相互独立的。 彼此之间不会有任何交流,每个人都独享自己的事物。 事务控制主要使用两个命令:

1.事物回滚:更新操作回到原点

2.提交东西:,发布更新的真正操作

所有数据更新必须由事物控制

数据伪列:

:表示每条显示的记录都会根据查询自动生成行号,并且每次都会动态重新生成;

可以使用显示分页查询。

语法:

·分页查询概念:

将查询到的数据保存到临时数据表中,然后查询临时表中的数据,即:将查询到的有序数作为列保存到数据表中,然后查询临时表中指定的数据。 东西的个数。

·ROWID:表示每行数据保存的物理地址号; 每条记录的ROWID不会重复,即:即使表中所有列的数据内容重复,ROWID也不会重复,ROWID也不会重复。 以一个ROWID为例来说明ROWID的组成,例如:AAAL+

1、数据对象编号:AAAL+X;

2、相关文件号:AAE;

3、数据块号:;

4、数据线号:AAA;

DDL数据定义语言:

对于数据库来说,每张表实际上代表一个数据库对象,而数据库对象是指DDL定义的所有操作,比如表、视图、索引、序列、约束等,这些都是对象操作。 ,所以表的建立就是对象的建立,而对象的操作主要分为以下三种语法:

1. 创建一个对象:对象名称...。

2. 删除对象:DROP 对象名称......

3. 修改对象:ALTER name......

常用数据字段:

每个数据表实际上都是由若干个字段组成的,每个字段都有其对应的数据类型。

字段一般较少使用。 首先,BLOB可以存储4G的二进制数据,但是存储之后,一是数据库太大,二是读取不方便;

数据库创建:

语法:

复制完整的表格:

复制一个仅包含 20 个部门的员工信息的表:

复制表结构:

删除表:

重命名表:

在数据库中,所有的数据都是通过数据字典来保存的! 并且数据库中提供了三种数据字典,最常用的是:dba_、user_,两种数据字典。

例如:*来自

;是“user_”的数据字典;

数据库中的所有数据都保存在文件中,这意味着所有内容都会记录在字典中。

截断表:

如果表中的数据被删除,事务将会回滚。 如果此时想要彻底释放一个数据,

放入回收站;

重复表:

如果想彻底删除数据表,即直接删除数据,不放入回收站,使用:

修改表结构:

如果发现创建的数据表初始结构无法满足后期的使用需求,可以进行修表操作。 表的修改操作实际上是数据库对象的修改操作,使用ALTER指令完成:

如果为添加的列指定默认值,则所有现有列都将具有设置的默认值。

软件项目开发的基本流程:

1、获取需求; →软件销售

2、需求分析; → 根据客户提示进行需求分析

3、业务分析、数据库设计、界面设计; →数据库表设计

4、编码实现; →业务流程

5、软件测试; → 理论上应该有专门的测试人员

6、软件培训和项目维护;

约束:

如果设置了约束的名称,则需要在创建的表结构的最后一行写入约束的名称。 设置约束的名称时,一般使用约束的名称作为约束名称。 并使用修改。

约束的唯一作用就是保证表中数据的合法性。 根据约束的分类,主要分为五类约束:

1.非空约束,

2.唯一的限制,

3.主键约束,

4. 检查约束条件,

5、外部约束;

非空约束(NOT NULL):NK

当不希望数据表中某个字段的内容设置为空时,可以使用NOT NULL来指定。

唯一约束():英国

唯一约束是指每一列上的数据不允许重复。 例如,每个用户的电子邮件地址不能重复,因此使用唯一约束来完成它。

语法:创建表结构时,只需在需要约束的字段后面添加“”即可。

如果建立唯一约束时没有定义约束名称,则插入相同的信息会出现错误信息不完整的情况。 相反,将使用系统自动分配的代码提示。 因此,在建立唯一约束时,最好定义约束的名称,定义唯一约束名称格式:“约束类型_字段”,如“”;

使用补全指定约束名称。 例如:(字段名称);

主键约束(Key):PK

主键约束=非空约束+唯一约束; 主键一般作为数据的唯一标记出现,主键不能插入空值,主键不能重复;

设置复合主键时,在设置的字段名后添加多个需要设置的字段名,并用“,”字符分隔;

检查约束(Check):CK

主外键约束:FK

对两张表进行主外键约束,这两张表具有父子关系,即子表中某个字段的取值范围由父表决定。

1、如果要删除主表中的数据,子表中对应的数据也可以删除,可以在建立约束时指定级联删除功能,即:以后创建主外键关系时添加在;

2、主表中的数据删除后,对应子表中的数据相关项也要置为空,而不是删除。 创建主外键关系时,最后添加:ON SET NULL;

语法:

这样删除时,子表不会被删除。

修改约束:

约束本身也属于数据库对象,所以肯定是可以修改的,而且只要使用ALTER指令进行修改,约束的修改只需要参考以下两个操作:

这是一个特殊的约束,无法操作。

检查约束:

数据库中的所有对象都会保存在数据字典中,并且约束都是一样的,所以如果想知道有哪些约束,可以直接查询“”数据字典:

使用这种方法查询出来的约束并不知道约束在哪个字段上,所以此时可以查另一个数据字典表“”查询

采集操作:

数学运算中有交、差、并、补的概念,数据库查询中也存在这个概念,连接符号如下:

1、UNION:连接两个查询,相同部分不会显示;

2. UNION ALL:连接两个查询并显示相同的部分;

3.:返回两个查询的相同部分;

4. MINUS:返回两个查询的不同部分;———————————————————————————————— —— 1. 创建数据库:

·主要数据类型:V、DATE、CLOB;

·建表语法:TABLE 表名();

·删除表语法:DROP TABLE 表名;

·清空回收站:PURGE;

2、约束:约束是保证表中数据完整性的手段。 创建表时必须设置约束。

并且表在实际使用之前必须有约束;

·约束的分类:NOT NULL、()、主键(KEY)、检查约束(CHECK)、外键约束(KEY);

·设置外键时应注意以下几点:

|- 默认情况下,先删除子表,再删除父表;

|- 级联删除:开;

|- 级联设置NULL:ON SET NULL;

3、序列:可以形成自动增长列的操作;

·序列中有两个属性:,;

·顺序操作必须手动控制;

看法:

创建视图时有两个选项。

·选项1:ON with Check

如果在创建视图时使用此选项,则无法更新视图的创建条件。

·选项2:只读

虽然使用WITH CHECK可以确保视图的创建条件不被更新,但其他字段是允许更新的。 视图本身并不是具体的真实数据,而是一些查询语句,因此在创建视图时,一般将视图设置为只读视图。 在项目中,由于查询语句较多,视图的数量可能会超过表的数量。

同义词:

如果创建同义词时不使用,则说明创建的同义词不是公共同义词。

指数:

索引的主要作用是提高数据库的运行性能。

在数据库中创建索引有两种方法:

·主键约束:如果表中的列存在主键约束,则会自动创建索引;

·手动创建:在操作列上指定索引;

据资料显示,如果需要频繁修改这棵树,代码的性能就会降低,所以性能的提升总是相对的。

数据库包含十几种索引,最简单的索引是B树索引,还有位图索引、反向索引、函数索引等。

用户管理:

SQL语句分为三类:DML、DDL、DCL; DCL主要表示数据库的控制语句,控制语句就是操作权限。 在DCL中,主要有两种语法:GRANT、; · GRANT:授权;

· :回收;

创建用户:

1.创建用户

虽然此时已经创建了用户,但是还没有进行设置

对象,您无法登录数据库。

通过以上两步创建的用户虽然可以登录,但是不能创建表。

关于保存数据库表的问题:

数据库中的所有数据都保存在硬盘上,但并不是每个数据表都保存在硬盘上。 而是将表空间保存在硬盘上,将数据表保存在表空间中。 如果把硬盘表示为一个图书馆,那么表空间就代表每个书柜,每个表代表柜子上的一本书。

3. 授予新用户建表权限:

此时只给了新用户数据库表的创建权限,但没有给新用户表空间的操作权限,所以该用户仍然无法创建表,因为没有地方保存桌子。

·简化创建用户操作:

数据库中为用户提供了多种角色,每种角色又包含多种权限,主要有两种角色: 、 ;

· 使用户密码失效:

· 解锁用户:

如果不同的用户需要访问其他用户的表,可以直接使用完整的“用户名.表名”。

权限有4种,,,,UPDA TE

数据库备份:

·数据导入导出:

数据的导入和导出是一个用户的备份操作。 导出步骤为:

1、数据导出:

a) 在硬盘上创建文件夹:d\;

b) 输出exp命令;

c) 输入用户名和密码;

d) 设置导出文件的名称: file:;

2、数据导出:

a) 输入导出文件夹的地址:d\;

b) 输入imp命令

c) 导入整个导出文件(是/否):是

该操作仅适合数据量较小的操作。 如果数据量较大,可以使用批量导入或导出。

·数据表冷备份:

冷备份是在关闭数据库实例的同时执行数据库备份操作。

如果要做冷备份,需要备份数据库中的一些核心内容:

1、控制文件是指控制整个数据库实例服务的核心文件。 可以直接通过以下方式访问

通过“v$”找到;

2、重做日志文件可用于数据容灾,可以通过“v$”找到;

3、通过“v$”和“v$”查找数据文件和表空间文件;

4、通过“SHOW pfile”可以找到核心操作配置文件(pfile);

从数据库部署的角度来看,所有文件必须存储在不同的硬盘上,才能实现IO操作的均衡。

确定要备份的文件后,需要使用以下步骤来查找它们:

2.找到文件目录:

7. 将所有找到的数据备份到磁盘:

数据库设计范例:

在设计表的时候,尽量避免在以后的程序中出现多表相关的查询。

·第一范式:

所谓第一范式,是指数据表的数据列不能再划分。 即:不可分割的意思是所有的数据类型都使用数据库中提供的各种数据类型。

·第二范式(多对多):

对数据表中非关键字段中任意候选关键字的部分功能依赖; 主要分为两种:

1. 列之间不应存在功能关系;

·第三范式(一对多):