6-1 SQL介绍

21-win10下ElasticSearch.6.1.0安装SQL插件 简介:win10下ElasticSearch.6.1.0安装SQL插件 5.安装sql 5.0 es配置 安装es http://blog.youkuaiyun.com/qq_21383435/article/details/79275543 cluster.name: elasticsearch node.name: "lcc_node" node.master: true # 指定该节... 阅读详情

1.sql语言介绍

结构化查询语言(Structured Query Language), 是关系数据库的标准语言.

SQL 可与数据库程序协同工作,比如 MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase 以及其他数据库系统。


2. SQL 的历史

1986年10月,美国国家协会(ANSI)发布了ANSI文件X5.135-1986《数据库语言SQL》,1987年6月国际化标准化协会(ISO)采纳为国际标准。这两个标准现在称为“SQL86”。

1989年10月ANSI又颁布了增强完整性特征的SQL89标准。随后,ISO对标准进行了大量的修改和扩充。

1992年8月ISO 发布了标准化文件ISO/IEC9075:1992《数据库语言SQL》,人们习惯称标准为SQL92-----“SQL2”。

1999年ISO发布了标准化文件:ISO/IEC9075:1999年《数据库语言SQL》,人们习惯称为SQL----“SQL3”。

 目前,除了 SQL 标准之外,大部分 SQL 数据库程序都拥有它们自己的私有扩展!也就是说存在着很多不同版本的 SQL 语言,但是为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的关键词(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。

3. SQL语言功能划分

SQL语言内部按功能共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。

(1) 数据查询语言DQL

 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块:

 SELECT <字段名表>

 FROM <表或视图名>

 WHERE <查询条件>

(2) 数据操纵语言

 数据操纵语言DML主要有三种形式:

 1) 插入:INSERT

 2) 更新:UPDATE

 3) 删除:DELETE

(3) 数据定义语言DDL

 数据定义语言DDL用来创建数据库中的各种对象-----表、视图、索引、同义词、聚簇等如:

 CREATE TABLE/VIEW/INDEX/SYN/CLUSTER 

(4) 数据控制语言DCL

 数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制

 数据库操纵事务发生的时间及效果,对数据库实行监视等。如:

 1) GRANT:授权。

 2) ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。

 3) COMMIT [WORK]:提交

 等

4.SQL基本语法规则

SQL语言语法规则简单通俗,操作方便快捷;

(1). 关键字不区分大小写
如:  select , SELECT
(2). 对象名不区分大小写
 select * from tab_stu;
       SELECT * from TAB_STU
(3).字符和日期区分大小写
Select ename, deptno from emp where
 ename=‘SCOTT’;
Select ename ,deptno from emp where
 Ename =‘scott’;
(4), ORACLE数据库中在sql plus等工具中以分号结束,多行语句可换行
(5) 表和列的命名准则
表或列名的最大长度为30个字符。
表或列名可包含字母、数字以及下划线字符( _ )。
表或列名必须以字母开头。名称可以包含数字或下划线,但必须以字母开头。
表和列名不区分大小写。

5. Oracle数据类型

orale数据类型:

类型

含义

CHAR(length)

存储固定长度的字符串。参数length指定了长度,如果存储的字符串长度小于length,用空格填充。默认长度是1,最长不超过2000字节。

VARCHAR2(length)

存储可变长度的字符串。length指定了该字符串的最大长度。默认长度是1,最长不超过4000字符。

NUMBER(p,s)

既可以存储浮点数,也可以存储整数,p表示数字的最大位数(如果是小数包括整数部分和小数部分和小数点,p默认是38为),s是指小数位数。可存负数

DATE

存储日期和时间,存储纪元、4位年、月、日、时、分、秒,存储时间从公元前4712年1月1日到公元后4712年12月31日。

TIMESTAMP

不但存储日期的年月日,时分秒,以及秒后6位,同时包含时区。

CLOB

存储大的文本,比如存储非结构化的XML文档

BLOB

