暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle基础知识及操作

IT那活儿 2023-11-06
297
点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!

数据库语言的分类
DDL
  • 数据库定义语言:create、drop
DML
  • 数据库的操作语言:insert、update、delete
DQL
  • 数据库的查询语言:select
DCL
  • 数据库的控制语言:grant、revoke


数据类型
VARCHAR2(size)
  • 可变长字符数据。VARCHAR2(n)数据类型用于定义可变长度的字符串,其中,n用于指定字符串的最大长度,n的值必须是正整数且不超过32767。
CHAR(size)
  • 定长字符数据。CHAR(n)数据类型用于定义固定长度的字符串,其中,n用于指定字符串的最大长度,n的值必须是正整数且不超过32767。
NUMBER(p,s)
  • 可变长数值数据。NUMBER(precision,scale)数据类型用于定义固定长度的整数和浮点数,其中,precision表示精度,用于指定数字的总位数;scale表示标度,用于指定小数点后的数字位数,默认值为0,即没有小数位数。
DATE
  • 日期型数据。DATE数据类型用于定义日期时间类型的数据,分别描述年、月、日、时、分、秒。
TIMESTAMP
  • TIMESTAMP数据类型也用于定义日期时间数据,但与DATE仅显示日期不同,TIMESTAMP类型数据还可以显示时间和上下午标记,如“11-9月-2007 11:09:32.213 AM”。
LONG
  • 可变长字符数据,最大可达到2G。LONG数据类型在其它的数据库系统中常被称为备注类型,它主要用于存储大量的可以在稍后返回的文本内容。
CLOB
  • 字符数据,最大可达到4G。
BLOB
  • 二进制数据,最大可达到4G。
ROWID
  • 行地址,十六进制串,表示行在所在的表中唯一的行地址,该数据类型主要用于返回ROWID伪列,常用在可以将表中的每一条记录都加以唯一标识的场合。
提交回滚
  • 在每次执行完数据变更的语句(insert\update\delete)后,需要提交数据。可以将执行数据变更的语句后跟上commit,进行提交。
    注意:执行变更数据(执行提交)之前,已经要检查语句,是否变更逻辑正确。
别名
  • as
    SELECT count(1) as sjl FROM test1;
  • SELECT t.name FROM test1 as t;
    sjl就是count(1)的别名
    别名是为了方便计算和防止。
通配符
  • ‘%’(百分号):用来表示任意数量的字符,或者可能根本没有字符。
    ‘_’(下划线):表示确切的未知字符。
    ‘?’(问号):用来表示确切的未知字符。
    ‘#’(井号):用来表示确切的阿拉伯数字,0到9。

    ‘[a-d]’(方括号):用来表示字符范围,在这里是从a到d。


用户和表空间
3.1 创建新用户
CREATE USER usename IDENTIFIED BY password;
3.2 授权
GRANT CONNECT, RESOURCE, DBA TO usename;
  • DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
  • RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
  • CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
3.3 创建表空间
CREATE TABLESPACE spacename DATAFILE '表空间文件存放路径' SIZE 表空间大小 AUTOEXTEND ON;
-- 例:
CREATE TABLESPACE dragon DATAFILE 'C:\Tablespace\dragon.dbf' SIZE 1000M AUTOEXTEND ON;
3.4 表和视图
创建表:
CREATE
CREATE TABLE tablename(
num1 varchar2(200) null,
num2 varchar2(200) null,
num3 number(10,0) null,
num4 DATE null
)
tablespace spacename -- 指定表空间
comment on table tablename is '表注释';
comment on column tablename.num1 is '字段注释';

  • tablename:表名
  • num:字段名
create table test1 (
id varchar2(10) primary key,
name varchar2(200) not null,
phone varchar2(11) null,
adress varchar2(200) null
)

  • primary key:主键,主键的特性,不能重复且不为空。
3.5 查询
SELECT
-- 全字段显示:
SELECT * FROM tablename;
SELECT num1,num2,num3,num4 FROM tablename;

-- 查询单一字段:
SELECT num1 FROM tablename;

-- 查询多个字段:

SELECT rowid,num1,num2 FROM tablename;
3.6 插入
INSERT INTO
-- 全字段插入:
INSERT INTO tablename(num1,num2,num3,num4)VALUES('10001','AT',20,'2022-04-03 00:00:00');
-- 指定字段插入:
INSERT INTO tablename(num1,num2)VALUES('10001','AT');
3.7 更新
UPDATE
-- 全量更新:
UPDATE tablename SET num2 = 'AG';
-- 条件更新:
UPDATE tablename SET num2 = 'AG' WHERE num2 = 'AT';
UPDATE tablename SET num2 = 'AG' WHERE num1 = '10001';
FOR UPDATE
SELECT * FROM test1 FOR UPDATE;
*,rowid
SELECT t.*,t.rowid FROM test1 t;

3.8 删除表
DELETE


END


本文作者:事业二部(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论