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. HP服务器重装centeos 6.3红屏错误码 Illegal Opcode

    公司组装一个服务器要装centos 6.3 .出现一个问题 如果自动引导一切正常.如果手动分区重启后就会,红屏错误码 Illegal Opcode. 去网上问度娘各种不靠谱,有时说要 升级BIOS,从 ...

  2. Django ORM (二) 增加操作

    数据库表结构生成完毕后,可以使用工具连接上去 在 app01_author 表创建基础记录 在 app01_publisher 表创建基础记录 添加 data_oper 方法 在 urls.py 文件 ...

  3. MySQL基本库表管理

    基本管理指令 mysql登陆 第一种 [root@wei ~]# mysql -u root -p 第二种(带参输入) [root@wei ~]# mysql -uroot -proot 注意:每个命 ...

  4. Linux shell awk数组使用

    awk中使用数组 一.数组格式 数组是一个包含一系列元素的表. 格式如下:     abc[1]="xiaohong"     abc[2]="xiaolan" ...

  5. JfreeChart 乱码问题处理

    在前面之间加上下面这段代码即可. //创建主题样式 StandardChartTheme standardChartTheme=new StandardChartTheme("CN" ...

  6. Caused by: java.lang.ClassNotFoundException: Cannot find class:

    Caused by: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibat ...

  7. python 解决粘包问题的例子(ftp文件的上传与下载)简单版本

    服务端 ! /user/bin/env python3 -- coding:utf_8 -- """ Author:Markli # 2019/9/9,16:41 &qu ...

  8. 2019牛客国庆day3-G &CF1238E

    牛客G: 给定大小为N的数组a[],给定M组关系,让你重排a[],使得sum{M队关系的绝对值之差}最小.首先将a排序,然后依次把a填入数组. 假设i在二进制下有x个1,用dp[i]更新dp[i|(1 ...

  9. ubuntu使用anaconda安装tensorflow

    https://blog.csdn.net/shiheyingzhe/article/details/80863422 https://blog.csdn.net/sheyanshangjiang/a ...

  10. Codeforces Round #605 (Div. 3) E - Nearest Opposite Parity (超级源点)