打赏

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.删除基本表

      	`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
posted @ 2018-04-22 20:46  idoe  阅读(154)  评论(0编辑  收藏  举报