数据库
首页 > 数据库> > Oracle—day02:插入数据、查询数据 20190912

Oracle—day02:插入数据、查询数据 20190912

作者:互联网

1、插入数据:insert

语法:insert  into  表名(字段名1,字段名2,……)values(数据1,数据2,……);
注意:
1.表名后字段的书写根据实际需要插入数据来给定,字段名的名写顺序可以自定义;
2.字段名和数据前后必须对应(类型、个数};

1.1、插入数据时,关于NULL值的问题

在插入数据时,若不给字段数据这时字段中时NULL值,但是如果字段被设置了非空约束的话,在插入操作时必须给该给字段一个确定的数据。NULL值得插入方式有两种:饮食插入、显示插入。

1.2、插入数据时,关于默认值的问题

若字段被设置了默认值约束,在插入数据操作时不给定该字段数据,该字段中的数据以默认值为准。

2、查询数据:select

语法:select  字段名1,字段名2,……  from  表名  where  条件;

2.1、查询中别名的使用

在查询操作时,显示的结果是按照字段名依次显示的。别名就是在查询中用来给显示的字段名重命名的,在使用别名的时候不可以有空格或其他字符,如果想要有的话必须使用一对双引号将别名括起来使用。

2.2、查询的拼接操作

2.3、字符串数据长度计算

语法:length(char),作用是计算字符串char的实际占用长度,如果是char类型的字符串,实际长度是定义长度;如果是varchar2类型的字符串,实际长度是根据具体数据长度变化的。

2.4、字符串大小写转换函数

语法:
upper(char)-----将char中的所有字母全部转换为大写

lower(char)-----将char中的所有字母全部转换为小写

initcap(char)----将char中的每个单词的首字母大写,其余小写

2.5、字符串截去函数

语法:
 trim(char2  from  char1)----将char1的左右两边截去char2显示;

ltrim(char1,char2)-------------将char1的左边截去char2显示;

rtrim(char1,char2)-------------将char1的右边截去char2显示;

2.6、数字的四舍五入函数

语法:round(n,m),作用是将数字n按照m的数位进行四舍五入操作。n是被四舍五入的数字,m是n的数位。

    数字----------  1  2  .3  4  5

    数位----------  -1  0  1  2  3

注意:m的值大部分都是取整数形式,若m是小数数位时,会先对m进行取整操作,然后再四舍五入;若省略m的值,则按照0位进行四舍五入操作。

2.7、数字截取函数

 语法:trunc(n,m),n和m的定义与round一致,不同的是trunc是按照截取的方式来处理数字的。

2.8、NULL值函数

数据库中的NULL值可以是任意数据类型,在查询中null值会被视为无穷大,在查询中需要对NULL值进行替换操作。

*       nvl         
语法:nvl(字段名,数据),作用是将字段名中如果是NULL值的时候,用对应的数据来进行替换操作。需要注意的是:字段名和替换数据的类型必须一致。

*       nvl2
语法:nvl2(字段名,数据1,数据2),作用是判断字段名中是否为NULL值,如果不是NULL值,则用数据1来替换;如果是NULL值,则用数据2来替换。

2.9、查询中日期类型的函数

2.9.1、获取当前时间:sysdate

sysdate函数是可以直接使用的,作用是获取当前的日期时间值,精确到秒。显示的结果是按照日期的默认格式DD-MM-YY来操作

2.9.2、日期格式转换函数:to_date、to_char

* to_char

语法:to_char(date,日期格式),作用是将日期date按照指定的格式转换为字符串类型。日期格式的书写具体如下:
年份----YY(两位年份)、YYYY(四位年份)
月份---MM
日------DD
小时---HH(12小时制)、HH24(24小时制)
分钟---MI
秒-------SS
日期格式必须用一对单引号括起来,如果格式中想要有中文或其他字符的话,需要使用双引号将中文或其他字符括起来。

* to_date

 语法:to_date(char,日期格式),作用是将字符串char按照指定的日期格式转换为日期时间类型。

2.9.3、last_day

语法:last_day(date),作用是计算日期date所在月份的最后一天日期值。

2.9.4、next_day

语法:next_day(date,char),作用是计算日期date的下一个周几(下一个周几和下周几不同)?具体的周几由char的值来决定。为了避免麻烦,可以直接使用数字1-7来表示具体的周几,1-7来表示周日-周六。

2.9.5、add_months

语法:add_months(date,n),作用是计算日期date加上n个月之后的日期值,对于n来说大部分时候取正整数形式,如果n是小数时,则先对n进行取整操作,然后再计算;如果n是负数时,则计算的是减去n个月之后日期值。

2.9.6、extract

语法:
extract(year  from  date)----作用是从日期date中抽取四位年份值

extract(month  from  date)----作用是从日期date中抽取月份值

extract(day  from  date)--------作用是从日期date中抽取日

3、where条件查询

3.1比较查询

在where条件查询中,可以使用>、<、>=,<=、=、!=(<>)来进行比较查询。

3.2、NULL值条件查询

 Oracle数据库中与NULL值的条件查询有两种情况:
    is  null(为空值)、is  not  null(不为空值)

3.3、模糊条件查询(百度、谷歌)

Oracle数据库中使用like来进行模糊查询,like不是单独使用的,在使用时like需要配合两个通配符一起使用:
%------表示0或多个内容
_-------表示单个内容

3.4、指定范围条件查询(在……之间)

  语法:between  起始值  and  结束值
 between…and可以对任意数据类型进行范围条件查询,主要用于数字类型的范围查询。

3.5、逻辑条件查询

Oracle数据库中的逻辑条件查询有:and(与)、or(或)、not(非)

4、查询中的排序操作(order by)

语法:order by 字段名/别名 ASC/DESC
注意:order by语句必须放在查询语句的末尾,asc是按照升序排,desc是按照降序排,如果不写默认是升序排。因为NULL值被视为无穷大,所以需要通过where条件将NULL值的情况剔除。

5、查询中组函数的使用

在查询中,经常会涉及到求总和、求平均值、求最大值、求最小值等等操作,这些操作就需要使用专门的组函数来操作。在查询中,经常会涉及到求总和、求平均值、求最大值、求最小值等等操作,这些操作就需要使用专门的组函数来操作。

5.1、求总和:sum

语法:sum(字段名)
注意:sum只能用于数字类型的操作,并且sum是会自动忽略NULL值。

5.2、求平均值:avg

语法:avg(字段名)
注意:avg和sum一样也只能用于求数字类型的操作,也是忽略NULL值.

5.3、求最大值(max)和最小值(min)

语法:max(字段名)、min(字段名)
注意:max和min可以用于任意数据类型的操作,多数情况下用于数字类型的操作,max和min也是自动忽略NULL值。

标签:语法,day02,查询,char,date,20190912,Oracle,NULL,字段名
来源: https://blog.51cto.com/14474781/2437837