欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle数据库的基本查询、基本sql语句实例讲解

程序员文章站 2022-03-26 17:53:12
·基本sql语句 1、ddl定义语言 主要用于建立、修改、删除数据库对象(表),不需要事务的参与 create:创建表 create table emp( id...

·基本sql语句

1、ddl定义语言
主要用于建立、修改、删除数据库对象(表),不需要事务的参与

create:创建表

create table emp(

id number(10),

name varchar2(20),

gender char(1),

birth date,

salary number(6,2)

);

desc :查询表结构

desc emp;

rename:重命名表名

rename emp to employee;

drop:删除表

drop table emp;

alter:列(字段)操作

add:增加字段

alter table employee add (birth date default sysdate);

modity:修改字段

alter table employee modify (name varchar2(40) default 'clerk' );

drop:删除字段

alter table employee drop (birth);
2、数据库操作语言dml

用于对数据记录进行操作,包括插入,删除,修改,查询。前三者需要commit才能真正确认操作,如果需要撤销则rollback。

tip:sql语句错误时,输入edit修改,并用/提交修改后的语句

insert into:插入数据

insert into employee(id, name, salary) values(1001, 'rose', 5500);

update…set..:更新数据

update employee set salary = 8500 where name = 'rose';

delete from:删除记录

delete from employee where job is null;

注意,如果需要插入时间,需要使用时间格式化函数to_date()进行插入

insert into emp(birth) values (to_date('2018-02-02','yyyy-mm-dd'));

输入的sql语句出现错误,可输入edit语句进行编辑

edit:修改上一条sql
/:提交sql

基本查询:

select name,birth from emp;
select name||'的工资是'||salary from emp;
select count(*) from emp;
select distinct(name) from emp;

条件查询

select * from emp where name like '%o%';
select * from emp order by id desc;

·oracle的函数

·单行函数

·字符函数
小写化 select lower('hello world') from dual;
剔除 select trim('h','hello worldh') from dual;
查找位置 select instr('hello world','r') 位置 from dual;
截取 select substr('hello world',3,4) from dual;
·数值函数
四舍五入  select round(45.666,2) from dual;
截断  select trunc(45.666,2) from dual;
求余  select mod(45.666,2) from dual;                                          
格式化求系统时间 select  to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

·多行函数(组函数)

avg(),sum(),min(),count()
select sum(salary)/count(*) 一,avg(salary) 二 from emp;

注意,count(*)代表表中所有行数,无论该行的salary列为不为空,所以一可能是错误的,数值偏小或等于avg(salary);

分组查询:

select id,conut(*) from emp group by id;

抽象出来:

select a,b,组函数(b) from xx group by a,b;

如果a,b是部门和职位,组函数(b)求的是薪水平均值,那么这个分组查询的结果就是查询各部门中的各职位的薪水平均值;