首页 数据库 mysql教程 Oracle数据库对表的基本操作和一些常用函数

Oracle数据库对表的基本操作和一些常用函数

Jun 07, 2016 pm 04:42 PM
oracle函数

首先,创建一个员工表,sql语句如下: CREATE TABLE employee( id NUMBER(4), name VARCHAR2(20) NOT NULL, gender CHAR(1) D

首先,创建一个员工表,sql语句如下:

CREATE TABLE employee(
  id NUMBER(4),
  name VARCHAR2(20) NOT NULL,
  gender CHAR(1) DEFAULT 'M',
  birth DATE,
  salary NUMBER(6,2),
  comn NUMBER(6,2),
  job VARCHAR2(30),
  manager NUMBER(4),
  deptno NUMBER(2)
)

下面,是对这个表的一些基本操作:


RENAME employee TO emp  //将表名改成emp

ALTER TABLE employee ADD hiredate DATE DEFAULT sysdate  //为employee增加列,默认值为当前日期

ALTER TABLE employee MODIFY (job VARCHAR2(40) DEFAULT 'CLERK')  //修改job列的长度为40,并设置默认值

ALTER TABLE employee DROP (manager)  //删除manager列

INSERT INTO employee (id,name,job,salary) VALUES(1001,'jack','PROGRAMMER',5500)  //向表中插入数据

INSERT INTO employee (id,name,job,birth) VALUES(1002,'LARRY','ANALYST',TO_DATE('1994-10-22','YYYY-MM-DD'))  //使用自定义日期格式插入记录,默认格式是'22-SEP-94'

UPDATE employee SET salary=10 WHERE  //更新LARRY的薪水,注意如果插入数据的时候字母是大写,,那么修改的时候也要大写

DELETE FROM employee WHERE birth is null  //删除生日为null的记录

CHAR最大取值为2000字节,它可以不指定长度,默认为1,VARCHAR2最大取值为4000字节,它必须指定长度。

字符串函数:

CONCAT和||:返回两个字符串连接后的结果。select CONCAT('a','b') from dual  result:ab    select 'lo'||'ve' from dual  result:love

LENGTH:返回字符串的长度,如果是VARCHAR2返回字符串的实际长度,如果字符类型是CHAR,长度还要包括后补的空格。

UPPER:把字符转换为大写形式。

LOWER:把字符转换为小写形式。

INTCAP:把每个单词的首字母大写,单词之间用空格和非字母字符分隔。

TRIM:SELECT TRIM('e' FROM 'elite') FROM dual  //从elite的前后截去'e',如果不写e,就去掉两端的空格。

LTRIM:SELECT LTRIM('elite','e') FROM dual  //从elite的左面截去'e',如果不写e,就去掉左端的空格。

RTRIM:SELECT LTRIM('elite','e') FROM dual  //从elite的右面截去'e',如果不写e,就去掉右端的空格。

LPAD:SELECT LPAD('12',5,'$#') from dual  //把'12'用'$#'在左面补满5位。

RPAD:SELECT LPAD('12',5,'$#') from dual  //把'12'用'$#'在右面补满5位。

SUBSTR:SELECT SUBSTR('abcdefg',-2,2) from dual  //第二个参数等于0或1都是从首字符开始取,如果第二个参数为负数,那么'g'为-1,'f'为-2,依此类推,然后向右取第三个参数长度的字符。如果没有设置第三个参数或者长度超过了字符的长度,则取到字符串末尾为止。

SELECT INSTR('thinking in java','i',4,2) from dual  //返回'i'在第一个参数中的位置,第三个参数的含义是从第四个字符('n')开始检索,2表示的含义是'i'第二次出现的位置。

空值函数:

NVL(expr1, expr2):如果expr1为NULL,则取值expr2。

NVL2(expr1, expr2, expr3):NVL2用来判断expr1是否为NULL,如果不是NULL,返回expr2,如果是NULL,返回expr3。

 


日期转换函数:

 


TO_DATE:将字符串按照定制格式转换为日期类型。for example:TO_DATE('2002-01-01','YYYY-MM-DD')

TO_CHAR:将其它类型(日期,数值)的数据转换为字符类型,主要应用在日期类型上。for example:TO_CHAR(hiredate,'YYYY"年"MM"月"DD"日"')

常用的日期格式如下图:

Oracle数据库对表的基本操作和一些常用函数

Oracle数据库对表的基本操作和一些常用函数

日期常用函数:

LAST——DAY(date):返回给定date所在月的最后一天。

ADD_MONTHS(date,i):返回给定date加上i个月后的日期值,如果i是负数,则获得减去i个月后的日期值。

MONTH_BETWEEN(date1, date2):计算date1-date2两个日期值之间间隔了多少个月,如果date2时间比date1晚,会得到负值。除非两个日期间隔是整数月,否则会得到带小数位的结果,比如计算2009年9月1日到2009年10月10日之间间隔多少个月,会得到1.29个月。

NEXT_DAY(date, char):返回给定date日期数据的下一个周几,周几是由参数char来决定的。在中文环境下,直接使用”星期三”这种形式,英文环境下,需要使用”WEDNESDAY”这种英文的周几。为避免麻烦,可以直接用数字1-7表示周日-周六。

GREATEST(expr1[, expr2[, expr3]]…)    LEAST(expr1[, expr2[, expr3]]…)  两个函数都可以有多个参数值,但参数类型必须一致,返回结果是参数列表中最大或最小的值,在比较之前,在参数列表中第二个以后的参数会被隐含的转换为第一个参数的数据类型,所以如果可以转换,则继续比较,如果不能转换将会报错。

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

Oracle Linux 6.5安装Oracle 11.2.0.4 x64

本文永久更新链接地址:

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1655
14
CakePHP 教程
1413
52
Laravel 教程
1306
25
PHP教程
1252
29
C# 教程
1226
24
与MySQL中使用索引相比,全表扫描何时可以更快? 与MySQL中使用索引相比,全表扫描何时可以更快? Apr 09, 2025 am 12:05 AM

全表扫描在MySQL中可能比使用索引更快,具体情况包括:1)数据量较小时;2)查询返回大量数据时;3)索引列不具备高选择性时;4)复杂查询时。通过分析查询计划、优化索引、避免过度索引和定期维护表,可以在实际应用中做出最优选择。

