多少个SQL小知识

写在眼前的话:在此以前做的叁个品类,数据库及系统完全构架设计到位之后,和兄弟们通过
一段时间的编码,系统如期上线,刚开端运转1切美好,后来乘机数据量的霸气膨胀,稳步出现了比比皆是不叁不4的问题,经过调试,修改了数据库中多少个存款和储蓄进程的
1些题目。有意思的是,有三个储存进程里,为了贯彻2个小的效果,写了不少居多的代码,又是游标又是循环的,其实用系统的2个默许函数就能化解掉。那里想
说的是,学习工作之余,在未曾要消除难点的压力之下,依旧建议系统的看看书,对于部分以为没啥用的知识点,也提出去仔细的看看,练练手,说不定什么日期就用到了,到时也好有针对的去查,不至于盲指标根据本身的思绪,重复的开创一些不算的缓解方式。

1.设置极度傻瓜,一路next就足以做到安装,安装默许的orcl数据库

利用sql数据库的源码http://www.jinhusns.com/Products/Download/?type=xcj

 

======正文初叶===========

2.登录http://127.0.0.1:5500/em(版本十.二的地址为:http://127.0.0.1:1158/em),用户名:system
密码:使用安装时设定的密码,首先创设表空间,作者那里运用lms,然后创造用户,用户名也起名称叫lms,密码设为一,暗许表空间应用刚才建立的lms,一时表空间应用temp,角色添加上dba的权柄

1.[]的使用

 

  当大家所要查的表是系统主要字如故表名中蕴藏空格时,须要用[]括起来,例如新建了多少个表,分别为user,user
info,那么select * from user和select * from user
info就要报错,须要写成:select * from [user] 和 select * from [user
info],只是千万不要因为有[]的帮衬,就随心所欲起名了,那是作茧自缚麻烦,可是作者确实看到有人把用户表起名字为user的。

三.备份数据库,dos命令行:exp lms/1@orcl
file=d:\sysuser.dmp owner=(lms)

2.NULLIF函数

 

  NULLIF(Expression1,Expression二):给定两个参数Expression一和Expression贰,如若三个参数相等,则赶回NULL;否则就回到第1个参数。

  还原数据库,dos命令行:imp lms/1@orcl
file=d:\sysuser.dmp fromuser=(lms) ignore=y

  等价于:Case WHEN Expression1=Expression2 Then NULL ELSE
Expression1。

 

  例如Select NULLIF(1,1)返回NULL,Select NULLIF(1,2)返回1。

  lms是指用户名,1是指密码,orcl是指数据库,file是指要备份的岗位

  有三个事实上的应用,例如提防除0操作的放生,能够利用a/NULLIF(b,0),那样就不怕b是0了,当然除0操作也足以通过其余方法判断。

 

3.NULL

4.安装以后会占有8080端口,那一个会跟开发时web服务器抵触,进SQL
Plus,以DBA身份进入,执行

  NULL是个神奇的东西,表示空值,未知值,任何数与它加减乘除都回来NULL。

call
dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),’/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()’,
8081))

4.ISNULL函数

把8080端口改为80八1

  ISNULL(Expression一,Expression二):给定三个参数Expression一和Expression二,假使Expression1是NULL,那么再次来到Expression2,不然重临Expression1。

5.创制表空间,用户

  等价于:Case WHEN Expression1 is NULL Then Expression2 ELSE
Expression1。

创造表空间 HZ
CREATE SMALLFILE TABLESPACE “HZ” DATAFILE
‘C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\hz’ SIZE 500M AUTOEXTEND ON
NEXT 100M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT
SPACE MANAGEMENT AUTO

  例如Select ISNULL(NULL,1)返回1,Select ISNULL(1,2)返回1。

 

  有三个其实的选拔,能够对空值进行私下认可值替代,例如SELECT
ISNULL(email,’未有填写email’) from
table一,全体email为null的,用’未有填写email’来替代。

创建用户 HZ
CREATE USER “HZ” PROFILE “DEFAULT” IDENTIFIED BY “*******”
DEFAULT TABLESPACE “HZ” TEMPORARY TABLESPACE “TEMP” ACCOUNT UNLOCK
GRANT “CONNECT” TO “HZ”
GRANT “DBA” TO “HZ”

 5.COALESCE函数

  COALESCE(Expression一,Expression二,Expression3,……):接受一类别的表达式或列,重返第叁个非空的值。

      例如SELECT
COALESCE(NULL,NULL,肆,NULL,NULL,伍),那么重临4,如果中间的参数都为NULL,那么会报错。

6.WITH TIES

  与top()和order by 1起用,能够重返多于top的行。幸免丢失想要的新闻。

  例如:有个表table1

(1)select * from table一 order by name desc :结果如下:

图片 1

(2)select top(3) * from table一 order by name
desc:结果如下:(只有叁条)

图片 2

(3)select top(3) with ties * from table一 order by name
desc:结果如下:

图片 3

7.OQX56DE驭胜 BY NEWID():重临随机排序结果。

8.BETWEEN a AND
b:返回当先等于a,小于等于b的结果。假如a>b,那么返回NULL。

玖.不要在where条件中选用函数,会强制每1行都持筹握算该函数,不能利用索引查找。

  例如:select * from table1 where id+3>5和select * from table一where id>5-三,后者功用比前者高。

10.许多以_desc结尾的列,是为着更友善的代表三个列的意义。

  例如:SELECT * FROM sys.databases

图片 4

11.推荐二个小插件,SQL
Prompt,合作Microsoft SQL Server Management
Studio,使用起来拾叁分有利于,同时再添加以下多少个快捷键:

  (①)ctrl+5或F5,运营代码,假如想运营特定的语句,那么只是选中该语句,然后F伍或ctrl+E即可。

  (2)ctrl+L:展现执行布置。

  (叁)ctrl+福特Explorer:呈现隐藏下边包车型地铁结果窗口,增大自个儿书写sql的空间。

  (4)ctrl+K,然后按Y,格式化SQL代码。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图