Oracle

表结构操作

创建表

create table tableName
(id varchar2(36) primary key,
name varchar2(36),
age number(12,2),
createDate date,
modifyDate date); -- 创建一张表,表名:tableName,
-- 字段 id 字符串类型 主键,name 字符串类型普通字段,age 数字类型,createDate 创建日期,modifyDate 修改日期

添加表字段

alter table tableName add (address varchar2(32) default '无',country varchar2(32) default '');
--给表添加 address 和 country字段 都是32位长度的字符串类型

添加字段描述

COMMENT ON COLUMN tableName.address IS '地址';

删除表字段

alter table tableName drop column country;    --删除表的country字段

表数据操作

sql表的设计是很重要的,涉及业务与拓展及后期维护,但是核心应该是:简单

查询表内容

select * from tableName;    --查询表所有内容
select name,age from tableName; --查询表name字段和age字段

子查询

select
a.name, a.age ,
(select b.hobby from kid b where b.name = a.name and rownum = 1) hobby
from student a where a.id = 'id'

查询总数

select count(1) from tableName;    -- 不统计 null
select count(*) from tableName; -- 统计 null

按条件查询 where

select * from tableName where age >= 18;    --查询表中age大于18的所有数据

插入数据

insert into tableName(field1,field2) values('value1','value2');

提交

commit

撤回

rollback

综合查询

并行查询

多表查询并集

select T1.id,T1.name,T1.age from table1 T1 where T2.age < 16
union
select T2.id,T2.name,T2.age from table2 T2 where T2.age <16
union
select T3.id,T3.name,T3.age from table3 T3 where T3.age < 16
-- 这里 三张不同的表,只需要三张表都有 id,name,age 字段(字符集也要相同,查询结果需要统一类型),就可以查三张表的并集

union all 与 union 区别

两个都是查询多表的并集 ,但是 union 可以重复数据, union 不会重复

to_char to_nchar

字符集不匹配时可用解决方案

使用trim函数去除字符串的空格' '

select trim(' ss') from dual;

查询结果为'ss' 而不是' ss'

表连接查询

inner join 与 left join 的区别

inner join 没有主表与副表之分,left join 有主表副表之分

假如,A表有三条数据,B表有2条数据 他们是关联对应的,那么 inner join 能查出两条,left join 能查出三条

select * from A inner join B on (查询条件) => 得到两条数据

select * from A left join B on (查询条件) => 得到三条数据(主表A有三条)

case 用法

有两种用法

比较值

select
T.name,
T.area,
case T.age
when '18' then '刚成年'
when '20' then '刚20'
else T.age
end
as age,
from student T

作为搜索条件

select
T.name,
T.area,
case
when T.age ='18' then '刚成年'
else T.age
end
as age,
from student T

