1
<1>在cmd下输入 sqlplus sys/**** as sysdba;
<2>提示连接到数据库请问此时的数据库是装载的还是不装载的呢?
2建立一个表如
ID   name
1     
2    lee
可以看出第一行的name是空的,当我想把第一行删除时,delect from where name=''时候,提示是 删除0行;
 也就是说name等于空的表示的问题.insert into user(id,name) values(1,'');如果这样的的话,delect from where name=''时候,是不能删除的.
insert into user(id,name) values(1,' ');如果这样的的话,delect from where name=' '时候,这样就可以删除了.
两个红色句子的不同之处就是''之间有没有空格.绿色的两个句子也是那样.请问要表示name是空是不是一定要  '空格',这样表示呢?而''没有空格是不可以的呢?谢谢

解决方案 »

  1.   

    1、如果数据库已启动,连接后显示如下提示
    C:\>sqlplus sys/oracle as sysdba
    SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 12月 10 00:08:16 2010
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.连接到:nterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    Oracle Database 10g 如果数据库未启动,则显示
    C:\>sqlplus sys/oracle as sysdba
    SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 12月 10 00:09:11 2010
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    已连接到空闲例程。当然,你也可以试着查询一张表来确定是否打开了数据库。2、ORACLE的空表示为null,如果要判断为空,要使用is null,删除为空的记录
    delect from where name is null;空格与null是不同的,空格表示有一个实在的字符,空表示什么都没有。所以删除空格
    与可以使用=来判断。而null则不行。在插入数据时,两个紧挨的引号值实际表示插入空值,当然也可使用null关键字。
    insert into user(id,name) values(1,'');等价于
    insert into user(id,name) values(1,null);
      

  2.   

    数据库的启动状态分为
    1 nomount
    2 mount
    3 open
    通过sys连接,可以在数据库任意状态连接