oracle快速入门

Oracle分为四类语言 DML(数据操作语言)、DDL(数据定义语言)、TCL(事务控制)、DCL(权限控制)  DML(数据操作语言)   4类:     字符型:字符串       char(最大2000), nchar(最大1000, 支持Unicode)--->固定长度       varchar2(最大4000), nvarchar2(最大2000, 支持Unicode)--->可变长度     数字类型       包括整数和小数       number(有效数字, 总位数);       float()--->存储二进制类型的数据, 1-126位0.30103     日期类型:时间       date:取值范围:公元前4712年1月1号---公元9999年12月31号, 可以直接精确到秒       timestamp(时间戳: 更精确的数据, 可以精确到毫秒)     其它类型:大文本, 文件       blob: 最大4G, 以二进制的形式来存放数据       clob: 最大4G, 以字符串的形式存放

  Oracle运算符和表达式

    表达式类似于java, 可以是常量, 可以是变量, 也可以是表中的一个字段

    算术运算符(+ - * /)     比较运算符(> >= < <= = <>/!=)     逻辑运算符(and or not)     字符串连接符(||)

插入语句

  常用关键字     insert into----insert into 表名 values (); 1.标准Insert --单表单行插入 语法: INSERT INTO table [(column1,column2,...)] VALUE (value1,value2,...) 例子:
insert into dep (dep_id,dep_name) values(1,'技术部');

2, 无条件 Insert all --多表多行插入 语法: INSERT [ALL] [condition_insert_clause] [insert_into_clause values_clause] (subquery) 示例: INSERT ALL INTO sal_history(emp_id,hire_date,salary) values (empid,hiredate,sal) INTO mgr_history(emp_id,manager_id,salary) values (empid,hiredate,sal)

3,有条件的Insert 语法: INSERT [ALL | FIRST] WHEN condition THEN insert_into_clause values_clause [WHEN condition THEN] [insert_into_clause values_clause] ...... [ELSE] [insert_into_clause values_clause] Subquery; 示例: Insert All when id>5 then into z_test1(id, name) values(id,name) when id<>2 then into z_test2(id) values(id) else into z_test3 values(name)

删除语句

删除表中的数据:

delete from 表名; delete后 需要commit才能删除数据库中的数据

truncate table 表名(直接删除数据库中的数据)

删除表: drop table 表名; 删除数据库: drop database 数据库名;

    update----UPDATE 表名 SET 列名=值 WHERE 限制条件

    select---尽量不要写*

    条件语句where & having    where是对查询前的数据过滤,having用于对汇总后(having)的数据进行过滤,两者不冲突。可以同时使用

    in & exist     一般是用在多表查询中     如果有A B 两张表,需要查A表的信息     若A 表数据明显大于 B 表(根据B表查出与A表一样的id)     select * from A where id in(select id from B)     若A 表数据明显小于 B 表(根据A表查出与B表一样的id)     select * from A where exist(select B.id from B where A.id = B.id)          模糊查询中'%'与'_'的区别 % 零个或多个字符 _ 单一任何字符(下划线)     like '%a%' 是指字符串中有a都算,%是一个或多个字符 like '%a' 是指字符串中以a结尾 like 'a%' 是指字符串中以a开头 like 'a' 是指字符串中有a都算,_只是一个字符 like 'a' 是指字符串中以a结尾 like 'a' 是指字符串中以a开头

    order by:     SELECT * FROM emp ORDER BY deptid DESC, ID DESC(排序,加上desc成倒序)

    having & group by:     having子句和group by一起使用,紧跟在group by的后边,having子句可以使用结果集中的列,也可以使用聚合函数(max、min、count、sum、svg)。having的作用是对分组后的结果进行过滤。这里在提一下where,where是对每一行进行过滤的,查询出符合where条件的每一行。having是对查询出结果集分组后的结果进行过滤。     sql实例:     select id ,count() as count     from A     group by id     having count() >= 1000

    case...when... select country, sum(case when sex=1 then pop else 0 end), sum(case when sex=2 then pop else 0 end) from demo group by country

  

    distinct----去除一列中的重复;     select distinct(id) from a; #查看不重复的ID select count(distinct(id)) from a; #统计不重复的ID

    between...and(闭合区间, 即包括前面的数, 也包括后面的数)

    all-------SELECT * FROM emp e WHERE e.intime>=ALL(SELECT e1.intime FROM emp e1);  DDL(数据定义语言)   constrain:标识要建立一种约束 PK_DEPT:标识主键约束的名称

转载于:https://juejin.im/post/5c637d3ce51d45272c3fb371

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值