一:NULL
NULL不代表0,也不代表空格.
NULL表示未知,无意义.
一个数+NULL结果还是NULL. 比如 1+NULL还是NULL.
二: PLSQL注释 1. -- 2. /**/
三: 列别名
1. 若列的别名中含有空格,则用双引号括起来,不能使用单引号。比如列别名可以是 "xiatian", "xia tian"
2. 别名不能使用单引号括起来.
3. 别名可以不加双引号.
四:约束
Oracle中的约束包含主键约束、唯一约束、外键约束、条件约束、非空约束
五: 若数据库日志满了,则只能执行查询等读操作,不能执行更改、备份等写操作。因为任何写操作都要记录日志。因此,基本上处于不能使用的状态。
五: 数据操纵语言(DML,Data Manipulation Language):包括INSERT、UPDATE和DELETE,它们分别用于添加、修改和删除表中的行。
事务处理语言(TCL,Transaction Control Language):其语句能确保被DML语句影响的表的所有行及时得以更新,包括BEGIN TRANSACTION、COMMIT和ROLLBACK。
数据控制语言(DCL,Data Control Language):其语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。CREATE、DROP、ALTER属于数据定义语言。
六: oracle文件.
Oracle实例启动和关闭的信息记载到告警文件中.
后台跟踪文件记录的是数据库后台进程信息.
服务器进程跟踪文件记录的是用户的进程信息.
参数文件记录的是数据库的参数.
七: 从客户端通过SQL*Plus登陆Oracle某个特定用户,必须要提供的信息用户名、口令、本地服务名。 SQL*Plus连接Oracle服务器的命令形如sqlplus user/password@tns_name。
八: sid: system IDentifier, oracle_sid:oracle system IDentifier. 在oracle系统中,oracle_sid以环境变量的形式出现,当oracle实例启动时,在操作系统上fork的进程就依据这个oracle_sid来创建,这就是sid的作用.
实例(instance):共享内存区域(SGA)+后台进程(background process). 后台进程是数据库和操作系统进行交互的通道.
db_name代表了实例即将挂接的数据库名称,关系到具体的物理文件.
告警日志文件是一类特殊的跟踪文件(trace file)。告警日志文件命名一般为alert_<SID>.log,其中SID为ORACLE数据库实例名称。数据库告警日志是按时间顺序记录message和错误信息。 从告警日志文件的名称命名来看,告警日志文件记录的日志一般跟oracle数据库实例信息有关
九: 常见的sql语句: select , update, insert, delete, truncate, alter等 。 DESC是SQL*Plus命令,不属于SQL语句。
十: SQL语句大小写不敏感,最后以分号结尾,可以书写多行。SQL缩进可以提高可读性。
十一: 主键的值是唯一且非空的。 唯一键
十二:
restrict: 确保只有不存在相关视图和 完整性约束的表才能删除
cascade: 任何相关视图和完整性约束一并被删除
十三: plsql的命令窗口中,可以使用exec,call调用存储过程。但,存储过程由DBMS持久地存储,所以能够使用各种SQL接口和程序设计进行调用。"CALL"是SQL标准中用来调用存储过程的。
十四:事物一旦提交成功,其对数据修改是持久性的。数据更新的结果已经从内存转存到外部存储器中。此后即使发生了系统故障,已提交事物所做的数据更新也不会丢失。