·基本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)求的是薪水平均值,那么这个分组查询的结果就是查询各部门中的各职位的薪水平均值;