可以在 Windows 7 上安装 mysql 吗 可以在 Windows 7 上安装 mysql 吗 Apr 08, 2025 pm 03:21 PM

是的,可以在 Windows 7 上安装 MySQL,虽然微软已停止支持 Windows 7,但 MySQL 仍兼容它。不过,安装过程中需要注意以下几点:下载适用于 Windows 的 MySQL 安装程序。选择合适的 MySQL 版本(社区版或企业版)。安装过程中选择适当的安装目录和字符集。设置 root 用户密码,并妥善保管。连接数据库进行测试。注意 Windows 7 上的兼容性问题和安全性问题,建议升级到受支持的操作系统。

mysql:简单的概念,用于轻松学习 mysql:简单的概念,用于轻松学习 Apr 10, 2025 am 09:29 AM

MySQL是一个开源的关系型数据库管理系统。1)创建数据库和表:使用CREATEDATABASE和CREATETABLE命令。2)基本操作:INSERT、UPDATE、DELETE和SELECT。3)高级操作:JOIN、子查询和事务处理。4)调试技巧:检查语法、数据类型和权限。5)优化建议:使用索引、避免SELECT*和使用事务。

mysql 和 mariadb 可以共存吗 mysql 和 mariadb 可以共存吗 Apr 08, 2025 pm 02:27 PM

MySQL 和 MariaDB 可以共存,但需要谨慎配置。关键在于为每个数据库分配不同的端口号和数据目录,并调整内存分配和缓存大小等参数。连接池、应用程序配置和版本差异也需要考虑,需要仔细测试和规划以避免陷阱。在资源有限的情况下,同时运行两个数据库可能会导致性能问题。

RDS MySQL 与 Redshift 零 ETL 集成 RDS MySQL 与 Redshift 零 ETL 集成 Apr 08, 2025 pm 07:06 PM

数据集成简化:AmazonRDSMySQL与Redshift的零ETL集成高效的数据集成是数据驱动型组织的核心。传统的ETL(提取、转换、加载)流程复杂且耗时,尤其是在将数据库(例如AmazonRDSMySQL)与数据仓库(例如Redshift)集成时。然而,AWS提供的零ETL集成方案彻底改变了这一现状,为从RDSMySQL到Redshift的数据迁移提供了简化、近乎实时的解决方案。本文将深入探讨RDSMySQL零ETL与Redshift集成,阐述其工作原理以及为数据工程师和开发者带来的优势。

mysql用户和数据库的关系 mysql用户和数据库的关系 Apr 08, 2025 pm 07:15 PM

MySQL 数据库中,用户和数据库的关系通过权限和表定义。用户拥有用户名和密码,用于访问数据库。权限通过 GRANT 命令授予,而表由 CREATE TABLE 命令创建。要建立用户和数据库之间的关系,需创建数据库、创建用户,然后授予权限。

Bangla 部分模型检索中的 Laravel Eloquent ORM) Bangla 部分模型检索中的 Laravel Eloquent ORM) Apr 08, 2025 pm 02:06 PM

LaravelEloquent模型检索:轻松获取数据库数据EloquentORM提供了简洁易懂的方式来操作数据库。本文将详细介绍各种Eloquent模型检索技巧,助您高效地从数据库中获取数据。1.获取所有记录使用all()方法可以获取数据库表中的所有记录:useApp\Models\Post;$posts=Post::all();这将返回一个集合(Collection)。您可以使用foreach循环或其他集合方法访问数据:foreach($postsas$post){echo$post->

MySQL:初学者的数据管理易用性 MySQL:初学者的数据管理易用性 Apr 09, 2025 am 12:07 AM

MySQL适合初学者使用,因为它安装简单、功能强大且易于管理数据。1.安装和配置简单,适用于多种操作系统。2.支持基本操作如创建数据库和表、插入、查询、更新和删除数据。3.提供高级功能如JOIN操作和子查询。4.可以通过索引、查询优化和分表分区来提升性能。5.支持备份、恢复和安全措施,确保数据的安全和一致性。

See all articles