Oracle常用数据类型

CHAR(length)
存储固定长度的字符串。参数length指定了长度,如果存储的字符串长度小于length,用空格填充。默认长度是1,最长不超过2000字节。

VARCHAR2(length)
存储可变长度的字符串。length指定了该字符串的最大长度。默认长度是1,最长不超过4000字符。–VARCHAR 类型都是8的倍数

NUMBER(p,s)
既可以存储浮点数,也可以存储整数,p表示数字的最大位数(如果是小数包括整数部分和小数部分,p默认是38为),s是指小数位数。
NUMBER(5,2):最大值:999.99 最小值:-999.99
NUMBER(5):最大值:99999 最小值:-99999

DATE
存储日期和时间,存储纪元、4位年、2位月、2位日、时、分、秒,存储时间从公元前4712年1月1日到公元后4712年12月31日。

各种数据类型的表达形式:

  • 字符型用单引号加字符表示,例如,’ABC’,‘1234’
  • 数字型直接用阿拉伯数字表示,例如,123
  • 日期型不能直接表示,必须使用函数转换,

例如,DATE’2016-12-31’,

TO_DATE(’20161231201237’,’YYYYMMDD 24HH:MI:SS’)SELECT TO_DATE('2016-12-31','YYYY-MM-DD') FROM DUAL;

各种数据类型的不同特点:

字符型可以进行拼接,

SELECT A.SAL||'-'||A.EMPNO
FROM EMP A

数字型可以进行算术运算,

日期型也能进行算术运算,但是只能日期减日期,或者日期加减数字

SELECTMAX(A.HIREDATE),MIN(A.HIREDATE)  ,MAX(A.HIREDATE)-MIN(A.HIREDATE)
FROM EMP A
SELECT TO_DATE('2015-12-31','YYYY-MM-DD')-TO_DATE('2014-12-31','YYYY-MM-DD')FROM DUAL;

各种数据类型比较大小的方式:
字符型比较第一个字符的 ASCII 码的大小

SELECTASCII('A')
FROM DUAL;
SELECTASCII('B')
FROM DUAL;
SELECTASCII('C')
FROM DUAL;

数字型比较数值的大小

日期型也是直接比较大小,越早的时间越小

DDL语句

1、直接创建表
语法结构:
CREATE TABLE 表名(
字段名1 数据类型
,字段名2 数据类型
,。。。
);
2、快速的复制表:
语法结构:

 CREATE TABLE 表名 AS SELECT * FROM 表名1 WHERE 1=2;-----只要表名1的表结构(只要字段)
CREATE TABLE 表名 AS SELECT * FROM 表名2 WHERE 1=1;-----要表名2的表结构和所有的数据

语法结构:删除表
DROP TABLE 表名;

--删除 W_EMP
DROP TABLE W_EMP PURGE;

语法结构:添加列
ALTER TABLE 表名 ADD 列名 数据类型;

---给以你名字命名的表添加列:体重
ALTER TABLE ZHANG_SAN ADD TI_ZHONG NUMBER(3);

语法结构:修改列类型
ALTER TABLE 表名 MODIFY 列名 数据类型

---修改以你名字命名的表的体重列改为字符串
ALTER TABLE ZHANG_SAN MODIFY TI_ZHONG VARCHAR2(3);

语法结构:修改列名
ALTER TABLE 表名 RENAME COLUMN 旧列名 TO 新列名

---修改以你名字命名的表的体重列改为婚姻状况
ALTER TABLE ZHANG_SAN RENAME COLUMN TI_ZHONG TO HUN_FOU;

语法结构:删除列
ALTER TABLE 表名 DROP COLUMN 列名

------删除你名字命名的表的婚姻状况
ALTER TABLE ZHANG_SAN DROP COLUMN HUN_FOU;

语法结构:修改表名
ALTER TABLE 表名 RENAME TO 新表名

------修改以你名字命名的表为:ABC_你的名字
ALTER TABLE ZHANG_SAN RENAME TO ABC_ZHANG_SAN;
----删除 Q_EMP 的数据
TRUNCATE TABLE Q_EMP;
SELECT * FROM Q_EMP;

DML语句

INSERT 、DELETE、UPDATE 都会产生事务,需要COMMIT(提交)

----INSERT INTO 插入数据
语法结构:—单行插入
INSERT INTO 表名(字段名1,字段名2,字段名3,…)VALUES (具体的值1,具体的值2,具体的值3,…);–每个值的数据类型要和字段数据类型匹配
COMMIT;

