Escritas de um programador de Brisbane, de um advogado futuro, de um historiador afiado e de um surfista de correia fotorreceptora ávido

Terabell - tecnologia, lei, programação e um riso

Outubro ö, 2007 no 2:57 pm

As nove palavras-chaves as mais importantes superiores do SQL; O que significa e como o usar

O email, taxa, marca um endereço da Internet este

 Após a contribuição aos milhares de pedidos para a ajuda de programação em linha e pessoalmente eu tenho muitas teorias e idéias sobre como os povos devem aprender a programação e como devem considerar os problemas que se encontram dentro.  Este borne é o primeiro de muitos que olharão em problemas geralmente pedidos e dão pontas que se lido deve resolver alguma deles. 

Muita de minha experiência centra-se em torno das bases de dados do SQL e como tal é uma das áreas onde eu penso os povos devem compreender as idéias centrais antes que comecem a fazer perguntas de outro. Conceptual, há dez palavras-chaves principais em todas as variações da língua do SQL que são usadas para criar alteram e destroem tabelas e bases de dados; e à entrada, modifique e remova dados daquelas tabelas.

Você está somente pronto para progredir com seu SQL se você pode ler este artigo inteiro e poder identificar as palavras abaixo, para escrever mais do que é escrito, explique o que significam e os use em sua base de dados da escolha sem referência a outras fontes.  (a maioria de meus exemplos serão ANSI visado SQL ou mySQL padrão) há muito mais que podem ser lidas nestes tópicos mas está abaixo as necessidades desencapadas necessários para começ perto o.

 

1. CRIE A TABELA

Antes que você possa começar com trabalho com dados, você precisa um recipiente de armazená-lo dentro.  O recipiente em uma base de dados do SQL é chamado uma tabela.  Esta é uma série de fileiras (onde cada artigo dos dados é armazenado) e colunas que são dos vários dados-tipos que são usados para identificar a fileira particular e para conter os dados.  A indicação da CRIAÇÃO permite uma tabela de ser feita, especific todas as réguas sobre o que podem ser contidos na tabela (e como ele pode ser posicionado). 

Porque este é um básico guie; Eu apenas esboçarei um simples crio a indicação e o que os componentes significam;

CRIE o your_table_name da TABELA (um INT NAO NULO, b VARCHAR (20));

Isto criará uma tabela chamada o your_table_name com as duas colunas, que é um inteiro, que não permita nenhuns valores nulos e b que for uma corda que possa conter caráteres até um comprimento de 20.

Nota; há outras opções,

  • você pode ter os argumentos que especific para criar a tabela se já não existe.
  • As tabelas podem ser criadas que são como outras tabelas (que copiam sua definição)
  • As tabelas podem ser criadas usando uma indicação seleta e copiando os dados retornados dela
  • As tabelas provisórias são aquelas que não são escritas ao disco e não são mantidas permanentemente como tabelas sem a palavra-chave provisória, e não são projetadas ser permanentes.
  • Os confinamentes e os comentários podem ser adicionados às colunas e à tabela no conjunto
  • Uma chave preliminar e outros índices podem ser adicionados; limitando a duplicação dos dados e de aumentar seu searchability.
  • As chaves extrangeiras podem ser valores de limitação adicionados a ser introduzidos dependendo dos valores contidos dentro de outras tabelas.
  • Há muitos datatypes diferentes que podem ser usados para prender dados para colunas
  • Os valores de defeito podem ser ajustados para dados.
  • Se uma tabela já existe então você não pode o criar - e um erro pode ocorrer.
  • Algumas bases de dados precisam de especific o proprietário como parte do nome da tabela (IE dbo.your_table_name do dbo por exemplo)

2. ALTERAM A TABELA

Uma vez que uma tabela foi criada, pode tornar-se necessário mudar como os dados podem ser entrados na tabela ou como os dados são armazenados.  Altere a tabela é o mecanismo através de que estas mudanças

ALTERE o your_table_name da TABELA ADICIONAM ColumnName VARCHAR (10) NAO NULOS;
ALTERE A GOTA ColumnName do your_table_name da TABELA;
ALTERE A CHAVE PRELIMINAR da GOTA do your_table_name da TABELA;

Se você está adicionando colunas ou está adicionando coisas à tabela então as mesmas réguas aplicam-se quanto para a crie.  As mesmas opções da declaração podem ser dadas, como com os mesmos tipos e limitações do índice.

Você pode remover-lhes as colunas com referência pelo nome.

Você pode remover os índices e as limitações especific isso na gota.

