admin管理员组文章数量:1794759
oracle sql基础学习篇《一》
每个RDBMS都基于标准sql走出了属于自己的sql特色。oracle也不例外。现起,我们来学习oracle sql。 学习sql,于开发者,实现优秀的业务逻辑;于管理者,完成数据库的调优。 oracle sql可分: a)select b)DML:update,insert,delete,merge c)DDL:create,alter,drop d)DCL:grant,revoke e)TCL:commit,roolback,savepoint oracle 数据类型共有: 1)整数类型 oracle中没有专门的整数类型,因此,需要使用number(10)来表示整形。 2)数值类型 number(m,n) m:所有有效数字的位数 n:小数点后的位数 3)字符类型 char(m):定长 varchar2(m):变长,max为m 4)日期时间类型 date:日期时间数据 timestamp:时间戳(是具有法律效益的电子凭证) 5)二进制类型 blob:保存视频,图片等 在写sql语句时,建议分行来写,因为RDBMS是根据行号来提示错误信的。而且,也可以提高可读性。在使用主键时,最佳实践是使用逻辑主键而不是业务主键。所以,避免使用联合主键,因为,联合主键基本都是有业务含义的。而且,联合主键也不适合创建外键约束。 外键是关系型数据库的第三维。定义:foreign key (字段名) references 目标表名 (被参照的字段名)。复杂的业务便是通过外键约束来实现的。 修改已有数据表 增加字段:alter table table_name add 字段名 字段类型; 删除字段:alter table table_name drop 字段名; 如果在表之间存在外键关联,对被引用表执行drop table table_name时会报错。必须先删除引用表! 对于一些受限操作,我们可采取新建表来变通我们想要的功能。 上面谈的都是对表的操作。接下来,我们来聊聊对数据的操作。 使用外键约束,所插入的数据必须在被引用表中存在。更新表,set后可多列同时更新,用逗号分隔。加上where子句可过滤所需的行。 delete from table_name where ...,是吃光碗里的饭;drop table...则是吃光碗里的饭还将碗给砸了。 oracle很少涉及到双引号。列别名,就是其中一例。通过双引号,我们可以控制列名的输出格式。 NULL几乎不占存储。如果在null和0选,建议存储null,而非0. 对于_或%打头的字段,模糊查询时须转义。如: like '\\%%' escape '\\' like '\\_%' escape '\\' 聚合函数count使用上的小区别。如: count(*):统计结果集的总条数 count(name):统计结果集中name不为null的记录的总条数 对于order by的多个排序规则,order by首先按照第一个排序规则进行排序,如果第一个排序规则无法区分两条记录的顺序,则按照第二个排序规则进行排序,如果第二个排序规则无法区分两条记录的顺序,则按照第三个排序规则进行排序,以此类推。
版权声明:本文标题:oracle sql基础学习篇《一》 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1687069174a131100.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论