Oracel 数据库表操作的更多相关文章

  1. Database学习 - mysql 数据库 表操作

    mysql 数据库 表操作 创建数据表 基本语法格式: 创建数据表: create table 表名( 字段名 datatype 约束, 字段名 datatype 约束, ...... ) 修改表名 ...

  2. 传智播客JavaWeb day09-mysql入门、数据库操作、数据库表操作、数据行操作

    不知不觉已到了第九天了,今天主要讲了关系数据库的基本概述.安装.数据库.表和数据行的操作 1. 基本概述 1.1 数据库就是用来存储数据的.早期是存在文件里面的操作起来效率低而且不是很安全. 1.2 ...

  3. MySQL数据库(2)_MySQL数据库和数据库表操作语句

    一.关于数据库操作的sql语句 -- .创建数据库(在磁盘上创建一个对应的文件夹) create database [if not exists] db_name [character set xxx ...

  4. MySQL数据库-表操作-SQL语句(一)

    1. 数据库操作与存储引擎 1.1   数据库和数据库对象 数据库对象:存储,管理和使用数据的不同结构形式,如:表.视图.存储过程.函数.触发器.事件等. 数据库:存储数据库对象的容器. 数据库分两种 ...

  5. Mysql 数据库表操作

    ☞ 创建表CREATE TABLE `数据库`.`表` ( `id` INT( 11 ) NOT NULL AUTO_INCREMENT COMMENT '注释',`type_name` VARCHA ...

  6. MySQL数据库——表操作

    I.表操作 一.创建表 基本语法如下: create table 表名( 列名 类型 是否可以为空, 列名 类型 是否可以为空 )ENGINE=InnoDB DEFAULT CHARSET=utf8: ...

  7. 数据库-->表操作

    一.MySQL存储引擎 # InnoDB MySql 5.6 版本默认的存储引擎.InnoDB 是一个事务安全的存储引擎,它具备提交.回滚以及崩溃恢复的功能以保护用户数据.InnoDB 的行级别锁定以 ...

  8. MySQL数据库-表操作-SQL语句(二)

    1. MySQL多表查询 1.1 外键约束 为了消除多张表查询出现的笛卡尔积的现象,MySQL在建表并进行多表之间的关键查询可以使用外键关联查询. 外键:从表1(sub)的某列引用(ref)另外一个表 ...

  9. mysql数据库表操作-表的主键索引和普通索引

    数据库索引就象书的目录一样,如果在字段上建立了索引,那么以索引列为查询条件时可以加快查询数据的速度.查询数据库,按主键查询是最快的,每个表只能有一个主键列,但是可以有多个普通索引列,主键列要求列的所有 ...

随机推荐

  1. 4 Linux文件与目录管理

    Linux的目录文件结构为树状结构,最顶级目录为根目录 / 其他目录通过挂载可以将他们添加到树中,通过解除挂载可以移除他们 绝对路径: 根目录开始 eg: /usr/share/doc 相对路径: 不 ...

  2. Spark GraphX图计算核心源码分析【图构建器、顶点、边】

    一.图构建器 GraphX提供了几种从RDD或磁盘上的顶点和边的集合构建图形的方法.默认情况下,没有图构建器会重新划分图的边:相反,边保留在默认分区中.Graph.groupEdges要求对图进行重新 ...

  3. 『Python进阶』多进程多线程快速上手

    线程池快速上手 from concurrent.futures import ThreadPoolExecutor from utils import * workers = 8 with Threa ...

  4. Django 中的缓存问题

    Django 中的缓存问题 简单介绍 ​ 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. ​ 当一个网站的用户访问量很大的 ...

  5. EFK日志搭建

    安装java 安装java1.8以上的版本并验证 [root@localhost ~]# yum install java [root@localhost ~]# java -version open ...

  6. kernel: nfsd: too many open TCP sockets, consider increasing the number of threads

    在/var/log/syslog中看到如下报错:   kernel: nfsd: too many open TCP sockets, consider increasing the number o ...

  7. docker学习10-注册docker hub账号

    前言 Docker Hub是Docker的远程镜像仓库,是 docker 官网推出的 docker 仓库的一个公共服务器,在上面可以有私有和公有的镜像. 类似于 github,可以上传自己镜像文件,也 ...

  8. Django 缓存配置的多种方式

    django 的缓存配置有多种方式,主要包含以下几种: 1.开发调试模式 2.内存模式 3.使用文件 4.直接使用数据库 5.使用redis或者memcache 这里主要是记录一下那些不常用,但是在微 ...

  9. input 关键字提示,对于一些特定优化来说,很有用处

    只用html就可以做出提醒操作:效果如下图 这里是代码,怎么样,很简单吧 <form action="/server" method="post"> ...

  10. 终极 Shell——ZSH

    https://zhuanlan.zhihu.com/p/19556676 在开始今天的 MacTalk 之前,先问两个问题吧: 1.相对于其他系统,Mac 的主要优势是什么?2.你们平时用哪种 Sh ...