Algumas coisas à nota:

  • Você não pode normalmente ter duas colunas com o mesmo conhecido (este é relevante para criar e se alterar)
  • Você pode ter problemas remover determinadas colunas se elas área provida por outras chaves extrangeiras
  • Os problemas podem ocorrer quando os índices dependem das colunas pretendidas ser deixado cair.
  • Os índices não podem necessariamente ser adicionados se os dados contidos na tabela não refletem as limitações impor pela mudança.

3. TABELA DA GOTA

Your_table_name da TABELA da GOTA;
TABELA da GOTA SE EXISTE o your_table_name; 

Rejeitar tabelas é tão fácil quanto referindo a tabela que você quer remover e dizer a tabela da gota.  Certifique-se que você para ter permissões a deixar cair a tabela ou não pode ir isso facilmente.  Algumas bases de dados do SQL suportam SE existe o significado da sintaxe que não dará um erro se a tabela não existe e você tenta o remover, mas se existe então está removido.  Similarmente se você está removendo as tabelas que têm dependências em cima deles chaves extrangeiras do IE então não podem ir isso rapidamente.

4. INSERÇÃO EM

Normalmente, o ponto de todas suas habilidades da base de dados do SQL é trabalhar com dados.  Há muitas indicações que permitem a população dos dados, mas o mais de uso geral seria a indicação da inserção.  Isto faz exatamente o que implica, ele introduz fileiras dos dados na tabela.  Há três variações principais.  A primeira variação especific as colunas que os dados estarão introduzidos em, incluindo sua ordem e os outro especific os dados que entrarão naquelas colunas.

INSERÇÃO no your_table_name (first_column_name, another_column_name,…. ) 
VALORES (first_value, second_value,…. )

Um outro método de isolar os dados a ser introduzidos é com referência aos dados contidos dentro da base de dados já.  Isto usa uma indicação seleta normal como definida abaixo:

INSERÇÃO no your_table_name (col_name1, col_name2,…. )  SELETO… 

O método final é usar uma indicação que ajuste o valor de cada coluna que precisa de ser alterado a uns outros valores usando uma atribuição dos iguais.  Eu não recomendaria usar este método.

