oracle sql基础学习,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首先按照第一个排序规则进行排序,如果第一个排序规则无法区分两条记录的顺序,则按照第二个排序规则进行排序,如果第二个排序规则无法区分两条记录的顺序,则按照第三个排序规则进行排序,以此类推。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle SQL语句学习可以分为几个分类:DML、DDL、DCL和TCL。DML包括select、delete、update和insert语句,用于对数据进行操作。DDL包括create table、truncate、drop和alter table语句,用于定义和管理数据库对象。DCL包括grant和revoke语句,用于数据库控制。TCL包括commit和rollback语句,用于事务控制。\[2\] 在编写SQL SELECT语句时,可以使用以下格式:SELECT *|{\[DISTINCT\] column|expression \[alias\],...} FROM table; 可以使用DISTINCT关键字去除重复行,使用alias给列或表达式起别名。可以使用比较条件关系符(如=、<>、>、<、>=、<=、!=、^=)来限制数据。还可以使用其他比较条件关系符,如between and、in(set)、like和is null。\[2\] 在编写SQL语句时,要注意字母大小写、是否添加注释等细微差别会导致语句具有不同的散列值,从而导致Oracle对语句进行硬解析。为了提高性能,应该使用绑定变量而不是常量。使用绑定变量时,即使改变了绑定变量的值,Oracle仍然可以共享这个语句,提高了查询的效率。\[3\] #### 引用[.reference_title] - *1* *3* [Oracle SQL学习](https://blog.csdn.net/xhw979850818/article/details/88142059)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Oracle-SQL学习](https://blog.csdn.net/gundongdexueqiu/article/details/7055885)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值