oracle的安装与卸载

  • 要记住数据库口令,适用于sys、system.sysman/dbsnmp等账户,而scott帐号密码默认为tiger, 以oracle  10g来说,scott账户默认是lock的,需要unlock,

解决方法:1.即需要登录自带客户端即SQL plus登录sys等账户,口令为“密码【空格】as【空格】sysdba” 比如口令 “a3814194 as sysdba” 注意空格,因为输入的是密码,输入的是*号,空格必须打,否则密码错误。

     2.下载个PLSQL Developer 开发工具,输入sys和密码再选中sysdba数据库即可登录。

     3. 在(1)或(2)登录sys账户后,输入命令行:  alter user scott account unlock;  解锁即可。

  • 安装好之后,需要开启服务才能使用数据库,右击计算机选择管理,选择服务,启动“OracleOraDb10g_home1TNSListener” 监听器服务 和“OracleServiceORCL”数据库服务

卸载

    • 彻底删除oracle  :http://wenku.baidu.com/link?url=BKH21ClE4dr6T3wnm41RjnTV6A5niPVZOrLc3Iie0OBwCdE6T9w2fYSRUoE1EEemwcWhRJAupR3IfzlPjw6ZcGybMcRTyKleziCtKboh0kS


 oracle的使用

 

  • 注释语句:     --
  • 创建表空间:    不能是scott账户,因为这个账户是测试账户没有权限创建表空间。需要系统管理员才有权限,返回登录数据库选择sysdba,账户密码随便填即可(因为服务器在本机上,所以在本机登录sysdba可以随便填账户密码,如果是在别的机器,则乱填报错),登陆之后,输入命令:

    

  1. create tablespace sp_student
  2.     datafile 'F:\test\test.mdf'
  3.     size 100m;
  1.  datafile 'F:\test\test.mdf'表示创建的文件存放在F:\test文件夹下,文件名叫test.mdf(执行语句之后在F:\test下自动生成test.mdf文件),注意 test文件夹必须存在,否则报错。
    size表示文件大小。
    当表空间容量100M用完之后或者磁盘容量耗尽,我们可以继续扩容,
  1. alter tablespace sp_student
  2. add datafile 'E:\text1\text1.mdf'
  3. size 10m;

这样在E:\text1目录下会生成text1.mdf文件,当表空间或者磁盘容量用完之后,我们可以在其他擦盘继续创建空间来容纳数据。

  • 我们开发了一个系统之后,如果这个系统要使用数据库,则一般会创建一个用户。
  1. --创建用户
  2. create user myUse
  3. identified by a3814194
  4. default tablespace sp_student;
  5.  
  6. --删除用户
    drop user myUse;
  7. --给予权限,记得把create session权限也赋给user 否则将不能登录
  8. grant create session,resource to myUse;
  9.  
  10. --回收权限
    revoke resource from myUse;
  • 数据库分页

    1. select * from(
    2.  
    3. select rownum as eid,stu.*
      from stu
    4.  
    5. )stu where eid between (0*3)+1 and (0+1)*3;

    解析:Rownum表示一条记录的行号,值得注意的是它在获取每一行后才赋予.因此,想指定rownum的区间来取得分页数据在一层查询语句中是无法做到的,要分页还要进行一次查询.where eid betewwn (0*3)+1 and (0+1)*3; 表示查询条件为第一页显示3条数据,其中0代表当前页是第一页,3代表每页3条数。

    (4*2)+1 and (4+1)*2; 表示当前页为第5页,数据量为2条。

create user+用户名,identified by +密码, 创建完用户之后,需要给这个用户权限,比如登录权限,创建表修改表等等权限,我们可以直接resource 这个权限给用户(必须是管理员帐号才能赋予权限),
这个用户就可以登录、创建表等等。

  • 切换用户登录,登录myUse用户
  • 创建表  :
  1. --创建表
  2. create table student
  3. (
  4. sno char(10),
  5. name char(10),
  6. birthday date
  7. );
    --查看表
    select * from student;
    --删除表
    drop table student;
  • 修改表:
  1. --修改表/增加列
  2. alter table student
  3. add sex char(10);
  4. ----修改表/删除列
  5. alter table student
  6. drop column sex;

    增加列add 不用加column   而修改列add 要接column  且只要列名

  1. --修改列的类型
    alter table student
  2. modify sno date;
  • 表创建完之后,我们可以对这张表进行增加、删除、修改数据等操作。
  1. insert into student values('001','张三',to_date('1990/10/29','yyyy/MM/dd'));

插入一条记录,to_date()函数用于日期型数据转换为特定格式,在mysql中1990/10/29这种格式可以直接插入,而在oracle中要转换为yyyy/MM/dd格式才能插入
.当我们插入数据成功之后,要对操作进行commit,否则数据并未真正提交,这时候如果再创建一个数据库登录myUse用户,查看数据库student表会发现数据并未插入。

我们也可以选择对某些列插入数据,如下,如果没有(sno)则默认对所有列插入数据.

  1. insert into student(sno) values('002');
  1. --修改数据
  2. update student set name='李四' where sno='001';
  1. --删除数据
  2. delete from student where sno='002';
  • 如果我们插入一条数据delete from student where sno='002';  这样的数据是没有任何价值的,为了确定插入的数据必须是有价值的,我们需要对插入的数据进行约束,即插入的数据必须满足某些条件才能插入,即实现数据完整性(约束条件):非空、主键(非空+唯一+聚集索引)、唯一、检查、外键、默认值。

    1. --约束条件
      --主键约束
    2. alter table student
    3. add constraint pk_sno primary key(sno);

    pk_sno为约束条件名,注意如果表里有数据,且又增加某个约束条件,如果表里的数据跟约束条件冲突的时候会报错,比如数据库里已经有了一条sno为空的数据,而此时我们又对sno增加了主键约束条件,那么增加约束条件这步无法执行。

  1. --非空
  2. alter table student
  3. modify name char(10) not null;
  1. --检查约束
    alter table student
  2. add constraint ck_birthday check(birthday between to_date('1900/01/01','yyyy/MM/dd') and to_date('2000/01/01','yyyy/MM/dd'));
  3.  
  4. --在表定义时定义检查约束
    create table s(
      id int primary key,
      sex char(10)  check (sex in ('男' , '女'))
    );
  1. --唯一性约束
  2. alter table student
  3. add constraint un_name unique(name);
  1. --默认值
  2. alter table student
  3. modify name char(10) default 'sb';
  • 外键约束  :外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。

