`

学完oracle的总结

阅读更多

 

创建session--grant create session to lisi;

 

创建table --grant create table  to lisi;

 

撤销table-revoke create table from lisi;

 

创建tablespace--grant create tablespace to lisi;

=============================================================================================

启动数据库:startup;

关闭数据库--shutdowm;

cmd--sqlplus/nolog

cmd---sqlplus--sqlplus "wen/wen  as sysdba"--进入sqlplus中

http://xp-201012061224:5560/isqlplus/login.uix

 

 

修改id用 update ban_ji set id=8 where id=1;(import)

 

创建用户:

create user 用户名 identified by 密码

删除前的保存一份

savepoint aa;

rollback to aa;

回滚完成

 

=============================================================================================

DOS下启动ORACLE的监听--lsnrctl start

启动ORACLE的实例--oradim -starup -sid orcl

=============================================================================================

创建一个用户:create user lisi identified by lisi;

=============================================================================================

文档查询

1--

  cmd   sqlplus/nolog

SQL> conn /as sysdba

 已连接

3个默认的用户(sys/change_on_install as sysdba)(system/manager)(scott/tiger

2--更改账户:alter user scott account unlock;

查询用户是什么用户:

select table_name from user_tables;

scott用户的解锁

SQL>alter user scott account unlock;

设置密码为tiger

SQL>alter user scott identified by tiger;

 

SQL>conn scott/tiger

 

   show user;

   USER is "SCOTT"

 

   conn /as sysdba

   select username,account_status from dba_users;

   它会显示SCOTT----OPEN

   conn scott/tiger

 

=============================================================================================

 

 新建一个xue_sheng表

 create table xue_sheng(id integer, xing_ming varchar(30));

 

 

 查看表的字段和数据类型   DESC+表名

 alter table xue_sheng add nian_ling number;

   alter table xue_sheng   drop column nian_ling;

    drop  table xue_sheng;

  desc xue_sheng;

  这里就会增加nian_ling 这个字段。

查看当前用户表的命令

Select  table_name from user_tables;   

 

practice:

 SQL> desc xue_sheng13;

 名称                                      是否为空? 类型------字段

 ----------------------------------------- -------- ---------------------------

 

 ID                                                 NUMBER(38)

 XING_MING                                          VARCHAR2(12)

 ADDRESS                                            NUMBER

 PHONE_NUMBER                                       NUMBER

 ZUOAIID                                            NUMBER

 

SQL> insert into xue_sheng13 values(1,'daling');

insert into xue_sheng13 values(1,'daling')

            *

第 1 行出现错误:

ORA-00947: 没有足够的值

 

 

SQL> select * from xue_sheng13;

 

未选定行

 

SQL> insert into xue_sheng13 values(1,'liuwenewen',11,13893178965,1);

 

已创建 1 行。

 

SQL> select * from xue_sheng13;

 

        ID XING_MING       ADDRESS PHONE_NUMBER    ZUOAIID

---------- ------------ ---------- ------------ ----------

  •          1 liuwenewen           11   1.3893E+10          1

 

SQL> insert into xue_sheng13 values(2,'zhangxinling',12,110,2);

 

已创建 1 行。

 

SQL> insert into xue_sheng13 values(3,'yanghuibing',13,120,11);

 

已创建 1 行。

 

SQL> insert into xue_sheng13 values(3,'language',13,120,11);

 

已创建 1 行。

 

SQL> select * from xue_sheng13;

 

        ID XING_MING       ADDRESS PHONE_NUMBER    ZUOAIID

---------- ------------ ---------- ------------ ----------

         1 liuwenewen           11   1.3893E+10          1

         2 zhangxinling         12          110          2

         3 yanghuibing          13          120         11

         3 language             13          120         11

 

SQL>

对数据记录的操作(select, insert, update, delete)

常用函数(count-计算,max-最大值,min-最小值, avg-平均值,sum-总和,decode-解释,dist-,inct)

=============================================================================================

学习一些SQL语句

 

 create table xue_sheng(id integer,xing_ming varchar(20),nian_ling number);

 

 insert into xue_sheng values(1,'zhangsan',24);

 

 insert into xue-sheng values(2,'liuwenwen',22);

 

  查询

SQL>select * from xue_sheng;

SQL>select xing_ming from xue_sheng;//从学生表中查询姓名的字段

 

插入数据

SQL>insert into xue_sheng values(3,'w shi shui ',11);

SQL>insert into xue_sheng(id ,nian_ling,xuehao) values(2,'w shi shui',5555);

 

查找order by desc(降序)或者 asc(升序)排序

SQL>select * from xue_sheng order by nian_ling desc;       默认ASC

查找字段为空或者非空

SQL>select * from xue_sheng where xing_ming is null;        IS NOT NULL

过滤重复字段

SQL>select distinct nian_ling from xue_sheng;

更新表字段

SQL>update xue_sheng set xing_ming='zhanwu';(慎用)

SQL>update xue_sheng set xing_ming='lisi' where id=2;

 

=============================================================================================

删除,   需要注意 delete from 表名. 表示把表的数据全部清空

 

所以我们使用时一般带上条件 where 例如:

SQL> delete from xue_sheng where id=2;

 

Select substr('Hello',1,3) from dual;

Sub

 

Hel

 

Select substr(ename,2) from emp;

表示每一个名字都从第二个字符开始,截至整个字符串结束

 

Select chr(65) from dual;

c

 

A

 

Ascii

求一个字符的ASCII码数值

ASCII('A')

 

---------------

65

 

Round

Select round(112.23) from dual;

Round(112.23)

 

 

 

=============================================================================================

 

一些常用函数

 

SQL>select count(*) from xue_sheng;               count--计数

SQL>select sum( nian_ling ) from xue_sheng;       sum---总数

SQL>select MAX( nian_ling ) from xue_sheng;       MAX---最大值

SQL>select MIN( nian_ling ) from xue_sheng;       MIN---最小值

SQL>select AVG( nian_ling ) from xue_sheng;       AVG---平均值

 

=============================================================================================

decode函数使用,可以理解成是一个判断分类函数

SQL>select sum(decode(nian_ling,24,1,0,)),sum(decode(nian_ling,22,1,0)) from xue_sheng;

 

  insert into xue_sheng(id,nian_ling) values(2,34);

SQL>select sum(decode(nian_ling,23,3,0)) n_23,sum(decode(nian_ling,22,3,0)) n-22 from xue_sheng;

 

 

===============================================================================================

 

分组查询 group by 模糊查询LIKE 表连接JOIN ON 子查询IN(又叫嵌套查询)

 

1--新建学生表:xue_sheng

 

create table xue_sheng(id integer,xing_ming varchar(25),xing_bie number,result number);

 

insert into xue_sheng values(1,'liuwenwen',1,100);

 

insert into xue_sheng values(2,'wangxiaoer',0,200);

 

insert into xue_sheng values(3,'w shi shui ',1,150);

 

insert into xue-sheng values(4,'ai ni ',1,300);

 

查询要求:分组显示男女同学的总分

SELECT XING_bie,sum(result) from xue_sheng group by xing_bie;

 

2,  模糊查询 或者 模糊查找

 

使用LIKE关键字,通用字符 '%'

 

select * from xue_sheng where xing_ming LIKE 'zhan%';

 

select * from xue_sheng where xing_ming LIKE '%g';

 

select * from xue_sheng where xing_ming LIKE '%a%';

 

===========================================================================

 

 

3, 表连接

 

新建一个班级表:ban_ji

 

create table ban_ji(id integer,ban_ji varchar(20));

 

insert into ban_ji values(1,'1-(1)');

 

insert into ban-ji values(2,'1-(2)');

 

insert into ban_ji values(3,'1-(3)');

==============================================================================

 

select id, xing_ming from xue_sheng;

 

select id,xing-ming,ban_ji from xue_sheng ,ban_Ji;

 

select id,xing_ming,ban_ji from xue_sheng, ban_Ji;

 

学生表,班级表一起查询;

 

select x.id, xing_ming,ban_ji from xue_sheng x,ban_ji b;

 

select x.id, xing-ming,ban_ji from xue_sheng x,ban_ji b where x.b_id=b.id;

 

select x.id, xing_ming,ban_ji from xue_sheng x  join ban-ji b on x.b_id=b.id;

 

 

=======================================================================================

 

设置行的宽度--setLinesize 400

 

 

 

========================================================================================

 

子查询 in()或者 not in() ,又叫嵌套查询

 

select * from xue_sheng where b_id in(1,3);//取出id=1 id=3的两条语句

 

select * from xue_sheng where b_id=1 or b_id=3;

 

以上两条语句相同

 
分享到:
评论

相关推荐

    oracle 学习心得与总结

    以下是我对Oracle学习的一些心得和总结,主要聚焦于数据库对象,尤其是表及其约束。 1. **数据库对象**: 数据库对象是Oracle中的基本组成部分,包括表、视图、索引、存储过程、函数、触发器等。这些对象共同构成...

    oracle学习总结(适合刚学习oracle的人)

    本文将根据"oracle学习总结(适合刚学习oracle的人)"这一主题,深入探讨Oracle数据库的基础知识,帮助初学者建立起对Oracle的基本理解。 1. **Oracle简介**:Oracle数据库是由美国甲骨文公司开发的一款产品,它...

    oracle学习总结.docx

    Oracle 学习总结 Oracle 是一种关系数据库管理系统,由 Larry Ellison 和 Bob Miner 于 1977 年创立。它是一种对象关系数据库管理系统,支持多种编程语言,包括 Java、Python、C++ 等。 一、创建 Oracle 数据库...

    Oracle数据库的学习总结一

    ### Oracle数据库学习总结知识点 #### 1. 数据表的基本操作 - **创建表**: 使用 `CREATE TABLE` 语句创建新的表。例如:`CREATE TABLE student (name VARCHAR2(20), age NUMBER(3));` - **插入记录**: 使用 `...

    oracle学习心得总结

    ### Oracle学习心得总结 在IT领域中,Oracle数据库因其强大的功能和广泛的适用性而备受青睐。对于初学者而言,掌握Oracle的基本操作是非常重要的一步。本文将根据提供的文档内容,总结和扩展Oracle数据库的基础知识...

    21天学通oracle

    根据提供的文件信息,我们可以推断出这是一份关于学习Oracle数据库技术的教学资料,名为《21天学通Oracle》。接下来,我们将详细解读并总结出其中的重要知识点。 ### Oracle数据库概述 - **Oracle简介**:Oracle是...

    Oracle 学习总结

    下面将对Oracle数据库的学习进行总结,并重点阐述触发器的概念与应用。 1. Oracle数据库入门:首先,Oracle数据库的安装和配置是基础环节。接着,学习使用SQL语言进行数据操作,这是Oracle数据库管理与开发的核心...

    oracle学习总结

    ### Oracle学习总结 #### SQL基础语法 1. **数据定义语言(DDL)** - **创建表**:`CREATE TABLE table_name (column_name datatype constraints,...);` - `NOT NULL`:指定列不允许有空值。 - `UNIQUE`:指定列...

    Oracle非常全的学习总结

    记得理论与实践相结合,不断尝试在真实的Oracle环境中运用所学,才能更好地掌握这门强大的数据库技术。 总的来说,Oracle的学习是一个系统且深入的过程,涵盖了数据库管理、SQL编程、性能优化等多个方面。希望这两...

    OracleDBA入门、进阶学习路线图参考.pdf

    该路线图由经验丰富的 DBA eygle 根据自己的学习经历和经验总结而成。 首先,该路线图分为两个部分:入门和进阶。在入门部分,eygle 推荐学习《深入浅出 Oracle 》和《循序渐进 Oracle 》两本书,以此作为学习 ...

    oracle总结oracle总结面试必备

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其在企业级应用中占据着核心地位。以下是对Oracle数据库一些关键知识点的详细阐述,这些内容对于面试和日常开发工作都非常关键。 一、SQL基础 Oracle SQL是...

    ORACLE数据库学习总结资料.pdf

    Oracle数据库学习总结资料.pdf 是一份关于 Oracle 数据库的学习总结资料,涵盖了 Oracle 数据库的各个方面,包括 Oracle 的简介、简单查询、标量函数和算数运算、多表查询、列函数和分组、子查询、表的更新操作、表...

    oracle学习日志总结

    本文将对“Oracle学习日志总结”中的关键知识点进行深入探讨,帮助读者理解和优化Oracle数据库的使用。 1. **共享SQL和参数化查询**:共享SQL是指在数据库中重用已解析的SQL语句,减少了解析时间,提高了性能。使用...

    oracle学习资料,我搜集和总结的大量oracle学习资源

    Oracle数据库是全球最广泛使用的商业关系型数据库管理系统之一,它在企业级应用中扮演着核心角色。本压缩包中包含的“Oracle学习资料”是一份综合性的资源集合,旨在为系统管理员和初学者提供深入理解Oracle数据库的...

    oracle总结

    Oracle是世界上最流行的关系型数据库管理系统之一,以其强大的数据处理能力和高度的可扩展性而闻名。在本文中,我们将深入探讨Oracle数据库系统的核心概念、管理和优化技术。 首先,Oracle数据库采用SQL(结构化...

    Oracle题库(总结关于学习Oracle数据库的基础和技巧)

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其在企业级应用中占据着核心地位。这份"Oracle题库"提供了一个全面的学习平台,涵盖了Oracle数据库的基础知识和实用技巧,非常适合那些想要深入研究Oracle...

    ibatis学习总结,oracle , 敏捷开发,

    在IT行业中,Ibatis、Oracle...希望这篇总结能为你的学习之路提供有价值的指导,进一步深化你对Ibatis、Oracle和敏捷开发的理解。在IT世界中,持续学习和实践是提升自身能力的关键,祝你在技术探索的道路上越走越远。

Global site tag (gtag.js) - Google Analytics