oracle语法初步

摘要:跨表插入,注释,二进制,伪列,日期获取,定义建表,简单增删改查,注释,事物,权限授夺

  • 单行注释-- 如: - - xxx
  • 多行注释/**/ 如:/*xxx*/
  • 获取当前日期
    Select sysdate from dual;
    Select systimestamp from dual;
    主要的日期时间类型有:
     DATE - 存储日期和时间部分,精确到整个的秒
     TIMESTAMP - 存储日期、时间和时区信息,秒值精确到
    小数点后6位
  • 二进制 raw
  • RAW 数据类型用于存储二进制数据,最多能存储 2000 字节
    LONG RAW 数据类型用于存储可变长度的二进制数据,最多能存储 2 GB
  • LOB( lob) 称为“大对象”数据类型,可以存储多达 4GB 的非结构化信息,例如声音剪辑和视频文件等,允许对数据进行高效、随机、分段的访问。
  • 伪列:
    1.常用的伪列有 rowid 和rowunm
    2.像一个表列,但是它并没有存储在表中
    3.可以从表中查询,但不能插入、更新和删除它们的值
  • rowid
    ROWID 是表中行的存储地址,该地址可以唯一地标识数据库中
    的一行,可以使用 ROWID 伪列快速地定位表中的一行
  • rowunm
    ROWNUM 是查询返回的结果集中行的序号,可以使用它来限
    制查询返回的行数

数据定义语言

  • 创建表
    创建名为t_student的表
    列名1,类型1
    列名2,类型2
create table  t_student
(
		SID char(5) not null primary key, --学号
		Sname varchar2(10) not null, --姓名
		Ssex char(1) not null, --性别
		Sbirthday date null, --出生日期
		Stel varchar2(13) null, --联系电话
		Sclass int null --班级
)
  • 修改表结构:
    语法:
    alter table 基本表名 ADD/MODIFY/DROP (增加/修改/删除) 列名 类型名(增加/修改时写出)或增加/修改/删除约束
    1.增加字段:ALTER TABLE t_student Add f_address char(50);
    2.修改字段:ALTER TABLE t_student Modify f_address varchar2(50);
    3.重命名字段:ALTER TABLE t_student rename column f_address to f_add;
    4.删除字段:ALTER TABLE t_student Drop column f_address ;
    5.添加约束:ALTER TABLE t_student Add constraint uk_Sname Unique(Sname);
  • 截断
    语法: truncate table t_student;
    1、截断表是将表中所有记录删除,但保留表结构,并且不写日志
    2、truncate table 是DDL语言,delete from tabl_name 是DML
  • 删除表:
    DROP TABLE 基本表名
    eg:DROP TABLE t_student;
  • 注释
    comment on***** is ***:为表或字段添加注释
    COMMENT ON table t_student IS ‘用于存储学生信息 ’; --表添加注释
    COMMENT ON column t_student .sname IS ‘姓名 ’; --字段添加注释
  • 查询注释
    select comments from
  • 插入 insert
    语法:INSERT INTO 基本表名 VALUES( ,,,)
    (跨表插入)表中每个字段都插入
    eg:insert into tt values(‘10014’,‘许文强’,‘m’, ‘25-5月-88’,‘13202010118’,1);
    (跨表插入)表中指定字段插入
    eg:insert into tt(SID,Sname,Ssex,Sbirthday) values (‘10015’,‘冯程程’,‘f’,TO_DATE(‘1990-10-18’, ‘YYYY-MM-DD’));
  • create table t_stutemp as select * from tt where 1=2;
    创建一个字段t_stutemp 与tt表结构一样,但是无记录
  • 跨表插入
    两个表结构相同时,插入一个行。
    insert into t_stutemp select * from tt where Sclass=1;
    不全插入,插入部分字段。
    insert into t_stutemp(sid,sname,stel,ssex) select (sid,sname,stel,ssex) from tt where sclass=1;
  • DML – update更新,修改命令
    更新tt表里 字段名sname=许文强 的一行中的字段sbirthday的内容为08-1月-88
    update tt set sbirthday = ‘08-1月-88’ where sname =‘许文强’;
  • DML – delete删除命令
    delete命令的基本语法: delete[from] <table_name>[where condition];
    例:删除表t_student 中学号为10014的学生信息
     Delete t_student where SID = ‘10014’;

数据控制语言

  • 用于权限控制的命令有:
     grant授予权限
    eg:grant select on t_student to user1 with grant option;
    注:若带有with grant option 可将权限授予第三方,若不带则无法将权限授予第三方
    revoke撤销已授予的权限
    撤销user1用户中表t_student 的select权限
    eg:revoke select , update on t_student from user1;

事务控制语言

  • commit- 提交并结束事务处理
  • rollback- 撤销事务中已完成的工作
  • savepoint– 标记事务中可以回滚的点
  • 事务的四大特性
     事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性。
  • 原子性(atomicity):一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
  • 一致性(consistency) :事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
  • 隔离性(isolation isolation):一个事务的执行不能被其他事务干扰。即 一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
  • 持久性(durability) :持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

下一步:
链接: Oracle一.

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼雨羽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值