为了实验外键约束我们需要创建一张新表

  1. create table score
  2. (
  3. id int primary key,
  4. name char(10),
  5. sno char(10),
  6. foreign key(sno) references student(sno)
  7. );  

    原来的student表里有两条记录,sno=001 name=张三 birthday=1990/10/29 ; sno=002 name=sb  birthday=1911/01/01

    score表里 sno为外键,如果往score表里插入一条数据 :insert into score values(1,'王五','003');

    则报错,因为sno是外键,而student表里没有sno=003 这条记录。

(十九)oracle 基础使用以及sql语句基础的更多相关文章

  1. 第二章 基础查询 2-1 SQL语句基础

    一.列的查询 基本的SELECT语句: SELECT <列名 >,...... FROM < 表名>; 注:子句是SQL的组成要素. 注:查询结果中的列的顺序和SELECT子句 ...

  2. oracle 基础使用以及sql语句基础

        oracle的安装与卸载 要记住数据库口令,适用于sys.system.sysman/dbsnmp等账户,而scott帐号密码默认为tiger, 以oracle  10g来说,scott账户默 ...

  3. oracle 修改表的sql语句

    oracle 修改表的sql语句     1增加一个列:ALTER TABLE 表名 ADD(列名 数据类型);如:ALTER TABLE emp ADD(license varchar2(256)) ...

  4. 查询Oracle正在执行的sql语句

    --查询Oracle正在执行的sql语句及执行该语句的用户 SELECT b.sid oracleID, b.username 登录Oracle用户名, b.serial#, spid 操作系统ID, ...

  5. oracle 监控执行的sql语句

    oracle 监控执行的sql语句 select * from v$sqlarea a where module='PL/SQL Developer' order by a.FIRST_LOAD_TI ...

  6. [SQL基础教程] 2-1 SELECT语句基础

    [SQL基础教程] 2-1 SELECT语句基础 列的查询 Syntax SELECT<列名>,..... FROM<表名>; SELECT col_1, col_2 FROM ...

  7. oracle数据库查询日期sql语句(范例)、向已经建好的表格中添加一列属性并向该列添加数值、删除某一列的数据(一整列)

    先列上我的数据库表格: c_date(Date格式)     date_type(String格式) 2011-01-01                   0 2012-03-07         ...

  8. Oracle数据库常用的Sql语句整理

    Oracle数据库常用的Sql语句整理 查看当前用户的缺省表空间 : select username,default_tablespace from user_users; 2.查看用户下所有的表 : ...

  9. Oracle中,利用sql语句中的函数实现保留两位小数和四舍五入保留两位小数

    Oracle中,利用sql语句中的函数实现保留两位小数和四舍五入保留两位小数: select trunc(1.23856789,2) from dual round(m,n) 可以四舍五入 trunc ...

随机推荐

  1. plsql工具使用

    作者:lhrbest 作者:张冲andy 作者:jack_孟

  2. Mysql开启慢查询命令

    ; 查询: SHOW VARIABLES LIKE '%slow_query_log%'; 结果:

  3. MongoDB journal 与 oplog,究竟谁先写入?

    MongoDB journal 与 oplog,谁先写入?最近经常被人问到,本文主要科普一下 MongoDB 里 oplog 以及 journal 这两个概念. journal journal 是 M ...

  4. learning java 获取键盘输入

    通过Scanner类,获取键盘的输入 var sc = new Scanner(System.in); // while (sc.hasNext()){ // System.out.println(& ...

  5. imp

    imp 重载模块功能 from imp import reload 当在shell中使用一个模块,原始代码改了,要使用新的还得退出shell重新载入一次,这样的话原来的变量就都不在了 这时候可以使用i ...

  6. [Codevs] 一塔湖图

    http://codevs.cn/problem/1024/ floyd 走起 #include <iostream> #include <cstdio> #include & ...

  7. 第12章、乐活人生的ABCDE

    目录 第12章.乐活人生的ABCDE 什么时候该乐观 让自己乐观的ABC 确认ABC 你的ABC记录 反驳和转移注意 转移注意 反驳 保持距离 学习与自己争辩 证据 其他可能性 暗示 用处 你的反驳记 ...

  8. TensorFlow(一):准备

    我的环境:win10+python3.6.4(64位) 一:安装python 根据自己的电脑下载python(32位或者64位)-->安装教程 安装好python后记得配置pip源,使用官方的源 ...

  9. 爬虫(十五):scrapy中的settings详解

    Scrapy设定(settings)提供了定制Scrapy组件的方法.你可以控制包括核心(core),插件(extension),pipeline及spider组件.设定为代码提供了提取以key-va ...

  10. UOJ450 【集训队作业2018】复读机【生成函数】

    题目链接:UOJ EI神仙加强版 既然这题模数是今天日期减去\(7\times 10^5\),那就要赶紧把这题做了. 首先肯定是考虑指数型生成函数,列出来之后使用单位根反演一波. \[\begin{a ...