SQL语言

来源:互联网 发布:淘宝会员登录 编辑:程序博客网 时间:2024/04/29 05:50

SQL语句分类

SQL语句按照功能分5类:数据查询语句 、数据操作语句、数据定义语句、事务控制语句和数据控制语句。下面分别介绍各类语句的详细内容。

(1)数据查询语言(DQL)

SELECT :该语句功能是从数据库中获得用户数据

(2)数据操作语言(DML)

INSERT:该语句功能是向表中添加记录

UPDATE:该语句的功能是更新表中的数据,通常和WHERE 条件语句一起使用

DELETE:删除表中的数据

(3)数据定义语言(DDL)

CREATE:创建数据库对象如:表、索引、视图。

ALERT:改变系统参数,如改变SGA大小等。

DROP:删除一个对象,

RENAME:重命名一个对象。

TRUNCATE:截断一张表。

(4)事务控制语句

COMMIT:用于提交由DML语句操作的事务。

ROLLBACK:用于回滚DML语句改变了的数据。

(5)数据控制语言(DCL)

GRANT:用于授予用户访问某对象的特权。

REVOKE:用于收回用户访问某对象的特权。

SQL语句的查询语句

(1)SELECT 语句的语法及书写要求

SELECT*|{[DISTINCT] [COLUMN] |expression [alias],  ……}   FROM  table;

下面介绍  关键字、子句和语句,区别如下:

关键字:一个单独的SQL元素,如SQL 、FROM ……。关键字不能简写,推荐大写。

子句:是SQL语句的一部分,不可执行。如SELECT *

语句:由一个或多个子句组成,可执行。

(2)简单的查询

 

WHERE子句


列标题的默认显示格式:


字符和日期型的列标题靠显示宽度的左边。

数字型的列标题靠显示宽度的左边。

默认的列标题都是大写。

 

算数运算符及使用(+、-、*、/)


DISTINCT运算符使查询的结果没有重复内容。

 

连接运算符及使用

(3)SQL书写规范:

SQL语句的关键字要大写,对象名小写。

缩进对齐,便于阅读。

每个子句一行。

(4)单行函数

单行函数分为字符型函数、数字型函数和日期型函数。以下介绍三类函数。

字符型函数:

LOWER(column|expression):把字符串转换成小写。

UPPER(column|expression):把字符串转换成大写。

INITCAP(column|expression):把字符串首字母大写。

CONCAT(column1|expression1,column2|expression2):用于连接两个字符串或连接两个列中的数据。

SUBSTR(column|expression,m[,n]):从一个字符串获取一个子串,该子串从第m个字符开始,到n个字符结束,

                                                       若不指定n则从m个字符开始到expression表达式的结尾。

LENGTH(column|expression):计算字符串中字符个数。

INSTR(column|expression,'string'[,m],[,n]):在字符串中搜素字符串‘string‘,参数m、n指定搜素开始位置和结束位置。该函数返回一个数字

LPAD(column|expression,n,'string'):在结果中左边补充“'string'输出结果中增加一些补充信息,使输出结果更具可读性。RPAD()

TRIM(leading|trailing|both,trim_characterFROM  Trim_source):剪切个字符,输出一个字符串。参数leading|trailing|both分分别代表函数从源字符串头部、尾部、两边删除要剪切的字符。默认both。

REPLACE(text,search_string,replacement_string):该函数把源字符串中的某个字符串search_string替换为另一个字符串replacement_string。

数字型单行函数:

ROUND(column|expression,n):处理数字四舍五入

TRUNC(column|expression,n):截断一个数字

MOD(m,n):求余数

日期型单行函数:

SYSDATE:返回系统当前时间

MONTHS_BETWEEN(date,date):参数为两个日期,得到两个日期之间的月数.

ADD_MONTHS(date,n):把n个月添加到日期型数据上,返回结果仍为日期型数据。

NEXT_DAY(date,string):该函数为一个日期型数据,输出该日期的下一个指定的日期。

LAST_DAY(date):返回参数中日期的最后一天的日期。                  

 

(5)空值处理函数

NVL(expr1,expr2):若expr1值为NULL,则返回expr2,否则返回expr1,

其中expr1和expr2数据类型需一致

NVL2(expr1,expr2, expr3):若expr1值为NULL,则返回expr3,若expr1值不为NULL,则返回expr2,

NULLIF(expr1,expr2):若两者都相等返回NULL,否则返回若expr1

COALESCE(expr1,expr2,……exprn):返回该函数中第一个不为NULL的表达式的值。

(6)条件表达式

CASE expr WHENcomparison_expr1 THEN return_expr1

          WHEN comparison_expr2 THENreturn_expr2

          WHEN comparison_exprn THENreturn_exprn

         Else else_expr  end

比较expr和comparison_expr1 相等返回return_expr1,

否则比较expr和comparison_expr2

……若都不满足,则返回else_expr

DECODE(col|expression,search1,result1,search2,result2,……default)

先判断search1是否等于col|expression,若相等,返回result1,否则判断search2是否等于col|expression

依次判断,若都不等,返回默认值。

(7)分组函数

分组函数是表中多行进行操作,每组返回一个计算结果。常用的分组函数包括:

AVG:计算每组平均值,忽略NULL值。

SUM:计算没组的和

MAX:计算最大值

MIN:计算最小值

COUNT:计算得到的返回的行数。

GROUP BY子句:针对组进行展示

分组函数的嵌套使用:如MAX(AVG(col))

HAVING子句:针对组进行条件限制。

(8)数据操纵语言(DML)

INSERT语句 :向表中添加一条数据

INSERT INTOtablename (column[,column……]) VALUES (value,[,value……]);

UPDATE语句 :更新表中的数据

UPDATE tablenameSET column=value [column=value……,] [WHERE condition];

DELETE 语句 :删除不需要的记录

DELETE  [FROM] tablename  [WHERE condition];

 

 

 

 

0 0
原创粉丝点击