---给以你名字命名的表插入你自己的数据INSERT INTO ABC_ZHANG_SAN VALUES('张三','男',20,TO_DATE('20210427','YYYYMMDD'));
COMMIT;SELECT * FROM ABC_ZHANG_SAN;

----DELETE
语法结构:
DELETE FROM 表名 WHERE 字段=‘你想要删除的数据的某个条件’;
COMMIT;

------删除性别是错误的数据
DELETE FROM ABC_ZHANG_SAN A WHERE A.XING_BIE='女';
COMMIT;

----UPDATE
语法结构:
UPDATE 表名 SET 字段1=具体值1,字段2=具体值2 WHERE 字段=‘你想要删除的数据的某个条件’;
COMMIT;

----把以你名字命名的表的姓名数据改为:李四,出生日期改为:2021年1月1日
UPDATE ABC_ZHANG_SAN A SET A.XING_MING='李四',A.CHUSHENG_RIQI=TO_DATE('20210101','YYYYMMDD')WHERE A.XING_MING='张三';
COMMIT;

----多行插入数据
语法结构:

   INSERT INTO 表名(字段1,字段2,字段3,...)  -------字段与对应的字段数据类型要一致,字段的数量也要一致SELECT字段1,字段2,字段3,...FROM 表名2;COMMIT;

表的约束

按照约束用途分类:

  1. PRIMARY KEY:主键约束
  2. FOREIGN KEY:外键约束 —(两个表经常做关联的时候,给从表的主键字段与主表相同字段作为外键约束)
  3. CHECK:检查约束
  4. UNIQUE:唯一约束
  5. NOT NULL:非空约束
    注意:
    1.一张表只有一个主键,主键非空且唯一–(主键可以有多个字段组合成一个主键)
    2.外键只能依赖于另一张表的主键(例如 EMP 表中的 DEPTNO 依赖于 DEPT 表中的 DEPTNO)
    3.约束不能修改,只能删除重建
    创建约束则使用如下命令:
    语法格式:ALTER TABLE 命令
    ALTER TABLE 表名 ADD CONSTRAINT 约束名(PK_字符串) PRIMARY KEY (字段);
    语法格式:添加主键约束
    ALTER TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY(列名1[,列名2…]);
 --以学号字段添加主键约束ALTER TABLE HUANGYUFENG ADD CONSTRAINT PK_H PRIMARY KEY (H_NO);

语法格式:添加外键约束
ALTER TABLE 主表名 ADD CONSTRAINT 约束名 FOREIGN KEY(列名1[,列名2…]) REFERENCES 从表名(列名1[,列名2…]);

---给 A_EMP 和 DEPT 表添加外键约束
ALTER TABLE A_EMP ADD CONSTRAINT PK_A_DEPT FOREIGN KEY(DEPTNO) REFERENCES DEPT(DEPTNO);

语法格式:添加CHECK约束
ALTER TABLE 表名 ADD CONSTRAINT 约束名 CHECK(性别字段=男 OR 性别字段=女 );

--给以你名字命名的那张表 性别字段添加检查约束,要么男要么女
ALTER TABLE HUANGYUFENG ADD CONSTRAINT PK_SEX CHECK(H_SEX='男'OR H_SEX='女');

语法格式:添加唯一约束
ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE(列名);

--给以你名字命名的那张表 性名字段添加唯一约束
ALTER TABLE HUANGYUFENG ADD CONSTRAINT PK_NAME UNIQUE (H_NAME);

语法格式:添加非空约束
ALTER TABLE 表名 MODIFY 列名 NOT NULL;

--给以你名字命名的那张表 年龄字段添加非空约束
ALTER TABLE HUANGYUFENG MODIFY H_AGE NOT NULL;

语法格式:删除约束
ALTER TABLE 表名 DROP CONSTRAINT 约束名;

ALTER TABLE HUANGYUFENG DROP CONSTRAINT  PK_NAME;

