oracle数据库基础知识
一、关于安装1.1 数据库管理组件: net configuration assistant 配置监听程序 二、理论知识
定义要在数据库中存储哪些信息 对数据中表进行操作 对数据库中对象进行权限管理的数据控制语言 (1)主键约束 主键约束每个表只能有一个,可以由一列或多列组成,多列组成的成为复合主键。 主键约束保证本列值唯一且非空 (2)外键约束 又称为参照约束,即本表某列参照其他表某列。被参照的列不可以被删除。 一般使用逻辑外键,而非物理外键。 (3)唯一约束 约束本列值不可以重复,值可以为空。一个表中可以由多个列设置唯一约束。 一般认为唯一约束耗费性能,即插入时,数据库需要检索本列是否有此值。 (4)检查约束 检查约束指定列的值取值范围,或者长度等等。 check(length(phone)=11); check(quantity>0 and quantity<25) (5)非空约束 约束此列不可以有控制。一般经常使用。 2.3 数据类型 (1)字符型 varchar2 0-4000字节,char 0-2000字节 (2)数字型 number(p,s) p代表精度,s代表保留的小数位,用来存储定长的整数和小数 float 浮点型 二进制 (3)日期类型 date 存储日期和时间,从公元前4712年到9999年,精确到秒 timestamp 存储日期和时间,比date更精确,可以精确到小数秒,还能显示上午还是下午 (4)其他数据类型 blob 存储二进制数据 最大4G 2.2 select 查询 (1) select 字段一般不建议用*模糊查询,主要原因如下: 查询具体字段比*效率高 返回必要的字段减少网络消耗 表中增加新字段时容易导致原来的程序出现异常 (2) order排序时如果列有null值,默认会看成最大值,即升序时null值在最后,降序时在首位。 也可以指定null值位置:降序时指定null值排在order by 字段 desc nulls last,或者asc nulls first; (3) 使用表达式操作查询字段 使用符号 || 表示连接,类似java中的+号 例: select price || '*' || 1.25 || '=' || price*1.25 结果为 58.2*1.25=72.25 (4) 使用函数操作查询字段 例 select subStr(priceName,1,6) as new priceName 即显示第1到6位字符,此处是从1开始 (5) 排序条件 order by关键字出现在最后,order by可以跟字段名,字段别名,表达式,字段所处位置 select price as price1,num from product order by price1 order by 2代表根据num排序 order by price*num 根据两列乘积排序 (6) 多条件排序 多条件排序会先根据第一个条件排序,如果第一个条件中有相同数据,则根据第二条件排序。 order by price asc,num desc (7) where子句设置查询条件 where后可跟关系操作符、比较操作符、逻辑操作符 关系操作符:<,<=,>,>=,=,!=,<> 比较操作符:is null,like between and,in 逻辑操作符:and,or,not between and 是闭区间,包含开始和结束 例: where price between 1000 and 7000 (8) 连接查询 最简单的连接查询是逗号将from后面的表名隔开,结果将取笛卡尔积,A表7条数据,B表8条数据,连接后结果为56条。 在上面sql加入where条件或on条件,可以对结果集进行过滤,例: select * from emp e,salgrade s select * from emp e salgrade s where e.sal between s.losal and s.hisal 等值条件的,可以使用A表的某列等于B表某列,如on a.id = b.sid (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |