zoukankan      html  css  js  c++  java
  • 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
    当你在凝视深渊时,深渊也在凝视你。
  • 相关阅读:
    mongoDB的常用语法
    Linux系统清除缓存
    110:类视图讲解
    109:大型CSV文件的处理方式
    108:生成和下载csv文件
    107:JsonResponse用法详解
    106:HttpResponse对象讲解
    104~105:HttpRequest对象讲解和QueryDict的用法讲解
    103:重定向详解
    102:限制请求method装饰器
  • 原文地址:https://www.cnblogs.com/zwz178/p/8909389.html
Copyright © 2011-2022 走看看