zoukankan      html  css  js  c++  java
  • Oracle数据库基础1-数据类型与约束

    一.准备工具

    1.Oracle数据库:全名oracle Datebase ,是甲骨文公司的一款关系数据库管理系统;

    2.PL/SQL : PL/SQL Developer是一个集成开发环境专门面向开发Oracle数据库的应用,PL/SQL也是一种程序语言,叫做过程化SQL语言。

    二.创建一个用户

    打开PLSQ软件,在users文件夹中右键创建用户,设置用户名和口令,在角色权限选项里创建两个角色,应用后关闭软件重新打开登录即可。

     查看服务:按win+R键打开弹窗,输入services.msc打开计算机服务菜单,查看OracleServiceXE(XE:指数据库实例名)和OracleXETNSListener(监听器)两项服务是否启动,用来保证数据库的正常运行。

    三.表空间

    1.Oracle数据库对数据的管理是基于表空间的概念来的,各种数据以及存储数据的优化实际上也是通过优化表空间来实现的。

    2.表空间的分类:

    • 永久表空间:用来存放表的数据, 视图, 存储过程或者函数等需要永久保存的对象的空间。
    • 临时表空间:用来存放查询结果等临时数据的空间。
    • UNDO表空间:用于存放回滚数据, 已经删除数据等对象的表空间。

    3.关于用户的分类:

    • sys: 超级管理员,权限最大。
    • system: 次超级管理员。
    • scott: 普通用户。

    四.oracle基础数据类型

    1.字符型:包含字符串

    char(最大长度2000):括号里写数据类型的长度,是固定长度,不可变。缺点是多余的空间不用就会浪费。

    nchar(最大长度1000):同char(),支持unicode。

    varchar2(最大长度4000):长度可变,一般用这个类型。

    nvarchar2(最大长度2000):同varchar2(  ); 支持unicode。

    2.数字类型

    number(包括正负整数和小数, 有效位数, 小数位数);

    number(5):括号里写有效位数,这里最大范围是99999,最小范围是-99999。

    number(5,2):逗号后面指小数的有效位数,这里指最大范围是999.99,最小范围是-999.99。

    Integer:指比较小的整数。

    3.日期类型:时间

    date:取值范围:公元前4712年1月1号---公元9999年12月31号, 可以直接精确到秒。

    timestamp:时间戳: 更精确的数据, 可以精确到毫秒。

    4.其他类型

    clob:表示大文本,最大容量4g,以字符串的形式存放。

    blob:以二进制的形式存储文件,如图片,视频,声音等,最大容量4g。

    5.boolean类型有三个:true;false;null/unknown(空/未知);

    五.oracle运算符和表达式

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

    1.赋值运算符(:=)

    2.算术运算符(+  -  *  /       注意这个地方没有取余的运算符, 取余使用mod函数)

    3.比较运算符(>  >=  <  <=  =[注意不是==]  <>/!=)

    4.逻辑运算符(and  or  not)

    5.字符串连接符(||)

    六.创建表

    在Tables文件中新建表,在一般选项中输入该表名称,如新建一个用户表可以写为:T_users,在行选项里添加该表中内容的分类,以列区分,如该用户表中有用户名和用户密码,可以命名为:uname及psm,并选择该数据的数据类型,点击应用,这样一个最基本的表格叫创建好了;

    编辑表格:鼠标右键选中表格文件点击编辑选项可对表格进行编辑。

    编辑数据:鼠标右键选中表格文件点击编辑表格选项可对建好的表格进行数据编辑,辑完成后点击对号图标保存修改,在点击工具栏中的提交图标按钮可将修改后的数据提交到数据库。

    查询数据:第一种是直接鼠标右键表格文件点击查询数据,第二种是新建sql窗口,输入代码查询数据。

    select和from都属于SQL里的常用关键字,在SQL语言里行注释用--(两个减号)表示。

    七.表的主键与外键

    定义主键和外键主要是为了维护关系数据库的完整性。

    1.主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。

    2.外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。

    3.外键能关联的只能是另一张表的主键。

     八.Oracle数据库约束

    约束实际是定义了一种规则,定义要输入的值是一个什么样的值,或是哪个范围的值,其作用是确保数据的完整性和精确性。

    1.非空约束

    记录一条信息的时候如果用户名和密码没有被记录, 那么这条记录是没有实际意义的, 创建表的时候默认是可以为空的。可以在编辑表中将列中可为空对勾去掉。
    代码示例: ALTER TABLE t_users MODIFY uname NOT NULL 意思是将t_users表格内的uname字段设置为非空。

    2.主键约束

    为了保证表中数据的唯一性,一个表中只能有一个主键,但这个主键可以由多个字段(联合主键,复合主键)构成,但不建议这样。

    可以在建表时在键选项中设置关键字:primary key ;例如将名字设为主键可以这么写:PK_T_users_uname  (oracle对大小写不敏感,保存后自动转换为大写)

    代码示例:ALTER TABLE 表名 ADD CONSTRAINT 主键名称 PRIMARY KEY(uname)

    3.外键约束

    唯一一个涉及两个表中的字段约束,插入数据的时候, 从表中的关联关系的字段, 要么是一个主表主键的关联, 要么是一个空值。

    比如A表的uname是主键,在B表设置uname是外键,当在B表中插入是uname列中的数据时,其内容要么是A表中uname中已有的,要么是一个空值,不能为其他值。

    此时A表是主表,B表是A表的子表,当删除A表中的主键的数据时,如果这条数据被子表关联,是无法删除的,但不影响子表外键数据的删除。

    代码示例:ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(外键字段名) REFERENCES 主表名

    4.唯一约束

    作用:保证字段值的唯一性,与主键的区别:唯一约束可以为空值, 唯一约束可以有多个;使用语句创建唯一约束只能写多条语句, 类似于insert into;

    代码示例:ALTER TABLE 表名 ADD CONSTRAINT uk_appuser UNIQUE(指定的列名)

    5.检查约束

    作用: 使表当中的值更具有实际意义;比如定义一个年龄的范围;

    代码示例: ALTER TABLE appuser ADD CONSTRAINT c_age CHECK(age > 0 AND age < 150)

  • 相关阅读:
    报表开发之扩展GROUP BY
    Leetcode--easy系列9
    datatable 前台和后台数据格式
    C实现头插法和尾插法来构建单链表(带头结点)
    HDOJ 题目1520 Anniversary party(树形dp)
    windows环境利用apache 配置虚拟主机
    POJ--1966--Cable TV Network【无向图顶点连通度】
    Linux Shell脚本编程学习笔记和实战
    win10 bcdedit加入vhdx启动
    设计模式之Mediator模式(笔记)
  • 原文地址:https://www.cnblogs.com/wyc1991/p/9058589.html
Copyright © 2011-2022 走看看