存储二进制对象,如图形、视频、声音等。


   Oracle支持的数据类型可以分为三个基本种类:字符数据类型、数字数据类型以及表示其它数据的数据类型。

    字符数据类型

    CHAR CHAR数据类型存储固定长度的子符值。一个CHAR数据类型可以包括1到2000个字符。如果对CHAR没有明确地说明长度,它的默认长度则设置为1.如果对某个CHAR类型变量赋值,其长度小于规定的长度,那么Oracle自动用空格填充。

    VARCHAR2存储可变长度的字符串。虽然也必须指定一个VARCHAR2数据变量的长度,但是这个长度是指对该变量赋值的的最大长度而非实际赋值长度。不需要用空格填充。最多可设置为4000个字符。

    因为VARCHAR2数据类型只存储为该列所赋的字符(不加空格),所以VARCHAR2需要的存储空间比CHAR数据类型要小。

    Oracle推荐使用VARCHAR2

    NCHAR和NVARCHAR2 NCHAR和NVARCHAR2数据类型分别存储固定长度与可变长度的字符数据,但是它们使用的是和数据库其他类型不同的字符集。在创建数据库时,需要指 定所使用的字符集,以便对数据库中数据进行编码。还可以指定一个辅助的字符集[即本地语言集(National Language Set,简称NLS)]。NCHAR和NVARCHAR2类型的列使用辅助字符集。

    在Oracle9i中,可以以字符而不是字节为单位来表示NCHAR和NVARCHAR2列的长度。

    LONG LONG数据类型可以存放2GB的字符数据,它是从早期版本中继承来的。现在如果想存储大容量的数据,Oracle推荐使用CLOB和NCLOB数据类型。在表和SQL语句中使用LONG类型有许多限制。

    CLOB和NCLOB CLOB和NCLOB数据类型可以存储多达4GB的字符数据。NCLOB数据类型可存储NLS数据。

    数字数据类型

    Oracle使用标准、可变长度的内部格式来存储数字。这个内部格式精度可以高达38位。

    NUMBER数据类型可以有两个限定符,如:

    column NUMBER ( precision, scale)

    precision表示数字中的有效位。如果没有指定precision的话,Oracle将使用38作为精度。

    scale表示数字小数点右边的位数,scale默认设置为0.  如果把scale设成负数,Oracle将把该数字取舍到小数点左边的指定位数。

    日期数据类型

    Oracle标准日期格式为:DD-MON-YY  HH:MI:SS

    通过修改实例的参数NLS_DATE_FORMAT,可以改变实例中插入日期的格式。在一个会话期间,可以通过ALTER SESSION SQL命令来修改日期,或者通过使用SQL语句的TO_DATE表达式中的参数来更新一个特定值。

    其它的数据类型

    RAW和LONG RAW RAW和LONG RAW数据类型主要用于对数据库进行解释。指定这两种类型时,Oracle以位的形式来存储数据。RAW数据类型一般用于存储有特定格式的对象,如位图。 RAW数据类型可占用2KB的空间,而LONG RAW数据类型则可以占用2GB大小。

    ROWID ROWID是一种特殊的列类型,称之为伪列(pseudocolumn)。ROWID伪列在SQL SELECT语句中可以像普通列那样被访问。Oracle数据库中每行都有一个伪列。ROWID表示行的地址,ROWID伪列用ROWID数据类型定义。

    ROWID与磁盘驱动的特定位置有关,因此,ROWID是获得行的最快方法。但是,行的ROWID会随着卸载和重载数据库而发生变化,因此建议不要在事务 中使用ROWID伪列的值。例如,一旦当前应用已经使用完记录,就没有理由保存行的ROWID.不能通过任何SQL语句来设置标准的ROWID伪列的值。

    列或变量可以定义成ROWID数据类型,但是Oracle不能保证该列或变量的值是一个有效的ROWID.

    LOB

    LOB(大型对象)数据类型,可以保存4GB的信息。LOB有以下3种类型:

    。CLOB,只能存储字符数据

    。NCLOB,保存本地语言字符集数据

    。BLOB,以二进制信息保存数据

    可以指定将一个LOB数据保存在Oracle数据库内,还是指向一个包含次数据的外部文件。

    LOB可以参与事务。管理LOB中的数据必须通过DBMS_LOB PL/SQL内置软件包或者OCI接口。

    为了便于将LONG数据类型转换成LOB,Oracle9i包含许多同时支持LOB和LONG的函数,还包括一个ALTER TABLE语句的的新选择,它允许将LONG数据类型自动转换成LOB.

    BFILE

    BFILE数据类型用做指向存储在Oracle数据库以外的文件的指针。

    XMLType

    作为对XML支持的一部分,Oracle9i包含了一个新的数据类型XMLType.定义为XMLType的列将存储一个在字符LOB列中的XML文档。有许多内置的功能可以使你从文当中抽取单个节点,还可以在XMLType文档中对任何节点创建索引。

    用户自定义数据

    从Oracle8以后,用户可以定义自己的复杂数据类型,它们由Oracle基本数据类型组合而成。

    AnyType、AnyData和AnyDataSet

    Oracle包括3个新的数据类型,用于定义在现有数据类型之外的数据结构。其中每种数据类型必须用程序单元来定义,以便让Oracle9i知道如何处理这些类型的特定实现。

    类型转换

    Oracle会自动将某些数据类型转换成其他的数据类型,转换取决于包括该值的SQL语句。

    数据转换还可以通过Oracle的类型转换函数显示地进行。

    连接与比较

    在大多数平台上Oracle SQL中的连接操作符用两条竖线(||)表示。连接是将两个字符值连接。Oracle的自动类型转换功能使得两个数字值也可以进行连接。

    NULL

    NULL值是关系数据库的重要特征之一。实际上,NULL不代表任何值,它表示没有值。如果要创建表的一个列,而这个列必须有值,那么应将它指定为NOT NULL,这表示该列不能包含NULL值。

    任何数据类型都可以赋予NULL值。NULL值引入了SQL运算的三态逻辑。如果比较的一方是NULL值,那么会出现3种状态:TURE、FALSE以及两者都不是。

    因为NULL值不等于0或其他任何值,所以测试某个数据是否为NULL值只能通过关系运算符IS NULL来进行。

    NULL值特别适合以下情况:当一个列还未赋值时。如果选择不使用NULL值,那么必须对行的所有列都要赋值。这实际上也取消了某列不需要值的可能性,同时对它赋的值也很容易产生误解。这种情况则可能误导终端用户,并且导致累计操作的错误结果。


