Oracle基本操作——(二)

一、数据类型

1. 字符类型

  • char(size)
    用于存储固定长度的字符串,如果插入的长度小于指定长度,数据库会用空格补齐。
    最大长度2000字节

  • varchar2(size)
    用于指定变长的字符串。当存储的字符串小于指定的长度,数据库会以实际大小存储。
    最大长度4000字节

  • nchar(size)
    用于存储Unicode类型固定长度的字符串,如果插入的长度小于指定长度,数据库会用空格补齐。
    最大长度2000字节

  • nvarchar2(size)
    用于存储Unicode类型变长的的字符串,当存储的字符串小于指定的长度,数据库会以实际大小存储。
    最大长度4000字节

2. 数字类型

  • number
    number(宽度,精度)
    例如:
    存储整数,或小数
    number 不指定宽度,默认38宽度,不指定精度,默认整数
    number(8,2)总长度8,小数点后2位

  • float
    number的子类型,存储浮点数
    可以指定宽度,但不能指定精度

  • binary_float
    单精度浮点数,5字节大小,包含一个描述字节。也就是说数据存储4字节

  • binary_double
    双精度浮点数,9字节大小,包含一个描述字节。也就是说数据存储8字节

4. 日期时间类型

  • date
    精确到秒,年月日时分秒,字面量可以用‘2022-10-14’格式指定。使用sysdate函数可以获取当前系统时间。

  • timestamp
    精确到纳秒,年月日时分秒,秒的分数精度可以有0~9位数字,默认6位。

5. 大对象类型

lob

用于存储大型,未结构化的数据。例如,二进制文件,图片等。
可以分为 blob、clob、bfile三类:

  • blob
    用于存储二进制对象,例如,图片,视频,音频。最大128TB

  • clob
    用于存储字符格式的大型对象,最大128TB

  • bfile
    用于存储二进制格式文件,可以将最大128TB的文件作为操作系统文件存储在数据库外部。
    bfile类型的字段只能保存二进制文件的指针,且bfile字段是只读的,不能通过数据库对其中的数据进行修改

二、函数

  • 字符串函数
    image
    image
    image
    image

  • 数学函数
    image
    image

  • 日期时间函数
    image

  • 转换函数
    image

  • 聚合函数
    image

三、数据表

基本表
-- 创建表
-- 1.创建表空间test
create tablespace test
datafile 'G:test.dbf'
size 50M
autoextend on next 5M
maxsize 100M;
-- 2.更改默认表空间
alter database default tablespace test;
-- 3.创建用户test密码123456默认表空间test
create user test
identified by 123456
default table test;
-- 4.赋予test用户,连接数据库,创建表的权限
grant create session,create table
to test;
-- 5.连接test用户
conn test/123456;
-- 6.创建表
create table test (
id number(8) primary key,
username varchar2(20) not null
);
-- 删除表
drop table test;
-- 修改表
-- 修改表名
alter table test rename to test_new;
-- 添加列,类型varchar2,大小20,不为空
alter table test_new
add (
password varchar2(20) not null
);
-- 修改列属性password,长度改为30,添加默认约束,默认123456
alter table test_new
modify (
password varchar2(30) default '123456'
);
-- 修改列名称password为passwd
alter table test_new
rename column password to passwd;
-- 删除列passwd
alter table test_new
drop column passwd;
-- 查询表约束
-- 1.在sys用户中向test用户赋予对象权限
grant select,insert,update,delete
on test.test_new
to test;
-- 2.向test.test_new表插入数据
insert into test_new values (1,'admin');
-- 3.查询test_new约束
select table_name,constraint_name,constraint_type,status
from user_constraints
where table_name ='TEST_NEW';
-- 查询约束类型
select unique constraint_type from user_constraints;
-- 添加列约束modify
alter table test_new modify(username unique);
-- 添加表约束ADD,不演示了
-- 修改约束状态


posted @ 2022-10-14 13:19  发生什么事了?  阅读(69)  评论(0编辑  收藏  举报