sqlplus常用命令:
  进入sqlplus模式:sqlplus /nolog
管理员登录:
  conn / as sysdba 登录本机的数据库
  conn sys/123456 as sysdba
普通用户登录
  conn scott/tiger@orcl 普通用户登录指定的数据库
  conn scott/tiger 普通用户登录默认数据库
解锁用户:
  alter user scott account unlock;
锁定用户:
  alter user scott account lock;
注意:只有管理员才有权限解锁和锁定用户!!!
显示当前登录用户:
  show user;
查询Scott用户下emp表的数据
  select * from emp;

DBA:数据库管理员
DB:database 数据库
DBMS:数据库管理系统

管理员:
  sys:超级管理员
  system:普通管理员
普通用户:
  scott:系统提供的
创建用户:普通用户没有操作用户的权限【创建修改删除】
  create user java0408 identified by java0408;
修改密码:
  password Java0408 然后根据提示修改就可以了
删除用户:drop user j0408 cascade; cascade 级联删除
授权:创建的用户任何权限【我们需要对用户授权】
角色: connect resource dba
  grant connect,resource,dba to j0408
撤销权限:
  revoke connect,resourc,dba from j0408;

--注释
-- 表的注释 字符串都用''单引号
  comment on table t_student is '学生表';

-Oracle中常用的数据类型
--字符型
char:字符型 能够存储的最大的内容是 2000个字节
分配了多大的空间保存数据的时候就直接分配多大的空间,
不会因为数据的大小而调整,char 的效率会比 varchar2 高

varchar2:字符型 4000个字节
保存数据的时候会根据数据的大小调整分配的空间,
相比char内存的利用率会更高
long :最多可以存储2GB
--数字型
  number: number[(n[,s])] --'[]'表示可选,也就是非必须
  默认的长度 32位
  number(5) 长度为5
  number(5,2) 长度5位,小数点后2两位 小数位超过精度四舍五入
--日期时间类型
  Date:日期 时间类型精确到秒
  TIMESTAMP:精确到秒后6位小数
系统时间:sysdate
  select sysdate from dual;

约束:
主键约束:
  alter table t_student5 add constraint pk_student_id primary key (id,s_name);
--注意:一张表中只能够有一个主键,但是一个主键可以包含多个字段【联合主键】
  外键约束:表与表之间的约束关系

第一种在建表的时候创建:
  constraint 外键标识名 foreign key (外键字段名) references 从表表名 (主键字段名);

第二种在建表之后创建外键
  alter table 表名 add constraint 外键标识名 foreign key (外键字段名) references 从表表名 (主键字段名);

  check 约束:使某个字段的值在特定的范围内
  create table 表名(
  字段名1 类型1 check (条件范围),
  …
  );

对表结构中的字段的修改
  1.删除表
    drop table t_student4;
  2.添加字段
    alter table t_student add sex char(3);
  3.修改字段类型
    alter table t_student modify sex varchar2(20)
  4.修改字段名称
    alter table t_student rename column sex1 to sex2;
  5.删除字段
    alter table t_student drop column sex2;

DML操作:
  增:insert into t_student(id,sname,age)values(11,'江立',25);
  commit; --提交
  rollback;--回滚
  注意:DML操作后数据并没有立即更新到数据库中,
  而是写入了缓存中,我们需要显示的提交或者回滚
  insert into tableName values(value1,value2,...,valueN);
  注意:省略掉字段列表,那么值列表就必须和建表的字段的顺序类型一致

  序列:Oracle特有,用来做主键自增的
CREATE SEQUENCE sequence_name
[START WITH num]
[INCREMENT BY increment]
[MAXVALUE num|NOMAXVALUE]
[MINVALUE num|NOMINVALUE]
[CYCLE|NOCYCLE]
[CACHE num|NOCACHE]
序列的使用方式:命名:seq_开头 后面跟表名,一张表对应一个序列
1.通过查询语句
  select seq_t_class.nextval from dual;
2.在插入语句中使用
  insert into t_class values(seq_t_class.nextval,'j1001');
  commit;
  insert into t_student(id,sname,age)values(seq_t_student.nextval,'江立',25);
  commit;
  nextval:下一个值
  currval:当前会话的值

  Oracle 不支持多条数据插入,只能通过查询一个表中的数据再插入到表中实现多条数据插入
多条插入:
1.多条数据插入
  insert into t_class_copy(cid,cname) select cid,cname from t_class;
  insert into t_student(id,sname,age,classid)
  select id,sname,age,classid from t_student1
2.表结构的复制
  复制表结构不包含数据
    create table t_class_copy1 as select * from t_class where 1<>1;
    create table t_student11 as select * from t_student where 1<>1;
  复制表结构包含数据
    create table t_class_copy1 as select * from t_class;
    create table t_student10 as select * from t_student;

-注意:Oracle中判断为空用 is null 不为空用 is not null

UPDATE (update) :更新
语法:update tableName set column1=value1,column2=value2 ...[where columnN=valueN]

  update t_student set classid=104 where id between 2 and 5;--两者之间
  commit;
  update t_student set age=30 where id in (2,5,103,104);--在什么范围之内
  commit;