6.关于数据类型的补充说明

 定长的字符类型如char(10) 和不定长的安符类型 如 varchar(20) 在查找时会有时间的差异.

 




 



组态王6.60SP1报警查询与SQL应用实战教程 随着工业自动化和信息化的快速发展,报警查询与SQL数据库应用在工业控制系统中扮演了至关重要的角色。本章将探讨报警系统如何利用SQL数据库技术进行有效查询和数据管理,为后续章节的深入探讨奠定基础。组态王(KingView)是北京亚控科技发展有限公司推出的一款监控组态软件。自1993年推出以来,组态王经历了多个版本的迭代,不断融入新技术,提升用户体验和系统性能。在工业自动化领域,组态王由于其易用性、稳定性和丰富的功能而广泛受到欢迎。 阅读详情

相关推荐

手把手教你用ZYNQ PS端GPIO模拟SPI驱动OLED屏幕(附Vivado工程)

本文详细介绍了如何利用ZYNQ PS端的EMIO功能,通过GPIO模拟SPI协议驱动SSD1306 OLED屏幕。从Vivado工程配置、SPI协议软件实现到SSD1306驱动开发,提供了完整的解决方案和优化技巧,适合嵌入式开发者快速上手。

weixin_30776545的博客 130

Oracle数据类型学习

数据类型(datatype)是列(column)或存储过程中的一个属性。    Oracle支持的数据类型可以分为三个基本种类:字符数据类型、数字数据类型以及表示其它数据的数据类型。    字符数据类型    CHAR CHAR数据类型存储固定长度的子符值。一个CHAR数据类型可以包括1到2000个字符。如果对CHAR没有明确地说明长度,它的默认长度则设置为1.如果对某个CHAR类型变

hotdogcug的专栏 1050

lumerical中DEVICE和MODE模块的交互使用(真的很干货!!可以自信的说网上绝对找不到比我更详细的步骤了)

几个脚本文件很重要! Lumerical仿真流程: 一、DEVICE: (1).建模并且运行完之后,在脚本提示符下键入以下脚本行以运行plotDopingProfile.lsf如图1(文件名如果索引不到的话就可以把文件直接用notepad++打开,然后把代码直接输入到device中script脚本中 如图2)脚本文件并生成下图 如图3: (图2) (图1) (图3) (2).仿真...

