当前位置:首页 > 2、SQL语言基础
1、 SQL(Structure Query Language)语言即结构化查询语言, 是各种关系型数据库必须遵循和
使用的标准语言,数据库查询、修改、插入等操作全部要靠SQL语言实现。
2、 SQL语言分四大类:数据查询语言DQL、数据操纵语言DML、数据定义语言DDL、数据
控制语言DCL。
3、 数据类型是数据的基本属性,Oracle的数据类型主要有字符数据类型、数字数据类型、
日期数据类型、大对象数据类型以及其他数据类型 4、 字符数据类型
CHAR(n):定长字符串,n字节长,n的取值范围是1~2000字节 VARCHAE2(n):可变长的字符串,具体定义时指明最大长度n,n的取值范围是1~4000字节。 LONG:可变长字符列,最大长度限制2GB,用于不需要作字符串搜索的长串数据 5、 数字数据类型:
NUMBER(m,n):可变长的数值列,允许0、正值及负值,M是所有有效数字的位数,n是小数点以后的位数。 6、 日期数据类型:
DATE:从公元前4712年1月1日到公元4712年12月31日,默认DD-MON-YY。 7、 大对象数据类型:
BLOB、CLOB、NCLOB,储存在数据库内部,可读取、存储、写入
Bfile在数据库外部保存的大型二进制对象文件,可读取、查询,但不能写入 8、 其他数据类型
RAW(n):可变长二进制数据,保存较小的图形文件或带格式的文本文件。
LONG RAW:可变长的二进制数据,保存较大的图形文件或带格式的文本文件,音频、视频等非文本文件。同一表中不能同时存有LONG类型和LONG RAW类型。 9、 SQL的基本语法
数据运算符和比较运算符 10、 11、 12、 13、 14、
数据运算符 说明 ± 表示数据的符号 + 代表两个数字或表达式相加 - 代表两个数字或表达式相减 * 代表两个数字或表达式相乘 / 代表两个数字或表达式相除 比较运算符 = 等于号 != 不等于 <> 不等于 < 小于 > 大于 <= 小于或等于 >= 大于或等于 ANY/SOME:比较其中的任意值,它前面的比较符号必须是=、!=、<、>、<=、>=。 ALL: 比较所列出来的每一个值,它前面的比较符号必须是=、!=、<、>、<=、>=。 [NOT]BETWEEN m AND n:如果值大于或等于m,小于或等于n,则返回TRUE。 [NOT]EXISTS:如果子查询里至少返回一行,则EXISTS为TRUE。 m [NOT] LIKE n:用来返回列内容跟传送给函数的常量相似的所有行。
15、 IS[NOT]NULL:用来测试所要操作的值是否为空。 16、 NOT:用来对结果取反 17、 AND: 用来限制条件,当两个条件同时成立时返回TRUE,如果有一个不成立,返回
FALSE。 18、 OR:当两个条件有一个成立时返回TURE,如果两个条件都不成立,返回FALSE。 19、 SELECT语句:用来从数据库的一个或多个表中选取记录,必须和FROM连用。FROM
指定记录源、表格和视图等。 20、 WHERE语句:用来限制结果输出。一是用WHERE语句限制单个结果集的内容;一
是用WHERE语句来将两个或多个表链接到一个结果集中。 21、 SQL*PLUS是Oracle最为主要的管理界面之一,数据库管理员可以通过它直接对数
据库进行操作。 22、 窗口环境设置命令
@:SQL*PLUS窗口环境设置命令,运行指定的命令文件。
/:执行SQL命令或PL/SQL块,执行缓冲区里面的SQL语句。 APPEND:将指定的文本增加到缓冲区内当前行的末尾。 CHANGE:修改缓冲区当前行的文本。
CLEAR:重新设置或删除指定选项的当前值,使用CLEAR SCREEN可以清楚屏幕。 CONNECT:用给出的用户名连接到Oracle
DEFINE:指定一个用户变量分配给它一个CHAR值,或者显示变量的定义。 DEL:删除缓冲区中的行。
DESCRIBE:显示指定表、视图或同义词的列定义,或者指定函数或过程的说明。 EDIT:调用操作系统提供的文本编辑器并对指定的文件或缓冲区的内容进行编辑。 EXECUTE:执行一单个的PL/SQL命令
EXIT:终止SQL*PLUS,并将控制权交回操作系统。 GET:将一个宿主操作系统文件装载到SQL缓冲区 INPUT:在缓冲区的当前行后增加一行或多行。 LIST:显示SQL缓冲区中的行。
PROMPT:将一条指定的信息或空行发送到用户的屏幕。
RUN:显示或执行当前储存在SQL缓冲区的SQL命令或PL/SQL命令,此时,其作用等效于符号 “/”
SET:对当前的会话设置一个系统变量用以改变SQL*PLUS环境。 SHOW:显示SQL*PLUS系统变量值或者当前的SQL*PLUS环境。
SPOOL:将查询结果储存到一个操作系统文件中,也可输出到打印机。
23、 SQL*PLUS中的SET设置使用命令
ARRAY:设置SQL*PLUS从数据库中一次课提取的一批行的数目,范围是1~5000, AUTO:控制将Oracle未提交的改变提交到数据库。ON使Oracle在完成每一个SQL命令或PL/SQL块时将未提交的改变立即提交(COMMIT)给数据库。OFF停止自动提交,用户必须使用COMMIT命令有意识地提交任何改变。但QUIT、EXIT、CONNECT、CREATE等,将自动产生COMMIT,提交任何未提交的变化。
AUTOTRACE:在报表中显示SQL SML语句成功地执行,该报表可以包括执行统计信息和查询执行路径,OFF不显示轨迹报表,ON显示轨迹报表,TRACEONLY显示轨迹报表,但不显示查询数据,EXPLAIN显示查询执行路径。
STATISTICS:显示SQL语句的统计信息,DEF/DEFINE,这里的C定义用作前缀并标注替换变量的字符。
确定SQL*PLUS是否为替代变量寻找并替代命令,并用他们已定义的值装载这些变量。
ECHO:控制SQL*PLUS在执行启动文件(START)命令时,在屏幕上是否显示他们。OFF表示执行但不显示。
EDITF:设置EDIT命令默认的文件名,可以包括路径和文件扩展名。
ESC:定义一个可用作DEFINE符号前缀的ESCAPE键,这样它就可以显示,而不是解释为变量的开始。
OFF:取消ESCAPE键,使它不再产生作用。ON是将ESCAPE字符定义为“\\”,HEA控制报表头标题的显示。OFF禁止显示头标题,包括文本及下划线,其通常出现在列的上部。ON则允许显示头标题。
LONG:设置显示或复制LONG,CLOB和NCLOB数值的最大宽度,N的最大值是2G。NEWP设置一页底部及下一页顶部之间打印的空行数。一个0在每页顶部给出一个换页符,如果正在显示输出。通常会清楚屏幕。
PAGES/PAGESIZE:设置每页的行数。
PAU/PAUSE:允许用户当运行报表时控制终端(显示屏幕、打印机等)的滚动,TEXT在显示每一页后,ON使得SQL*PLUS等待用户按下RETURN键,OFF表示在页的显示间没有停顿,TEXT是在SQL*PLUS等待用户输入RETURN键时,在屏幕底部显示的信息。在第一页显示之前,PAUSE也将等待,用户必须键入RETURN。
SERVEROUT:控制SQL*PLUS是否显示存储过程或PL/SQL块的输出(即存储过程DBMS_OUTPUT.PUT_LINE).ON显示输出,OFF则禁止输出。SIZE设置服务器中输出缓冲的字节数。N的范围在2000~1000000之间,默认为2000.WRAPPEN,TRUNCATED用于换行或截取。
TERM:ON用来显示启动文件(Start File)的正常SLQ*PLUS输出,OFF则禁止显示,伪脱机(Spool)把输出写入一个文件。
TIME:控制时间统计信息的显示。ON使SQL*PLUS显示各个执行的SQL命令或PL/SQL块的时间统计,OFF则禁止各命令的时间显示。
TRIMS:决定SQL*PLUS是否允许伪脱机的末尾空格。ON删除各行末尾的空格,OFF允许包含末尾的空格。
VER:控制在执行包含变量的SQL命令时,是否使SQL*PLUS显示这些变量的新旧值,OFF禁止显示。 24、 SQL包括单行SQL字符函数、转换格式函数、多行函数以及DECODE函数等。 25、 SQL字符函数
ABS(n):返回n的绝对值。 ACOS(n):返回n的反余弦值。 ASIN(n):返回n的反正弦值。 ATAN(n):返回n的反正切值。
CELL(n):返回大于或等于n的最小整数值。 COS(n):返回n的余弦值。
COSH(n):返回n的双曲线余弦函数 EXP(n):返回e的n次幂
FLOOR(n):返回小于或等于n的最大整数值
LN(n):返回n的自然对数,即以为E为底的对数。 LOG(m,n):返回以m为底的n的对数。 MOD(m,n)返回m除以n的余数。
26、 POWER(m,n)返回m的n次幂 ROUND(m,n):返回舍入到小数点左边或右边m位的n的值。 SIGN(n):返回n的符号值。 SIN(n):返回n的正弦值。
SINH(n):返回n的双曲线正弦值。 SQRT(n):返回n的平方根 TAN(n):返回n的正切值。
TANH(n):返回n的双曲正切值。 TRUNC(n):类似ROUND 转换格式函数 函数 CHARTOROWID CONVERT HEXTORAW RAWTOHEX ROWIDTOCHAR TO_CHAR(日期转换) TO_CHAR(数据转换) TO_DATE TO_MULTI_BYTE TO_NUMBER 功能 将包含外部语法的ROWID的CHAR或VARCHAR2数值转换为内部的二进制语法 将字符串CHAR的字符,从SOUCE_CHAR_SET标识的字符集转换为由dest_char_set标识的字符集 将包含十六制的CHAR转换为一个RAW数值 将RAW数值转换为一个包含十六进制的CHAR值 将一个ROWID数值转换为VARCHAR2数据类型 将日期数据类型转换为一个在日期语法中指定语法的VARCHAR2数据类型的字符串 将NUMBER数据类型N转换为一个VARCHAR2数据类型 该函数将CHAR或VARCHAR2数据类型的值转换为DATE数据类型 该函数用来将CHAR中的所有单字节字符转换为等价的多字节字符 该函数将CHARH或VARCHAR2数据类型的字符串(CHAR)按照指定的数值语法(FMT)转换为NUMBER数据类型值 将CHAR中所有的多字节的字符转换为他们等价的单字节字符 将文本TEXT按照指定的转换方式转换为数据库字符集和民族字符集 TO_SINGLE_BYTE TRANSLATEUSING 27、 多行函数 AVG函数:用来返回某一列中所有数值的平均值。
COUNT函数:返回列数并经常被用于获取某一视图中的总行数。COUNT是唯一一个能用于非数值列的标准SQL集合函数。 MAX函数:返回某一列中的最大数值。 MIN函数:返回某一列的最小数值。 STDDEV:返回某一列中的标准偏差。 SUM:返回某一列中的所有数值的总和。
VARIANCE函数:返回某一列中的所有数值的方差。
GROUP BY函数:用来把数据分组,我们可以使用它把数据库返回的数据按要求分类。 HAVING函数:GROUP函数与WHERE函数不能同时使用,WHERE函数在分组以前过滤数据,HAVING函数在分组以后过滤数据。
ORDER BY函数:将输出结果按一定的要求进行排序。
共分享92篇相关文档