SQL_sql语言的学习

关系数据库SQL

sql基本功能

SQLde 基本概念

  • 主要知识点

    1.外模式包含若干视图和部分基本表
    2.模式包含若干基本表
    3.内模式包含若干存储文件
    4操作对象

    基本表:本身独立存在的表,一个关系就对应一个基本表

    视图:数据库中只存放视图的定义,不存放视图对应的数据

    CREATE VIEW view_name AS
    SELECT column_name(s)
    FROM table_name
    WHERE condition

    索引:

    CREATE INDEX indexName ON mytable(username(length));

    5.定义模式

    `create schema<模式名> authorization<用户名>`

    6.删除模式:

    drop schema<模式名> <cascade|restric>
    cascade:级联,表示在删除模式的同时把该模式中所有的数据库对象全部删除;
    restrict:限制,表示该模式中已经定义了下属的数据库对象(如表,视图),则拒绝该删除语句的执行

    7.基本表的定义,删除与修改
    1.创建了一个模式就建立了一个数据库的命名空间每一个框架,在这个框架中首先要定义的是该模式包含的数据库基本表
    建表:

        Create table Student(
        Sno char(9) primary key,
        Sname char(20) unique,
        Ssex char(2)),
        Foreign key(sno) reference SC(Sno), --注意表级约束条件与行级约束条件

    2.修改基本表

    Alter table <表名>  
    [add [column]<新列名><数据类型>  
    [drop [column]<列名><cascade|restric>

    3.删除基本表

    扫描二维码关注公众号,回复: 44079 查看本文章
        `Drop table <表名>[cascade|restric]`

    欲删除的基本表不能被其他表的约束所引用

    8.数据查询

    select select_list
    [into new_table_name]
    from table_source
    [where search_conditions]
    [group by group_by_expression]
    [having search_conditions]
    [order by order_expression [ASC|DESC]]

    9.字符匹配
    %:代表任意长度 a%b
    (下划线)代表单个字符 a_b 如果本身就存在 要用_代替
    如果like后面的匹配符中不含通配符,则可以用=

    10.Order by:对查找结果按照一个或多个属性列的升序或降序排列

    11.聚集函数
    count(*):统计元组的个数
    count(<列名>):统计一列中值得个数
    sum,avg,max,min 当聚集函数遇到空值时,都跳过非空值,而只处理空值
    where字句不能用聚集函数作为条件表达式

    12.group by :将查询结果按某一列或多列的值分组,值相等的为一组

    13.where 与having 的不同在于作用对象的不同

    14.连接查询包括

        等值连接查询:
        非等值连接查询:     嵌套循环连接算法的基本思想
            where S.sno = SC.sno
        自然连接查询:在等值连接中把目标列中重复的属性列去掉则为自然连接
        自身连接查询:查询每一门课的间接先修课
        外连接查询 :把悬浮元组保存在结果关系中
        复合条件查询:

    15.嵌套查询:
    子查询的Select 语句不能使用order by 语句,order by 只能对结果排序
    16.不相关子查询:In
    相关子查询(依赖于父层查询的某个属性值):Exists:带有exists谓词的子查询不返回任何结果,只产生逻辑真值

    17.集合操作:

    并操作:union  
    交操作:intersect  
    差操作:except  

    18.基于派生表的查询:即将子查询放在from字句中 必须为派生表指定别名

    数据更新

    1.插入数据
    2.修改数据:

    Update Student 
    set sage = 22,
    where sno =  '1213223'  

    3删除数据

    delect from 表名 where <条件>

    数据库系统概论

    4/22/2018 8:40:36 PM

猜你喜欢

转载自www.cnblogs.com/zwz178/p/8909389.html