1万+

(官档自学)Oracle Data Types数据种类

(官档自学)Oracle Data Types数据种类 每列都有一个数据类型,该数据类型都有特定的存储格式,约束和值的有效范围 这些属性可以让oracle区别对待他们每一种。比如,你可以乘NUMBER 却不可以乘RAW类。 当表被创建的时候,你必须为每一个columns指定一种数据类型。随后插入到列中的每个值均采用这个列数据类型。 oracle提供几种嵌入内置数据类型,最常见的有: 1,Character Data Types 字符数据类型 2. Numeric Data Types 数字数据类型 3.

czystc的博客 1176

LightRAG实战:5分钟快速搭建一个轻量级法律问答系统(附完整代码)

本文通过实战指南,详细介绍了如何使用LightRAG技术快速搭建一个轻量级法律问答系统。该方案通过构建扁平化实体关系网络和混合检索策略,在5分钟内即可完成从环境准备到智能问答的完整流程,并附有完整代码,为中小团队和个人开发者提供了高效、低成本的AI应用解决方案。

time3的博客 278

UG/NX二次开发实战:用Python脚本批量更新100个零件参数,解放你的双手

本文详细介绍了如何利用NXOpen Python API进行UG/NX二次开发,实现批量更新100个零件参数的自动化流程。通过环境配置、框架设计、核心代码实现及性能优化,帮助工程师高效完成参数化设计任务,显著提升工作效率。

weixin_28694169的博客 276

Oracle数据库的常用数据类型

Float(n),数n指示位的精度,可以存储的值的数目。NCLOB存储UNICODE类型的数据,支持固定宽度和可变宽度的字符集,NCLOB对象可以存储最多(4 gigabytes-1) * (database block size)大小的文本数据。固定长度:是指虽然输入的字段值小于该字段的限制长度,但是实际存储数据时,会先自动向右补足空格后,才将字段值的内容存储到数据块中。可变长度:是指当输入的字段值小于该字段的限制长度时,直接将字段值的内容存储到数据块中,而不会补上空白,这样可以节省数据块空间。

nings666的博客 3036

GD32F450以太网(1):ETH 外设接口简介

GD32F450以太网ETH MAC外设接口简介

Zhichao_Zhang的博客 1万+

