设为首页 加入收藏

TOP

Oracle学习(8):处理数据(一)
2015-07-24 11:23:17 来源: 作者: 【 】 浏览:8
Tags:Oracle 学习 处理 数据

处理数据

*******************************************************************************************

一个decode语句练习

\

SQL> select count(*) Total,

2 sum(decode(to_char(hiredate,"yyyy'),'1980',1,0)) "1980",
3 sum(decode(to_char(hiredate,'yyyy'),'1981',1,0)) "1981",
4 sum(decode(to_char(hiredate,'yyyy'),'1982',1,0)) "1982",
5 sum(decode(to_char(hiredate,'yyyy'),'1987',1,0)) "1987"
6 from emp;


TOTAL 1980 1981 1982 1987
---------- ---------- ---------- ---------- ----------
14 1 10 1 2

*******************************************************************************************

SQL语言的类型

SQL> /*
SQL> SQL语言的类型
SQL> 1. DML(Data Manipulation Language 数据操作语言):insert delete update select
SQL> 2. DDL(Data Definition Language 数据定义语言): create table,create view,create user
SQL> alter table,alter user
SQL> drop table,drop user
SQL> 3. DCL(Data Control Language 数据控制语言): commit rollback truncate
SQL> */
SQL> host cls

插入 insert语句


语法

INSERT INTO table[(column [,column...])]

VALUES (value[, value...]);


使用INSERT 语句向表中插入数据。
使用这种语法一次只能向表中插入一条数据。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - -

INSERT INTO departments(department_id, department_name,

manager_id, location_id)

VALUES (70, 'PublicRelations', 100, 1700);


为每一列添加一个新值。 按列的默认顺序列出各个列的值。 在INSERT 子句中随意列出列名和他们的值。 字符和日期型数据应包含在单引号中。

- - - - - - - - - - - -- - - - - - - - - - - -- - - - - - - - - - - -- - - - - - - - - - - -- - - - - - - - - - - -- - - - - - - - - - - -
SQL> --插入 insert
SQL> desc emp
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)


SQL> insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno)
2 values (1001,'Tom','CLERK',7839,sysdate,2000,100,10);


已创建 1 行。

隐式插入空值 显式插入空值

?隐式方式:在列名表中省略该列的值。 ?显式方式:在VALUES 子句中指定空值。

SQL> --隐式插入空值 显式插入空值

SQL> insert into emp(empno,ename,sal,deptno) values(1002,'Mary',2000,10);

SQL> insert into emp(empno,ename,sal,deptno) values(1003,'Mary',null,10);


地址符的应用


SQL> --地址符 &

l在SQL 语句中使用& 变量指定列值。 l& 变量放在VALUES子句中。

SQL> insert into emp(empno,ename,sal,deptno)
2 values(&empno,&ename,&sal,&deptno);
输入 empno 的值: 1004
输入 ename 的值: 'Mike'
输入 sal 的值: 2000
输入 deptno 的值: 10
原值 2: values(&empno,&ename,&sal,&deptno)
新值 2: values(1004,'Mike',2000,10)


已创建 1 行。


SQL> /
输入 empno 的值: 1005
输入 ename 的值: 'aaa'
输入 sal 的值: 3000
输入 deptno 的值: 20
原值 2: values(&empno,&ename,&sal,&deptno)
新值 2: values(1005,'aaa',3000,20)


已创建 1 行。

给&xxx加引号之后,在后面赋值可不需要加引号

SQL> insert into emp(empno,ename,sal,deptno) values(&empno,'&ename',&sal,&deptno);

输入 empno 的值: 1006
输入 ename 的值: Tomaa
输入 sal 的值: 1500
输入 deptno 的值: 10
原值 1: insert into emp(empno,ename,sal,deptno) values(&empno,'&ename',&sal,&deptno)
新值 1: insert into emp(empno,ename,sal,deptno) values(1006,'Tomaa',1500,10)


已创建 1 行。


SQL> host cls

&可用于语句的任何地方:

SQL> select empno,ename,&unknown
2 from emp;
输入 unknown 的值: sal
原值 1: select empno,ename,&unknown
新值 1: select empno,ename,sal


EMPNO ENAME SAL
---------- ---------- ----------
7369 SMITH 800
7499 ALLEN 1600
7521 WARD 1250
7566 JONES 2975
7654 MARTIN 1250
7698 BLAKE 2850
7782 CLARK 2450
7788 SCOTT 3000
7839 KING 5000
7844 TURNER 1500
7876 ADAMS 1100


EMPNO ENAME SAL
---------- -------
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇oracle12cgriddb安装的的checklist 下一篇PL/SQLDeveloper导入导出Oracle数..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·如何在 C 语言中管理 (2025-12-25 03:20:14)
·C语言和内存管理有什 (2025-12-25 03:20:11)
·为什么C语言从不被淘 (2025-12-25 03:20:08)
·常用meta整理 | 菜鸟 (2025-12-25 01:21:52)
·SQL HAVING 子句:深 (2025-12-25 01:21:47)