oracle数据库学习笔记(二)(创建表、DDL、DML、单行插入数据、多行插入数据)相关推荐

  1. 数据导不进oracle数据库,学习笔记:Oracle逻辑导出/导入 数据逻辑导出时跳过指定表不进行导出...

    天萃荷净 Oracle数据库逻辑exp导出时,跳过指定某些表,对其表中数据不进行导出 有一个需求,某个用户有很多张表,但是只能使用exp导出,而且想跳过其中某几张表,其他对象包括依赖关系都需要.针对这 ...

  2. 数据库学习笔记6--MySQL多表查询之外键、表连接、子查询、索引

    本章主要内容: 一.外键 二.表连接 三.子查询 四.索引 一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复 ...

  3. 【数据库学习笔记】——创建数据库文件

    目录 1.数据库基础知识 2.创建数据库文件 1.数据库基础知识 什么是数据库?--数据库是存放多个数据表的仓库,数据表可以理解为是二维数组 如上表所示,每个表由行列组成: 字段:每一列称之为一个字段 ...

  4. Oracle数据库学习笔记(七)--事务及数据的增删改查

    事务的概念 事务是逻辑上的一组操作,要么都执行,要么都不执行. 事务最经典也经常被拿出来说的例子就是转账了.假如小明要给小红转账 1000 元,这个转账会涉及到两个关键操作就是:将小明的余额减少 10 ...

  5. Oracle数据库学习笔记——数据完整性(下)

    参照完整性 表的一列或几列的组合的值在表中唯一地指定一行记录,选择这样的一列或多列的组合作为主键可实现表的实体完整性,通过定义PRIMARY KEY约束来创建主键. 外键约束定义了表与表之间的关系,通 ...

  6. Oracle数据库学习笔记(九)--scott用户

    SCOTT 用户概述 SCOTT 是在 Oracle 数据库中,一个示例用户的名称,默认口令为 tiger,其作用是为初学者提供一些简单的应用示例.其中的表和表间的关系演示了关系型数据库的一些基本原理 ...

  7. Oracle数据库学习(二):SQL developer客户端下载、安装与连接Oralce 11g数据库

    SQL developer客户端下载.安装及连接Oracle数据库 本文采用自带jre的安装包,无需自己配置相关jdk文件 1.1 SQL developer客户端下载 下载 百度网盘:链接:http ...

  8. Oracle数据库学习笔记(二十八)--在Java项目开发中使用ojdbc连接Oracle数据库

    选择正确的 Jar 包 Oracle 10g 选择使用 ojdbc14.jar Oracle 11g 选择使用 ojdbc6.jar 将 Jar 包安装到本地 Maven 仓库中 具体方法参考我之前发 ...

  9. docker学习笔记(二)创建自己的镜像

    目录 image与container的可读写性 创建自己的镜像 dockerfile语法 创建自己的springboot项目image(Dockerfile方式) 推送镜像到镜像仓库(阿里云) 通过C ...

  10. 【数据库学习笔记】——创建数据库连接对象connection

    目录 connect函数的参数 创建连接对象连接MySQL代码 连接对象常见属性与方法 事务名词解释 课程视频链接: 第14节 Python操作数据库_哔哩哔哩_bilibili666https:// ...

最新文章

  1. windows 基础及基本软件测试环境搭建
  2. Hadoop+eclipse运行MapReduce程序
  3. python文件处理,python文件处理
  4. ubuntu php 无法执行exec_利用webhook使php项目自动部署
  5. 消息中间件系列(五):MQ消息队列的12点核心原理总结
  6. 秋风到,ModelArts“ AI市场算法Fast-SCNN指南”秋膘贴起来
  7. C++静态库与动态库(转)
  8. 7.2.Zeng_Cache(3) --- 前端
  9. 华为平板鸿蒙评测,华为平板首发鸿蒙系统,Matepad Pro2 跑分首曝
  10. 男生种草潮流社区edge(嘿市),会是男生的小红书吗?
  11. 把txt 转换成CHM的目录或Index
  12. Java Spring MVC框架 VIII 之 Spring MVC拦截器
  13. 如何记账,教你记录初始金额,查询账户余额
  14. 请问 S2S 和C2S 是什么样的模式,两者之间的区别又是什么样的?
  15. sigmaster解码播放
  16. 【蜂口 | AI人工智能】人脸美颜——龙鹏 深度学习与人脸图像应用连载(八)...
  17. C# 打印文档(word文档)
  18. 【flask】蓝图(Blueprint)
  19. position属性:absolute
  20. Qt完整工程创建和项目文件概述

热门文章

  1. win7声音小图标不见了,如何修复
  2. An exception was thrown while activating xxxxController
  3. 第一课 什么是norm?(An Evolutionary Approach to Norms)
  4. C#实现等差与等比数列求和
  5. 2020-03-11
  6. 编程,初来乍到,多多关照。
  7. 专访CAPA梁振宇:信息无障碍是互联网产品的必选项
  8. MySQL8.0 - 新特性 - Descending Index
  9. 深度拆解:体验好、满意度高,客户为什么不复购的内在逻辑
  10. 计算机防勒索病毒需求分析