DELETE (delete) :删除
  语法: delete from 表名 [where 条件]
  truncate:直接将数据从硬盘中删除,不会缓存,效率很高,但是没法撤销,慎用
  truncate table t_student4 ;

Oracle之基础操作的更多相关文章

  1. Oracle数据库基础操作语法

    转载自:https://www.cnblogs.com/fallen-seraph/p/10685997.html 一.登录Oracle数据库 首先运行Oracle数据库: 默认的有两个账号: 管理员 ...

  2. oracle 数据库 基础操作

    一.oracle基本常用的数据类型 varchar(长度) 字符串 char(长度) 字符 number(x,y) x表示总位数 y表示保留小数点后几位数 eg面试题:number(5,3)最大的数是 ...

  3. oracle 之 基础操作

    //删除存在的表空间及数据 drop tablespace TS_YYGL including contents and datafiles 若是出现了提示 错误 导致无法全部删除,那么就执行以下语句 ...

  4. Oracle11G的用户解锁、卸载以及基础操作

    Oracle用户解锁 [以下操作,必须以超级管理员身份登录,才能修改]oracle安装后,会默认生成很多个用户 以超级管理员身份登录,请注意,其中的空格符:[ sys是一个超级管理员,有最大的权限,d ...

  5. Oracle知识梳理(三)操作篇:SQL基础操作汇总

    Oracle知识梳理(三)操作篇:SQL基础操作汇总 一.表操作 1.表的创建(CREATE TABLE): 基本语句格式:       CREATE TABLE  table_name ( col_ ...

  6. Oracle常用基础语法(未完待补和操作)

    这篇博客主要是Oracle常用基础语法, 另外,存储过程和存储函数很重要,这个后期看视频学习,还有DB优化,另外,还有plsql develop和navicat的使用,重点是数据的导入导出: ---- ...

  7. Oracle数据库基础知识

    oracle数据库plsql developer   目录(?)[-] 一     SQL基础知识 创建删除数据库 创建删除修改表 添加修改删除列 oracle cascade用法 添加删除约束主键外 ...

  8. 【学习笔记】Y2-1-1 Oracle数据库基础

    Oracle 简介关系型(二维表)数据库 用来存储海量数据在大数据量的并发检索的情况下,性能要高于其他同类数据库产品一般运行环境是Linux和UnixOracle版本中的I(Internet) G(G ...

  9. 第一章 oracle数据库基础

    第一章   oracle数据库基础 1.oracle简介-->数据库管理系统    1.1:数据库    1.2:全局数据库名    1.3:数据库实例    1.4:表空间    1.5:数据 ...

随机推荐

  1. angular attrs.$observe和$scope.$watch的区别

    http://stackoverflow.com/questions/14876112/difference-between-the-observe-and-watch-methods https:/ ...

  2. Linux 虚拟机虚拟网卡问题导致无法连接问题

    问题描述 当 Linux 虚拟机启动时,通过串口输出或者启动日志, 观察到虚拟网卡启动或者初始化故障, 导致虚拟机无法连接. 问题分析 常见的超时报错范例如下: CentOS 复制 Bringing ...

  3. ADOBE READER把PDF转换成WORD教程

    目前国外很多软件的支持信息都使用PDF方式进行发布,如果没有Adobe  Reader,无法查看其内容,如果没有相关的编辑软件又无法编辑PDF文件.转换为DOC格式则可以实现编辑功能.尽管有些软件也可 ...

  4. zt C++ list 类学习笔记

    C++ list 类学习笔记 分类: C++ 2011-09-29 00:12 7819人阅读 评论(0) 收藏 举报 listc++iteratorvectorcconstructor 双向循环链表 ...

  5. Sqlserver2008+搜索型注入技术

    简单的判断搜索型注入漏洞存在不存在的办法是先搜索',如果出错,说明90%存在这个漏洞.然后搜索%,如果正常返回,说明95%有洞了. 然后再搜索一个关键字,比如2006吧,正常返回所有2006相关的信息 ...

  6. 入门学习webpack笔记

    注意事项: 1.预热知识:前端模块化.commonJS最好提前了解.commonJS语法最好熟悉. 2.commonJS中,module表示当前模块,module.exports(或者exports) ...

  7. MQ7.5以后的权限问题解决

    MQ7.5以后权限是个问题,目前我也没有什么特别好的解决办法,把认证通道关闭就可以正常使用. 下面是IBM 官方的解释,可惜我没调通,望高人指点! 疑问 您使用MQ 7.1或者7.5创建了一个新的队列 ...

  8. python 时间和时间戳的转化

    时间戳与时间之间的转换,需要一个中间过程,即将先将时间或时间戳先转为时间元组! 1.时间转时间戳: import datetime, time s = datetime.datetime(2016,6 ...

  9. Linux入门基础介绍

    概述: 1. linux是一个开源.免费的操作系统,其稳定性.安全性.处理多并发已经得到业界的认可,目前很多企业级的项目        都会部署到Linux/unix系统上. 2. 常见的操作系统(w ...

  10. mac端抓包工具——Charles使用

    一.简介 Charles(http://www.charlesproxy.com/)是在Mac 下常用的截取网络封包的工具.Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问 ...