Tecnologia de banco de dados-SQL (introdução às operações SQL comumente usadas: consulta, definição, atualização)

Linguagem de Consulta Estruturada SQL

  • Características :

    • Integrado

      • A linguagem de definição de dados DDL, a linguagem de manipulação de dados DML, a linguagem de controle de dados DCL estão todas em uma
      • Pode concluir todas as atividades do banco de dados independentemente
    • Altamente não processado

      • Sugira apenas o que fazer, sem necessidade de entender o caminho de acesso
    • Operação orientada a conjunto

      • Uma vez inseridos, excluídos e atualizados, os objetos são uma coleção de tuplas
    • Várias formas de uso

      • SQL interativo
        • Digite diretamente comandos SQL para operar
        • Existe um DBMS para explicar
      • SQL incorporado
        • Incorporar instruções SQL em linguagens de alto nível
        • Permite que os aplicativos utilizem totalmente a capacidade do SQL de acessar o banco de dados e os recursos de processo da linguagem host
        • Geralmente requer pré-compilação para converter instruções SQL incorporadas em instruções que o compilador da linguagem host pode manipular
  • Função principal

    • Definição de dados: excluir, modificar tabelas básicas, visualizações, índices
    • Manipulação de dados: adicione, exclua, verifique e modifique dados
    • Controle de dados: permissão concedida, retirada
      Insira a descrição da imagem aqui
  • Arquitetura
    Insira a descrição da imagem aqui

    • Tabela básica :
      • Uma tabela que existe por si só, um relacionamento corresponde a uma tabela básica
      • Uma ou mais tabelas básicas correspondem a um arquivo de armazenamento
      • Uma tabela pode ter vários índices
    • Armazenar arquivo :
      • A estrutura interna do banco de dados relacional pela estrutura lógica
      • A estrutura física é arbitrária e transparente
    • Ver :
      • Tabela derivada de uma ou várias tabelas básicas
      • O banco de dados armazena apenas a definição da visualização e não armazena os dados da visualização
      • A vista é uma tabela virtual, o usuário pode definir a vista na vista
  • Operação SQL

    • Consulta de dados
      • Consulta de tabela única
select 指定列 from 表名
select 指定列 别名, 指定列2 别名2 ... from student          #这里的指定列的别名用来更改查出来的值的列名
select distinct 列名 from 表名                              #distinct 是指去掉表中重复的行
select 列名 from 表名 where 条件表达式                       #这里条件表达式有 >= <= =  != AND,OR,NOT,LIKE,IN,BETWEEN AND ......
select 列名 from 表名 where 列名 LIKE 'DB\_%i__' ESCAPE '\\' #这里LIKE为比较,%为通配符,ESCAPE '\\' 为换码字符,即转义字符,从查询以DB_ 开头且以 倒数第三个字母为i的字母的行
select 列名 from 表名 where 条件表达式 order by 列名 desc(asc)#指定列升序或者降序排列
#聚集函数:COUNT(),SUM(),AVG(),MAX(),MIN()等
select MAX(属性名) from 表名 where 条件表达式
#GROUP BY 对查询结果进行分组
select 列名 from 表名 group by 列名 having 条件             #对分组进行条件筛选
  • Consulta de coleção (UNION, INTERSECT, EXCEPT)
select * fromwhere xxx UNION select * fromwhere xxx         #UNION 将多个查询结果合并起来 相当于OR
select * fromwhere xxx INTERSECT select * fromwhere xxx     #INTERSECT将多个查询结果合并起来  相当于AND 
select * fromwhere xxx EXCEPT select * fromwhere xxx        #EXCEPT 差,前者所查询的结果-后者查询到的结果
  • Consulta de associação (consulta de várias tabelas)
#表名1.列名 比较运算符  表名2.列名
select1.,2.from1,表2 where 条件
  • Consulta aninhada

    • select-from-where é um bloco de consulta, aninhando um bloco de consulta em outro local chamado aninhamento de loop
    • select * from 表 where (select * from 表 where xx)
    • Subconsulta irrelevante: a condição de consulta da subconsulta não depende da consulta pai
    • Subconsultas relacionadas: A condição da subconsulta depende da consulta pai
    • Subconsulta com IN
    • select * from 表 where 列 IN ( select 列 from 表 where xx)
    • Subconsulta com operador de comparação
      • Quando você souber exatamente o que a consulta interna retorna como um valor único, poderá usar o operador de comparação> <> =…
    • Subconsulta com QUALQUER ou TODAS
      • Maior que QUALQUER maior que um determinado valor
      • Maior que TODO maior que qualquer valor
    • select 列 from 表名 where 列 > ANY( select * from 表 ...)
    • Subconsulta com EXISTS
    • select * from 表 where EXIST (select * from 表 where xx)
  • Definição de dados
    Insira a descrição da imagem aqui

    • Definição de modo
      • create schema 模式名 authorization 用户名 #为用户名定义一个模式,可以没有模式名,模式名默认为用户名
      • drop schema 模式名 <cascade / restrict> #cascade 级联,删除模式的同时把该模式所有数据都删除,restrict 如果定义了下属的数据库对象,则拒绝删除语句的执行。
    • Definição da tabela básica
      • Tipo de dados
        Insira a descrição da imagem aqui
      • create table 表名 (列名 数据类型 约束条件,...)
      • alter table 表名 ADD/DROP/ALTER 列名 ...
      • drop table 表名 restrict/cascade #删除表,restrict 有限值的删除,如果存在依赖该表的对象,则不进行删除,cascade 强制删除
    • Definição do índice : para acelerar a consulta
      • create unique/cluster index 索引名 on 表名(列名...) #cluster聚簇索引,一个基本表最多建立一个,unique 为唯一索引
      • drop index 索引名
  • Atualização de dados

    • Inserir dados
    • insert into 表名 (属性列1,属性列2...) values (常量1,常量2...)
    • Modificar dados
    • update 表名 set 列名 = 表达式,... where 条件表达式
    • Excluir dados
    • delete from 表名 where 条件表达式
  • Ver

    • Funcionalidades
      • Tabela derivada de uma ou mais tabelas básicas
      • Armazene apenas a definição da visualização, não os dados correspondentes à visualização
    • Definir a visualização
    • create view 视图名 列名1,列名2... as 子查询 with check option #自动检查属性是否为IS
    • Excluir visualização
    • drop view 视图名
    • Vista de consulta
    • select 属性列 from 视图名 where 条件
    • Atualizar visualização
    • update 视图名 set 属性列 = 值 ... where 条件表达式e

End

Publicado 46 artigos originais · elogiou 75 · 50.000+ visualizações

Acho que você gosta

Origin blog.csdn.net/UNIONDONG/article/details/105247630
Recomendado
Clasificación