ORACLE基本数据类型总结

     ORACLE基本数据类型(亦叫内置数据类型 built-in datatypes)可以按类型分为:字符串类型、数字类型、日期类型、LOB类型、LONG RAW&amp; RAW类型、ROWID &amp; UROWID类型。 在讲叙字符串类型前,先要讲一下编码。字符串类型的数据可依编码方式分成数据库字符集(CHAR/VARCHAR2/CLOB/LONG)和国际字符集(NCHAR/NVA...

weixin_33772645的博客 1009

3、全面掌握QGIS开发:从调试到应用的全方位指南

本文全面介绍了QGIS开发的各个环节,涵盖插件调试、PyQGIS API导航、插件创建与分发、独立地理空间应用开发,以及全局和项目级首选项的管理。通过详细的步骤说明、代码示例和流程图,帮助开发者系统掌握QGIS扩展与集成的核心技能,并展望了未来在功能拓展、跨平台兼容性和技术融合方面的可能性。

hill8的博客 89

使用 MATLAB/Simulink + Deep Learning Toolbox,构建一个基于LSTM的电网负荷预测模

本文介绍了一个基于Simulink和深度学习的智能电网负荷预测与调度建模方法。通过LSTM神经网络构建负荷预测模型,将历史负荷、天气、日期等特征作为输入,预测未来24小时负荷。然后将训练好的模型集成到Simulink仿真系统中,结合发电单元模型和经济调度逻辑,实现预测驱动的电力调度优化。实验结果表明,该方法预测误差在2.5%-4.0%之间,相比传统调度方式可降低15%-25%的运行成本。文章详细展示了从数据准备、特征工程、模型训练到系统集成的完整流程,为智能电网中AI技术的应用提供了实用参考。

amy_mhd的博客 171

oracle内部的数据类型datatype

Oracle data types这一章介绍的是oracle内置的数据类型,它们的属性,还有它们如何映射到非oracle数据类型中。Oracle数据类型的介绍SQL语句中的每一行的值和常数都有一个数据类型,他们和特定的存储格式,约束和值的范围有关系。你创建一个表的时候,必须要给每一行都制定一个数据类型。字符型数据类型字符型数据类型把字符存储在字符串中。Oracle内部的字符集...

weixin_34109408的博客 604

16、二阶差分功耗分析(DPA)的再审视

本文深入探讨了二阶差分功耗分析(DPA)中的关键问题,包括不同组合函数的性能、信息论分析以及在有轮廓和无轮廓攻击场景下的实验结果。通过对掩码AES和DES的模拟和实际攻击实验,研究了归一化乘积、求和和绝对差值等组合函数在不同噪声水平下的效率,并强调了信息论分析在评估侧信道对抗措施中的重要性。

leaf8的博客 118

ElasticSearch6.3.1安装sql插件

1: 获取ES6.3.1     wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.1.tar.gz 2: 获取安装ES_SQL插件 ./bin/elasticsearch-plugin install https://github.com/NLPchina/elasticsearch-sq...

u012224510的博客 722

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

[转]使用EntityFramework6.1的DbCommandInterceptor拦截生成的SQL语句

本文转自:http://www.cnblogs.com/Ax0ne/p/3620958.html 开始 EF6.1也出来不少日子了,6.1相比6.0有个很大的特点就是新增了System.Data.Entity.Infrastructure.Interception 命名空间,此命名空间下的对象可以允许我们更加方便的了解到EF运行时的一些信息,当然我们最想看的还是EF生成的Sql语句,话不多讲,...

weixin_33691700的博客 233

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

使用EntityFramework6.1的DbCommandInterceptor拦截生成的SQL语句

开始 EF6.1也出来不少日子了,6.1相比6.0有个很大的特点就是新增了System.Data.Entity.Infrastructure.Interception 命名空间,此命名空间下的对象可以允许我们更加方便的了解到EF运行时的一些信息,当然我们最想看的还是EF生成的Sql语句,话不多讲,开始干吧; class EFIntercepterLogging : DbCommandInt...

weixin_34006468的博客 150

dotTrace 6.1帮你理解SQL查询如何影响应用性能

dotTrace是JetBrains公司旗下的一款.NET应用程序性能瓶颈检测工具。该工具是ReSharper旗舰版的一部分,也可以单独安装。近日,dotTrace 6.1发布,主要增加了人们期待已久的SQL查询性能分析,开发人员可以通过它获得特定查询的执行时间以及运行该查询的方法。该功能有如下特点:\\只能在时间线性能分析模式下进行;\\t既可以分析独立应用程序的性能,也可以附加到一个已经运行着...

weixin_33748818的博客 104

以sqlilabs靶场为例,讲解SQL注入攻击原理【1-6关】

id=1 'and updatexml(1,concat(Ox7e,(select column_name from information_schema.columns where table_schema='数据库名' and table_name='表名' limit0,1),0x7e),1)-- ++id=1' and updatexml(1,concat(0x7e,(select group_concat(id) from emails ),0x7e),1) -- ++1.判断是否存在注入:?

weixin_42515203的博客 846

WAS6.1连接SQL Server2008数据库连接池配置

原文链接:http://www.cnblogs.com/lyr2012/archive/2012/06/13/2547804.html 说明:该步骤只适用与websphere 6.1.0.15之前的版本。 从6.1.0.15版本开始,websphere就支持了sqlserver数据库,可以 选择websphere 6.1自带的WebSphere embedded ConnectJD

专注于Java技术、软件架构设计、数据分析 1693

BlueCMS_V1.6 ad_js.php页面存在SQL注入

2、使用order by查看有多少字段,order by 8报错,所以字段数为7。接下来选择爆blue_admin这个表。order by 7没有报错。返回还是空白网页,需查看源码。得到数据库名为“blue”右键点击,查看网页源代码。执行后继续查看网页源代码。执行后继续查看网页源代码。

weixin_53303754的博客 679

Spring + mybatis+log4j在jboss6.1中无法打印sql语句解决方法

Spring + mybatis+log4j在jboss中输出sql语句解决方法

张大侠 1397
上一篇: 最简单的K近邻算法 KNN python实现
下一篇: 6-2 oracle创建数据表
andy_deng_xy
博客等级 码龄23年 0粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值