Coisas à nota:
  • Algumas bases de dados do SQL permitem a inserção de fileiras múltiplas na execução de uma indicação.
  • Introduzir dados é controlada por dependências, verificações e os relacionamentos e se os dados falham estas verificações então erros podem resultar.
  • Certifique-se que os dados estão no tipo definido pelo tipo da coluna.
  • Não todas as colunas precisam necessariamente de ser povoadas
  • Há muitas funções que podem manipular o formulário dos dados.
  • Os dados precisam de estar em um formato que possa ser convertido ao tipo de dados correto - coisas como o ′ do `23 pode ser interpretado diferentemente do que 23
  • As vírgulas invertidas dentro dos dados podem apresentar problemas da inserção e há as funções que podem segurar esta.
  • Valide sempre todos os dados que vierem das fontes untrusted (os usuários do IE)
  • Se os campos do AutoIncrement ou da identidade não são especific então geralmente optarão o valor o mais elevado na tabela e adicionarão um.
  • Anote que as funções da conversão podem igualmente precisar de ser usado se selecionando das colunas em uma base de dados que não são as mesmas que seu destino.
  • As colunas podem ser selecionadas em uma ordem diferente do que parecem na tabela de destino igualmente - não toda a necessidade de ser especific.
  • Os dados podem ser mudados da entrada antes de ser introduzida, usando as funções inerentes no sql para a finalidade.
  • Você pode geralmente usar parâmetros para introduzir valores em tabelas.

5. ACTUALIZAÇÃO

First_column do your_table_name  da ACTUALIZAÇÃO = value1 AJUSTADOS, second_column = value2,….  ONDE criteriaExists

As colunas de dados podem conter a informação que está incorreta ou precisa de ser modificada.  O mecanismo que o SQL lhe dá é a indicação da actualização.  Tipicamente isto envolverá somente modificar os dados em uma tabela, mesmo se outras tabelas são usadas para critérios.  Acima da actualização da vontade a tabela chamada your_table_name e atribui o valor na primeira coluna igual ao “value1” e ao second_column ao value2 onde há uns critérios específicos (elaborados em onde abaixo).  Se não há nenhum critério então cada fileira é actualizado.

Coisas à nota:

  • Os limites podem ser aplicados tão somente um número de fileiras dado são efetuados
  • Outras tabelas podem ser juntadas no onde circunstância
  • Não é geralmente uma boa idéia ao pseudônimo as tabelas na indicação da actualização.
  • O valor não tem que ser fixo e pode referir uma manipulação das colunas ou das constantes atuais ou diferentes.
  • Não todas as colunas precisam de ser efetuadas pela actualização.

6. SUPRESSÃO

SUPRESSÃO do your_table_name ONDE criteriaExists

Remover as fileiras das tabelas é conseguida usando a indicação da supressão.  Isto é tão simples quanto identificando a tabela e os critérios as fileiras devem se encontrar e então especific que você quer suprimir, usando uma indicação similar a acima.  Os critérios são explicados abaixo.

Coisas à nota:
  • Os limites podem ser aplicados especific um número de fileiras máximo a ser removidas
  • As supressões podem ter problemas referir outras fileiras dentro da mesma tabela e como tais tabelas provisórias podem precisar de ser utilizado.
  • As supressões normalmente podem somente efetuar uma tabela de cada vez (mesmo se outra é lig para finalidades dos critérios)
  • O apagamento pode ter problemas se removem as dependências chaves extrangeiras confiaram com em outras tabelas.

 

7. SELETO

 

Uma indicação seleta normal parecerá similar ao seguinte

SELETO   definition_for_First_column como o fc, t1.second_column,….  Do tableName como o T1  ONDE criteria_exists

 

Selecione simplesmente identifys os dados para ser indicado através das colunas.  Anote que isto pode aparecer mais de uma vez em uma pergunta se você tem uma pergunta encaixada (sub a pergunta) como parte de uma definição da coluna (se retorna somente uma coluna e uma fileira) ou como parte do (usando a pergunta como era uma tabela) ou do onde circunstância (usando a para provar ou contestar um jogo dos critérios)

Coisas à nota:

     

  • Frequentemente os erros ocorrem porque não há uma definição de dados entre cada um (à exceção do último)
  • Algumas bases de dados têm um limite 256 ou 1024 da coluna
  • A palavra-chave DISTINTA depois que seleto dará somente fileiras originais (a fileira inteira deve ser original)
  • O GRUPO PERTO no fim da indicação pode efetuar o que pode ser indicado no seleto
  • As colunas não têm que ser das tabelas, elas podem ser constantes
  • As colunas podem igualmente representar a matemática entre constantes
  • As colunas podem ser passadas com as funções
  • Não é boa prática ter colunas múltiplas com o mesmo nome
  • As colunas podem aliased usando uma palavra para dar-lhe um nome depois que um espaço depois que o IE da definição da coluna (tableName.t1 como field1 ou fazendo tablename.t2 xxx) que criaria duas colunas chamadas field1 (ø exemplo) e xxx como o segundo exemplo
  • O tablename não precisa necessariamente de ser usado para endereçar um campo, desde que o nome de campo é original a esse tabela ou subquery
  • Não precisa necessariamente a de ou onde critérios dependendo da base de dados

8. DE

  Do table_name

  DE (subquery)

  Isto é visto normalmente onde uma indicação exige a informação que pertence a uma tabela ou a um jogo de dados.  Em primeiros exemplos você pode somente querer usar este em relação às tabelas dadas, em umas encenações que mais avançadas você pode selecionar de uma pergunta encaixada.  Isto é entre o mais direto - onde basicamente tudo depois que do devem ser uma tabela, vista ou algo que aparecem como uma tabela ou a vista (o IE têm fileiras e colunas)

Coisas à nota:
  • Pode haver tabelas múltiplas ou subqueries no da definição
  • As tabelas ou os subqueries podem ser IE dos nomes dados do table_name porque o T1 significaria que onde o T1 lhe estêve provido proveu essa tabela
  • A mesmo tabela ou subquery podem ser épocas múltiplas incluídas e cada um é tratado independente
  • Tudo alistado como parte do da cláusula impactará a pergunta (mesmo se não é endereçado especificamente) enquanto se está juntando entre cada um destas séries de dados.

9. ONDE

 Ordinariamente você não quer ver cada parte de dados em uma base de dados.  Restringir o que é retornado, baseada em critérios é o ponto inteiro do onde palavra-chave.

Essencialmente onde as indicações leram como seus equivalentes ingleses.  Tais que para cada fileira - a base de dados pede, faz a aplicação deste retorno da indicação verdadeiro, se tão então exposição a fileira - se não não faça.  Você pode ter ou indicações e usar a lógica complexa mas cada onde a indicação ferve abaixo desta simplificação.

Exemplos como:

ONDE  t1.currency = “AUD”
ONDE  t1.field1 > t2.field3
ONDE (t1.field1   t2.field3) = (t2.field2 * t2.field7)
ONDE your_table_name.firstName = “Andrew” ou your_table_name.firstName = “Becky”
ONDE your_table_name. Género = “macho” e your_table_name.age entre 18 e 25

 Se você pode ler estas indicações parecem fazer o sentido.  O primeiro retornará somente os valores que estão em dólares australianos e os segundos mostrarão somente as fileiras onde um campo dado é maior do que outro.  Qualqueras um indicações devem avaliar para rectificar para retornar fileiras. 

Coisas à nota:
  •  Há muitas funções que podem ser usadas para avaliar para rectificar ou falso no onde a circunstância - sinais tais como >/do >= < do <= \! = em () ( ) entre % e muito mais pode ser usado - se você é incerto e são no onde a circunstância a seguir olha acima o que significa, porque a indicação para trabalhar será usado sempre em uma maneira que possa dar um verdadeiro ou um falso depois que são avaliados.
  • Algumas bases de dados juntam-se a tabelas no seu onde as circunstâncias e outro não fazem.
  • É possível ter as indicações que nunca retornarão o IE verdadeiro ONDE 1! = 1 será sempre falso como 1 nunca está indo não ser igual a 1 (o <> do uso de algumas bases de dados para não iguais)
  • As perguntas do submarino podem ser retornadas para verific se um valor particular faz ou não existe dentro dessa pergunta secundária
  • Os erros podem ocorrer se você está tentando comparar os valores que não são do mesmo tipo IE “1” são desiguais a 1 em muitas bases de dados porque o primeiro é o caráter e o segundo é o valor
  • Onde as circunstâncias são avaliadas normalmente usando os suportes do IE de BOMDAS de multiplique a partilha adicionam e subtraem.
  • Onde as indicações podem se usar o capricho que verdadeiro e falso são tratados como os números em algumas bases de dados - IE falso pode = 0 e verdadeiro é todo o outro número
  • A lógica condicional pode ser usada para avaliar circunstâncias - iif do IE, se e indicações de caso

 

Conclusão:

Compreender estas indicações é importante.  Há muitos nuances e subtileza que não foram cobertos por este original introdutório.  Se você quer uns ou vários detalhes examinados em mais profundidade, contate-me por favor e eu escreverei um outro borne que endereço seus interesses.

O SQL era algo que eu diei quando primeiramente aprendendo o, hoje em dia eu penso que seus possibilidades e uso é impressionante.

Se você gostou deste borne por favor comente abaixo, compartilhe d com os amigos ou em redes sociais e subscreva a minha alimentação de RSS


%DIGG%   Subscreva a este blogueSubscreva ao blogue de Terabell através de RSS

Estes ícones lig aos locais marcando um endereço da Internet sociais onde os leitores podem compartilhar e descobrir de Web pages novos.
  • del.icio.us
  • blogmarks
  • Furl
  • SphereIt
  • StumbleUpon
  • Technorati
  • Reddit
  • co.mments
  • NewsVine
  • Slashdot
  • TailRank

Alimentação de Trackback

2007-10-09 17:25: 21

Como um Sysadmin, o comando que de SQL o mais freqüente eu me uso é CONCESSÃO embora não seja estritamente SQL puro. Isto é seguido pròxima pelo STATUS do ESCRAVO da VERIFICAÇÃO e seguido not-so-closely perto CRIE A BASE DE DADOS, a TABELA da VERIFICAÇÃO e a TABELA do REPARO.

Naturalmente, quando eu estou programando os nove você menciona é esses que eu me uso.

A coisa é, meu trabalho seria muito mais duro sem os comandos que eu mencionei. (Bom… exceto CRIE A BASE DE DADOS. É consideravelmente fácil criar manualmente uma base de dados nova.)

2007-10-09 17:30: 26

Dave,

Eu concordo, aqueles sou muito comum igualmente CRIO O USUÁRIO sou outro que é usado muito geralmente como são as indicações alternativas. Porque alguém que fêz papéis do DBA e perguntas do edifício (programador) lá é uma diferença grande entre o que você considera importante dependendo do que você faz. Geralmente eu consideraria a coisa a mais importante sobre bases de dados devo poder alcançar os dados e enquanto tais mim escreveram este borne com o aquele na mente. Eu penso que eu escreverei as palavras-chaves administrativas superiores e como as usar para aquelas que são estadas relacionados mais com a operação da base de dados, um pouco do que alcançando o que contem.

 
 
Nomeie (exigido)
Email (exigido - nunca mostrado publicamente)
URI
Subscreva aos comentários através do email
Seu comentário (tamanho menor | tamanho maior)
Você pode usar o "" do title= do "" do href= do <a > o "" do title= do <abbr > o "" do title= do <acronym > o "" do cite= do <blockquote do <b> > o <strong> do <strike> do <i> do <em> do <code> em seu comentário.


Fim
Email ele