对于一名程序员而言 , 数据库是最基本的知识之一 , 但是很多开发者对于数据库的了解仅限于使用上面 , 对于其内部的很多定义和知识 , 并不是十分清楚 , 那么 , 我们就来看一看数据库的一些相关知识吧 。
一、SQL标准有几个版本
SQL(Structure Query Language)结构化查询语言是数据库的核心语言 , 所有的结构化数据库都离不开SQL语言的帮助 , 从诞生到现在 , SQL标准发生了一系列变化 。 其历史沿革如下 。
1986年 , ANSI X3.135-1986 , ISO/IEC 9075:1986 , SQL-86
1989年 , ANSI X3.135-1989 , ISO/IEC 9075:1989 , SQL-89
1992年 , ANSI X3.135-1992 , ISO/IEC 9075:1992 , SQL-92(SQL2)
1999年 , ISO/IEC 9075:1999 , SQL:1999(SQL3)
2003年 , ISO/IEC 9075:2003 , SQL:2003
2008年 , ISO/IEC 9075:2008 , SQL:2008
2011年 , ISO/IEC 9075:2011 , SQL:2011
2016年ISO又对SQL标准做了补充修订 。
二、Catalog和Schema的区别是什么
很多人建了数据库之后 , 就只对表进行操作 , 对于数据库的一些结构一知半解 , 尤其是很多人其实不明白Schema到底是个啥意思 。 下面我们具体来看一看 。
Catalog直译为产品目录或编目 , 包含所有数据库自有的Schema和用户自建的Schema 。
Schema直译为模式 , 可以理解为表空间 , 所有的数据库对象(表、视图、字段等)都包含在Schema里 。
所以对于一个很容易重名的字段 , 例如用户ID , 他的完全限定名称就是catalog名.schema名.表名.用户ID 。 这样就保证了命名不会冲突 。
在SQL标准的规定里面 , Catalog包含Schema , 还包含外部服务器信息、和外部数据封装信息 。 而实际上各大关系数据库厂商并没有严格按照标准来执行 , 而且相互之间有很大差异 。
例如:
在MySQL里面 , 用server instance来取代catalog , 作为数据库的集合 。 而database==schema==catalog , 作为数据表空间 。
在Oracle里面 , server instance== database ==catalog , 而Schema则是数据库里的表空间 , 与用户账户相关联 。
在Postgresql里面 , Server instance == db cluster是一系列数据库的集合 , database==catalog , 是db cluster中的一个独立数据库 , schema则是database中的一个命名空间 , 可以让用户与其它用户的数据区别开来 。 在Postgresql里 , 对一个对象的完全限定是通过database.schema.object来实现的 。
三、SQL语言包括几个类型
【数据库|作为一名程序员,你真的了解SQL吗?】SQL语言大家都会写 , 但是其中分成几个部分 , 可能很多人就不是很清楚了 。 尤其是指针控制指令 , 可能一些人在自己的程序员生涯中压根就没接触下 。 下面我们具体来看一看SQL语言包括的几个类型吧 。
1、数据查询语言(DQL: Data Query Language):例如select <字段> from <表> where <条件>
2、数据操纵语言(DML:Data Manipulation Language):例如Insert、Update、Delete
3、事务处理语言(DPL:Transaction Processing Language):例如BEGIN TRANSACTION、COMMIT和ROLLBACK
4、数据控制语言(DCL:Data Control Language):例如Grant、Revoke
5、数据定义语言(DDL:Data Definition Language):例如Create、Drop
6、指针控制语言(Cursor Control Language CCL):例如DECLARE CURSOR、FETCH INTO和UPDATE WHERE CURRENT
四、SQL语言中有几种数据类型
数据类型大家都很清楚 , 但是在标准定义中的数据类型 , 尤其是Interval类型 , 可能很多人就不了解了 。
SQL语言中包含三大类数据类型:预定义数据类型、构造数据类型和自定义数据类型 。
- 作为联想旗下主打办公系列的主力军|ThinkFamily将从三项升级助力中小企业全场景加速
- 作为大家使用频率最高的App|微信8.0.22正式版更新,朋友圈“转发”功能被移除
- 数据库|五月还有不下于五款新机要来,热闹之余,建议提前考虑!
- 数据库|特别有用的SQL优化小技巧,了解之后程序性能大为提升
- 数据库|宋清辉:“逆流”的互联网人 人才流动背后的“脱虚向实”
- 数据库|赶上公司裁员,我们应该怎么做,才能避免公司给你挖的那些坑?
- 作为硬盘领域的老牌企业|东芝硬盘55岁生日快乐
- 作为史上最强的S系列旗舰|史上最强s系列旗舰vivos15pro发布,售价3399元起
- 作为最知名的几种清洁能源之一|澳大利亚新南威尔士大学研究出太阳能发电技术
- 热搜第一!“国货之光”蜂花董事长含泪直播?公司辟谣了;库存被作为防疫物资发放