编程开发 > JAVA > 文章内容

java基础知识总结(141)

2016-9-19编辑:ljnbset

 

程序员

DBA

一.什么是数据库

软件 = 数据仓库 + 管理软件

Database : 数据库

DBMS: DataBase Management System

Oracle

DB2(IBM) Sybase(sybase)

mysql(Oracle)  sqlserver(MS)

sqlite(嵌入式数据库)

access

二.访问数据库

1.telnet远程登录到数据库服务器

C:>telent 192.168.0.26

openlab/open123

(这个步骤和数据库无关)

2.sqlplus连接数据库

sqlplus是数据库的命令行客户端工具

% sqlplus

数据库的帐号/密码: openlab/open123

SQL> 

3. 表(table)

1)建表

--最长30个字符.

--数字,字符,日期

create table users_ning(

id number,

pwd char(4),

name varchar(20),

phone varchar(30),

email varchar(50)

);

number  数字类型

char / varchar 字符类型

       varchar2

date    日期类型

2)插入数据

insert into users_ning

values(1001, '1234', 'liucs',

'13800000000',

'liucs@tarena.com.cn');

SQL语句: Structured Query Language

SQL>create table  建表

SQL>insert into...插入数据

SQL>select ...from... 查询

SQL>commit  提交

三.查询数据

1)准备数据

create table dept_ning1(

deptno number(2),

dname varchar2(20),

location varchar2(20)

);

insert into dept_ning1

values(10, 'developer', 'beijing');

insert into dept_ning1

values(20, 'finance', 'shanghai');

insert into dept_ning1

values(30, 'sales', 'guangzhou');

insert into dept_ning1

values(40, 'operation', 'tianjin');

commit;

select * from dept_ning;

create table emp_ning100(

empno number(4) primary key,

ename varchar2(20),

job varchar2(20),

salary number(7,2),

bonus number(7,2),

hiredate date default sysdate,

manager number(4),

deptno number(2)

);

insert into emp_ning100

values(1001, 'zhangwj', 'Manager',

10000, 2000, '12-MAR-10', 1005, 10);

--继续插入其他9条记录

insert into emp_ning100

values(1011, 'tom', null,

null, null, null, null, null);

--如果null值太多,可以简写为:

insert into emp_ning100

(empno, ename) values(1011,'tom');

commit;

--复制表

--将emp_ning100复制为emp_ning200

create table emp_ning200

as

select * from emp_ning100;

2)学习查询语句

--按薪水排序,由高到低

 select * from emp_ning

 order by salary desc;

--null值被视作最大.

--按入职时间排序

select ename, hiredate from emp_ning

order by hiredate

public Integer nvl(

    Integer bonus,Integer value){

         if (bonus == null)

                   return value;

         else

                   return bonus;

}

--查询员工的月收入,处理null值

--如果薪水或奖金是null值,按0计算

select ename, salary, bonus,

nvl(salary, 0) + nvl(bonus, 0)

as month_sal

from emp_ning

order by salary desc;

select ename,job from emp_ning

where upper(job) = 'ANALYST';

      lower(job) = 'analyst';

--in (list)

select ename, job

from emp_ning

where lower(job) in ('analyst',

'programmer', 'clerk');

--查找部门10或部门20的员工

select ename from emp_ning

where deptno in (10, 20);

--查找薪水在5000到8000之间的员工

--包括5000和8000.

select ename, salary

from emp_ning

where salary >= 5000

  and salary <= 8000;

--[5000, 8000] 闭区间

select ename, salary

from emp_ning

where salary between 5000

      and  8000;

--

#

空值:

select ename, salary

from emp_ning

order by salary desc;

select ename

from emp_ning

where salary is null;

select ename

from emp_ning

where salary is not null;

select count(*) from user_tables;

--所有名字中包含emp的表的个数

select count(*) from user_tables

where table_name like '%EMP%';

--查找书名里包含java的书

select book_name from books

where lower(book_name)

      like '%java%';

select ename, salary,

    salary * 0.12345678 as tax

from emp_ning;

round : 四舍五入

trunc : 截取

张三  6  5  7  8    6.5

李四  6  3  7  7    5.75 -> 6

                    5.2  -> 5

日期:

sysdate: 系统时间

'14-FEB-12' : oracle默认的日期格式

DD-MON-RR

now: 2012年

         YY      RR

95年    2095    1995

05年    2005    2005

select to_char(sysdate,

'yyyy-mm-dd hh24:mi:ss')

from dual;

select ename, hiredate,

to_char(hiredate, 'yyyy-mm-dd') h

from emp_ning;

小结:

1.DDL(Data Definition Language):

         create / drop

2.DML(Data Manipulation language):

         insert / update / delete

3.DQL(Data Query Language):

         select

4.TCL(Transaction Control Language)

         commit

--java程序员

SCJP: sun certification

      java programmer

OCJP: Oracle ....

google: scjp 模拟题

--DBA

OCP: Oracle certification Professor

java基础知识总结(140)

热点推荐

登录注册
触屏版电脑版网站地图