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>在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是空是不是一定要 '空格',这样表示呢?而''没有空格是不可以的呢?谢谢
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);
1 nomount
2 mount
3 open
通过sys连接,可以在数据库任意状态连接