Conhecimento básico de sql (notas) (três)
Notas de estudo pessoais
Contínuo
Conhecimento básico de sql (notas) (1)
Conhecimento básico de sql (notas) (dois)
Artigo Diretório
Parte DDL:
Construir uma mesa:
create table 表名
(
列名 数据类型(长度),
列名 数据类型(长度),
列名 数据类型(长度)
);
comment on table 表名 is '注释内容';
comment on column 表名.列名 is '注释内容';
1. Seleção do nome da tabela: tente refletir a função da tabela, abreviatura da palavra e composição do sublinhado
2. Nomeação do nome da coluna: reflete o conteúdo dos dados da coluna, abreviatura da palavra e composição do sublinhado
3. Tanto as tabelas quanto as colunas precisam ter comentários;
4. Valores padrão e verificação de não vazio:
create table 表名
(
列名 数据类型(长度) default 0,
列名 数据类型(长度) defualt sys_guid(),--32位
列名 数据类型(长度) not null
);
Nova linha:
alter table 表名 add 列名 数据类型(长度);--加一列
alter table 表名 add (列名 数据类型(长度), 列名 数据类型(长度),列名 数据类型(长度));
Excluir coluna:
alter table 表名 drop column 列名;--删除一列
alter table 表名 drop(列名1,列名2,列名3);--删除多列
Modificar coluna:
alter table 表名 modify 列名 新的数据类型(新的长度);
1. Ao modificar o tipo de coluna, a coluna deve estar vazia;
2. O comprimento da coluna pode ser expandido, mas o tipo de número não pode ser reduzido, e o tipo de string é reduzido ao comprimento máximo dos dados existentes;
Renomeação de tabela:
alter table 表名 rename to 新表名;
Renomeação de coluna:
alter table 表名 rename column 列名 to 新列名;
Visão
Sintaxe básica:
create or replace view as select 语句;
select pode ser uma consulta de filtragem básica ou uma instrução que usa group by, tendo
1. A função básica da visão: proteger dados;
2. Nem todas as visões podem ser atualizadas;
3. A visão não pode melhorar a eficiência da consulta efeito;
Tabelas temporárias
Sintaxe básica:
create global temporary table
(
列名 数据类型(长度),
列名 数据类型(长度),
列名 数据类型(长度)
) on commit delete rows;--提交删除数据 事务级别
create global temporary table
(
列名 数据类型(长度),
列名 数据类型(长度),
列名 数据类型(长度)
) on preserve delete rows;--关闭窗口删除数据 session级别
Além disso, ao confirmar linhas de preservação, semelhante a em preservar linhas de exclusão, excluir dados no final da sessão
1. A tabela temporária ocupa o espaço de tabela temporário;
create user 用户名 identified by 密码 default tablespace 固定表空间 temporary tablespace 临时表空间;
índice
Conceito de índice: para agilizar a consulta, o mesmo que a página de índice do dicionário
Índice normal
create index 索引名字 on 表名(列名);
1. O nome do índice começa com IND ou IDX;
2. Um índice de coluna única, cada coluna tem apenas um índice de coluna única;
3. O comprimento do nome do índice é limitado a 30;
4. A coluna do índice é selecionada com alta exclusividade (menos duplicação de dados);
5 O índice de cada tabela deve ser mantido dentro de 5, na medida do possível;
Índice único:
create unique index 索引名 on 表名(列名);--要求索引列里的数据唯一(不重复),但可以为空;
Índice composto
create index 索引名 on 表名(列1,列2);
1. A ordem da coluna 1 determina a ordem na qual as condições são escritas;
2. A coluna com alta exclusividade é colocada primeiro;
3. Ao usar um índice composto, a primeira coluna de índice é necessária;
restrição
não vazio:
1. nome da tabela de altere o nome da coluna não nulo;
2. nome da tabela da tabela de altere modifique o nome da coluna nulo; -o valor da coluna modificada pode estar vazio, não que o valor da coluna seja alterado para vazio (atualização)
3. O nome da coluna ao construir a tabela Tipo de dados (comprimento) seguido por not nul;
só:
O valor não pode ser repetido, mas pode estar vazio; um índice exclusivo com o mesmo nome será criado automaticamente
1. alterar o nome da tabela da tabela adicionar o nome da restrição exclusivo (nome da coluna);
2. No final da criação da tabela , um linha única de restrição nome da restrição exclusivo (nome da coluna);
3 Ao construir a tabela, adicione o nome da restrição exclusivo após o tipo de dados do nome da coluna (comprimento);
um exame:
1. alterar o nome da tabela da tabela adicionar a verificação do nome da restrição (verificar o conteúdo);
2. No final da criação da tabela , uma única linha de verificação do nome da restrição (verificar o conteúdo);
3. ao construir a tabela, adicionar a restrição após o tipo de dados do nome da coluna (comprimento) Verificação do nome da restrição (verificar o conteúdo); **
Chave primária:
Diferente da restrição exclusiva, a coluna de índice não pode estar vazia e o valor de corte não pode ser repetido;
sintaxe:
1. alter table 表名 add constraint 约束名 primary key(列名);--索引列不会用来查询
2. create unique index 索引名 on 表名(列名);--索引列是有业务含义的,会经常拿来查询
alter table 表名 add constraint 索引名 primary key(列名) using index 索引名;
Nota:
1. Cada tabela pode ter apenas uma chave primária;
2. A chave primária começa com PK;
3. O on in merge deve ser a chave primária;
Chave estrangeira
Ao inserir dados, insira a tabela principal primeiro e, em seguida, insira a tabela filho;
ao excluir dados, exclua a tabela filho primeiro e, em seguida, exclua a tabela pai; **
Sintaxe básica:
1.alter table 表名 add constraint 约束名 foreign key(列名) references 主表(主表列);
2.alter table 表名 add constraint 约束名 foreign key(列名) references 主表(主表列) on delete cascade;--级联删除,删除父表数据时,同时删除子表数据
3.alter table 表名 add constraint 约束名 foreign key(列名) references 主表(主表列) on delete set null;--级联置空, 删除父表数据时,子表外键列对应的行数据置空
Nota:
1. A chave estrangeira começa com FK;
2. A coluna da tabela principal da tabela principal dependente deve ser a chave primária ou ter uma restrição única;
3. Como o uso de chaves estrangeiras é complicado, raramente é usado agora;