数据库笔记(接口和SQL语句)

一、接口

            A、查询语言

                        形式化查询语言、表格式查询语言、图形化查询语言、受限的自然语言查询

                        关系查询语言基础:关系代数、关系演算

                        SQL(结构化查询语言、标准查询语言)

                            1、数据定义语言        DDL     定义删除维护数据模式,例如表的创建删除灯

                            2、查询语言               QL       查找数据

                            3、数据操纵语言        DML    插入、删除、更新

                            4、数据控制语言        DCL     控制访问权限    

            B、接口和访问工具(GUI)

            C、APIs    解决在应用程序中访问数据库

            D、类库

二、几个重要术语和概念 

            基表:实实在在的存在硬盘的

            视图:通过映射和计算得到的虚表

            数据类型:具体数据库内有所区别

            NULL(空值)

            UNIQUE:说明某一个属性是否允许重复值

            DEFAULT:为某一个属性指定缺省值

            CHECK:可以定义约束条件

三、基本查询语句

                A、SELECT    [DISTINCT]target-list(要查询的目标)    FROM    relation-list(查询要涉及的表)    WHRER    查询结果应该满足的条件

                执行过程:1、做from语句中表的笛卡尔乘积

                                 2、利用where语句中的条件做筛选

                                 3、根据target-list做投影,如果加了DISTINCT,剔除重复元组

                注意:一般使用别名

                B、SELECT S.age,age1=S.age-5,2*S.age AS age2   FROM Sailors S WHERE S,sname like 'B_%B'

                        _表示匹配一个字符,%表示匹配0到多个字符

                UNION 并

                INTERSECT 交(满足并兼容条件)

                IN 可以嵌套

                查询只有一个水手定的船:SELECT bid FROM Reservers R1 WHERE bid NOT IN(SELECT bid FROM Reserver R2 WHERE R1.sid不等于R2.sid)   

              C、聚合操作

                    COUNT、AVG、SUM、MAX、MIN  

                    SELECT COUNT(*) FROM Sailors S    计算S中的元组数

                    SELECT COUNT(DISTINCT S.rating)FROM Sailors S WHERE S.sname = 'Bob'    计算S中Bob个数

               D、SELECT    [DISTINCT]target-list(要查询的目标)    FROM    relation-list(查询要涉及的表)    WHRER  qualification    GROUP BY grouping-list    HAVING group-qualification      

                    HAVING 语句中的属性在每个GROUP中唯一,只能通过语法判断,不能通过语意,即HAVING和SELECT中的属性是GROUP BY的子集。

                    聚集函数运算不能嵌套

                E、NULL

四、新特性

                A、CAST表达式

                        CAST(Expression(NULL)    AS    Data type)

                B、CASE表达式

            C、sub-query       

                    Scalar sub-query:标量子查询,查询结果为一个值        凡是出现value的地方均可以使用子表达式

                    Table expression:表表达式,查询结果是一个表

                   Common table expression :公共表表达式 ,一类表表达式不止出现一次 WITH语句用于定义公共表表达式  

              D、外连接           

                        加ALL不处理重复元组      

            E、Recursion(递归查询)

五、数据操纵语句

            Insert    INSERT INTO EMPLOYEES VALUES(X,X,X);   

            Delete    DELETE FROM  EMPLOYEES    WHERE ---- 

            Update    UPDATE EMPLOYEES    SET 属性=xxx    WHERE 属性 =xxx;     

            View(视图):General view        CREATE VIEW 视图名字 AS    查询语句    

                                                该视图可以当成一张表来使用,视图定义在数据库中        

                                                视图中的属性可以唯一映射会基表这可以修改

六、解决程序语言和SQL语言的兼容

            1、Embedded  SQL (嵌入式SQL)   2、API    3、Class Library(类库)       

        

你可能感兴趣的:(数据库笔记)