Sintaxe básica do SQL: Tabelas e bases de dados criadoras e modificando

Este tutorial mostra a sintaxe e comandos básicos e da língua do SQL.

Bases de dados criadoras e deixando cair

Primeiramente, deixe-nos vêem que bases de dados existem já no usuário de MySQL. Nós podemos ver esta informação usando o comando da MOSTRA. Entre no seguinte (exceto o mysql > a parte) no cliente do console de MySQL, seguido por um retorno:

BASES DE DADOS do mysql > da MOSTRA;

há duas bases de dados criadas já no usuário de MySQL. A base de dados do mysql contem a informação da administração para o usuário de MySQL e não deve ser modificada. A outra base de dados, teste, é exatamente o que soa como: um teste para o usuário de MySQL. A base de dados do teste não contem qualquer coisa, e pode ser removida com segurança se requerido.

Criando uma base de dados

Assim como nós adicionamos nossa própria base de dados no usuário de MySQL? Para fazer este, nós usamos o comando CRIAR. Deixe-nos dizer-nos desejam criar uma base de dados chamada mydata; nós usaríamos a seguinte sintaxe.

Nota A seguinte tabela alista as limitações do comprimento e do caráter que são impostas nos nomes das bases de dados, das tabelas, das colunas, e dos pseudônimos.
Identificador Comprimento Máximo Caráteres Válidos
Base de dados 64 Todos os caráteres válidos do nome de diretório excetuam "." e "/".
Tabela 64 Todos os caráteres válidos do nome de diretório excetuam "." e "/".
Coluna 64 Todos são válidos.
Aliás 15 Todos são válidos.
o mysql > CRÍA o mydata da BASE DE DADOS;
  

Observe que o semicolon está adicionado após cada comando na língua do SQL. Quando nós pressionamos o retorno após ter incorporado este comando, o console informa-nos que a pergunta era aprovada.

Agora que nós criamos a base de dados, nós podemos assegurá-la estamos no usuário outra vez usando o comando da MOSTRA, como segue:

BASES DE DADOS do mysql > da MOSTRA;

Quando nós pressionamos o retorno com este comando, nós podemos ver que nossa base de dados estêve adicionada à lista (nota que a lista está na ordem alfabética, não a ordem em que as bases de dados foram criadas).

Deixando cair uma base de dados

Agora nós removeremos a base de dados do usuário. Anote isso quando nós fazemos este, todos os dados (se algum) será perdido. Para remover uma base de dados, nós "deixamo-la cair" do usuário usando o comando da GOTA. Para deixar cair assim nossa base de dados nova do mydata, nós usaríamos o seguinte comando:

mydata da BASE DE DADOS do mysql > da GOTA;

Quando nós executamos este comando pelo retorno pressionando, a pergunta estará relatada como está bem.

Agora, se nós alistarmos outra vez as bases de dados usando o comando da MOSTRA:

BASES DE DADOS do mysql > da MOSTRA;

... nós podemos ver que nossa base de dados do mydata é uma visível não mais longo na lista.

A coluna (campo) datilografa dentro MySQL

Antes que nós discutamos a criação das tabelas dentro das bases de dados, é agora uma estadia boa mencionar os tipos diferentes da coluna que nós podemos ter nas tabelas.

Cada coluna em uma tabela deve ser atribuída um tipo, que represente o tipo de informação que o campo está indo prender. Está aqui uma lista completa de tipos que disponíveis você pode se usar:

Tipo Descrição
TINYINT Um inteiro muito pequeno. A escala assinada é 128 a 127. A escala não assinada é 0 a 255.
SMALLINT Um inteiro pequeno. A escala assinada é 32768 a 32767. A escala não assinada é 0 a 65535.
MEDIUMINT Um inteiro de tamanho médio. A escala assinada é 8388608 a 8388607. A escala não assinada é 0 a 16777215.
INTERNO Um inteiro feito sob medida normal. A escala assinada é 2147483648 a 2147483647. A escala não assinada é 0 a 4294967295.
BIGINT Um inteiro feito sob medida grande. A escala assinada é 9223372036854775808 a 9223372036854775807. A escala não assinada é 0 a 18446744073709551615.
FLUTUADOR Um pequeno, número floating-point da único-precisão que não pode ser não assinado. A escala assinada é 3.402823466E+38 ao 1.755494351E.38, a 0, e a 1.755494351E.38 a 3.402823466E+38.
DOBRO Um número floating-point double-precision que não possa ser não assinado. A escala assinada é 1.7976931348632157E+308 ao 2.2250738585072014E.308, a 0, e a 2.2250738585072014E.308 a 1.7976931348632157E+308.
DECIMAL Um número floating-point desembalado que não possa ser não assinado. Os trabalhos como uma coluna do "char" naquele o número são armazenados como uma corda (isto é, cada número usa um caráter na corda).
DATA Uma data. A escala é 1000-01-01 a 9999-12-31 e está no formato YYYY-MM-DD.
TEMPO Um momento. A escala é 838:59:59 a 838:59:59 e está no formato HH:MM:SS.
DATETIME Uma combinação da data e da hora. A escala é 1000-01-01 00:00:00 a 9999-12-31 21:59:59 e está no formato YYYY-MM-DD HH:MM:SS.
YEAR[(2|4) ] Um ano em 2 ou formato 4-digit (o defeito é 4). A escala é 1901 a 2155 e também 0000.
TIMESTAMP Um timestamp. A escala é 1970-01-01 00:00:00 a sometime no ano 2037 no formato YYYYMMDDHHMMSS.
CHAR(length) Uma corda fixed-length que direito-seja acolchoada sempre com espaços ao comprimento especificado quando armazenada. A escala é 1 a 255 caráteres dependendo do "comprimento" especificado.
VARCHAR Uma corda variable-length.
TINYBLOB/ TINYTEXT Um objeto binário minúsculo. Comprimento máximo de 255 caráteres. * Veja a NOTA abaixo da tabela.
BLOB/TEXT Um objeto binário. Comprimento máximo de 65535 caráteres. * Veja a NOTA abaixo da tabela.
MEDIUMBLOB/ MEDIUMTEXT Um objeto binário médio. Comprimento máximo de 16777215 caráteres. * Veja a NOTA abaixo da tabela.
LONGBLOB/ LONGTEXT Um objeto binário grande. Comprimento máximo de 4294967295 caráteres. * Veja a NOTA abaixo da tabela.
ENUM('val1 ', ' val2 '...) Uma enumeração. Uma lista dos valores da corda de que somente um pode ser selecionado. Máximo de 65535 valores distintos.
SET('val1 ', ' val2 '...) Um jogo. Um objeto da corda que possa ter zero ou mais valores, cada um de que deve ser escolhido da lista (isto é, ' val1 ', ' val2 ', etc.). Máximo de 64 caráteres.
Nota A única diferença entre os tipos do BLOB e de TEXTO é aquela para classificar e as comparações, um BLOB são caixa-sensíveis, visto que o tipo de TEXTO não é caixa-sensível.

Criando, modificando, e tabelas deixando cair

Criando Tabelas

Agora que nós sabemos os tipos possíveis para as colunas em nossas tabelas, nos deixamos olhar como nós vamos realmente sobre criar uma tabela.

Deixe-nos dizer que nós desejamos criar uma tabela para prender alguns detalhes do usuário dentro de uma base de dados.

Nós queremos armazenar o título do usuário, primeiro nome, sobrenome, idade, endereço do E-mail, e a data onde o usuário foi adicionado à base de dados. Assim nós requereremos as seguintes colunas em nossa tabela:

Idade EmailAddress DateAdded Do Sobrenome De Firstname Do 
Título

Antes que nós começarmos em como o adicionar realmente, nos deixarmos pensarmos primeiramente de como nós estamos indo armazenar mais o information.or ao ponto, que tipos nós requeremos para cada uma das colunas.

Para o título, o primeiro nome, e o sobrenome, nós podemos usar o tipo de TEXTO, porque contem a abundância dos caráteres para permitir todas as possibilidades.

Nota VARCHAR pode trabalhar mais rapidamente e é talvez uma escolha melhor se o comprimento da corda puder ser restringido menos de 255 caráteres.

Para a idade, um TINYINT não assinado seria uma escolha óbvia, porque as idades são numéricas e ninguém foi sabida sempre para viver após 255. Para o endereço do E-mail, nós podemos outra vez usar um tipo de TEXTO, porque nos dará o espaço de armazenamento substancial para o endereço. Finalmente, para a data que o usuário estêve adicionado à tabela, nós podemos usar um TIMESTAMP.

Nota Com Java, é possível usar um tipo de dados INTERNO e armazenar System.currentTimeMillis()/1000 como o valor. Este valor pode mais tarde ser buscado da base de dados. Então multiplique-o por 1000 e convirta-o ao tipo da DATA (isto é, data = Date(value) novo;). Isto é útil ao fazer o localization e/ou a conversão entre bases de dados diferentes

O TIMESTAMP tem também uma propriedade grande que a hora e a data podem ser recuperadas automaticamente na base de dados.

Agora que nós sabemos que tipos nós queremos para nossas colunas, nós necessitamos criar uma base de dados para adicionar a tabela em. Deixe-nos criar uma base de dados chamada myinfo com o seguinte comando:

o mysql > CRÍA o myinfo da BASE DE DADOS;

Quando nós executamos este comando, o console deve relatar que a pergunta era aprovada. Nós podemos agora certificar-se de que nossa base de dados esteja criada com o seguinte comando:

BASES DE DADOS do mysql > da MOSTRA;

Agora nós necessitamos dizer a MySQL que nós desejamos executar ações na base de dados do myinfo. Isto é realizado usando o comando do USO:

mysql > myinfo do USO;  
Nota Sem USO, todas as tabelas na base de dados do myinfo devem ser consultadas como a myinfo.mytable, que é naturalmente completamente inconvenient.

Após ter executado este comando, todas as indicações de DDL (língua de definição de dados) e de DML (língua de manipulação de dados) que forem executadas afetarão a base de dados no uso, que neste caso é nossa base de dados do myinfo.

Agora que nós mandamos nossa base de dados se ajustar acima e se aprontar para aceitar comandos, nós podemos criar nossa tabela (que nós nomearemos userinfo) com a seguinte indicação:

o mysql > CRÍA o userinfo da TABELA (- > auto_increment 
INTERNO da identificação, - > TEXTO do título, - > TEXTO do 
firstname, - > TEXTO do sobrenome, - > a idade TINYINT, - > TEXTO do 
email, - > dateadded o TIMESTAMP, - > KEY(id) PRELIMINAR);
Nota o auto_increment não é uma opção padrão do SQL. MSSQL (Microsoft SQL) tem uma opção similar e assim que faz Postgre, mas o oracle não tem uma maneira fazer isto porque uma opção da tabela criar. Deve ser feito com seqüências e disparadores.

Deixe-nos quebrar pouco isto acima do assim que nós podemos ver o que está acontecendo. Primeiramente nós declaramos que nós desejamos criar uma tabela entrando CRIAMOS A TABELA. Em seguida nós especificamos o nome que nós desejamos chamar a tabela; neste caso, o nome é userinfo. Então nós usamos parênteses conter todas as colunas que nós requeremos em nossa tabela e alistamos simplesmente todos os nomes e tipos da coluna que nós requeremos. Nota como nós adicionamos um campo extra nomeado identificação. Finalmente, anote a adição da chave preliminar como o último parâmetro. Isto é usado determinar como a tabela optimized dentro da base de dados.

Nós podemos agora certificar-se de que nossa tabela esteja criada com sucesso executando o seguinte comando:

TABELAS do mysql > da MOSTRA;

Nota você pode também ver as colunas em uma tabela usando o seguinte comando:

o mysql > DESCREVE o userinfo;

Quando você executa este comando, o console indicará todos os detalhes para cada uma das colunas na tabela do userinfo.

Esta informação pode ser útil para ambos que asseguram a tabela foi criada como você envisioned e para recap as colunas que uma tabela contem em uma data mais atrasada.

Tabelas Modificando

Assim agora que nós sabemos criar uma tabela, nos deixamos olhar como nós vamos sobre a modificar. Modificar uma tabela pode variar simplesmente de mudar o tipo de uma das colunas a adicionar uma coluna completamente nova (ou a remover uma coluna existente).

Deixe-nos primeiro olhar em como nós mudamos o nome de uma coluna existente. Em nossa tabela do userinfo, nós temos uma coluna chamada firstname, mas deixamos-nos agora mudar este para ler o forename, um synonym para o primeiro nome de uma pessoa.

Para fazer esta mudança, nós necessitamos usar a seguinte sintaxe:

o mysql > ALTERA O TEXTO do forename do firstname da 
MUDANÇA do userinfo da TABELA;
Ponta Sempre recomenda-se altamente projetar a base de dados antes de criá-la porque pode haver tabelas ou estrutura da base de dados dos problemas modifying/altering depois que há uns dados introduzidos nas tabelas.

Nota nós também devemos fornecer o tipo de dados para a coluna as.well.as seus nomes velhos e novos.

Se nós descrevermos a tabela do userinfo com o seguinte comande:

o mysql > DESCREVE o userinfo;

... nós podemos ver que o firstname da coluna estêve rebatizado ao forename.

Nós podemos também mudar os tipos de dados de colunas nas tabelas. Deixe-nos dizer que nós queremos mudar a coluna da idade de um TINYINT a um INTERNO. Nós usaríamos o seguinte comando:

o mysql > ALTERA o userinfo da TABELA MODIFICA a idade 
INTERNA;

Após ter executado este comando, se nós descrevermos a tabela, nós podemos ver que o tipo mudou a INTERNO.

Finalmente, é bom saber remover os campos de uma tabela (para o exemplo, se forem não mais longos requeridos). Deixe-nos agora dizer que nós requeremos não mais por muito tempo o campo do E-mail em nossa tabela do userinfo. O que nós queremos fazer deve "deixar cair" o campo de nossa tabela. Está aqui a sintaxe para remover o campo do E-mail.

o mysql > ALTERA o email da GOTA do userinfo da TABELA;

Uma vez que este comando é executado, nós descrevemos a tabela com o seguinte comando:

o mysql > DESCREVE o userinfo;

Tabelas (Removendo) Deixando cair

Remover as tabelas de uma base de dados é muito simples, mas sem uso cuidadoso pode ter efeitos desastrosos. A coisa principal à nota é que ao deixar cair uma tabela, você perde também todos os dados contidos dentro da tabela. Conseqüentemente, é sempre sábio back-up uma base de dados antes de executar algum comando da GOTA.

Deixe-nos agora olhar como nós deixamos cair a tabela do userinfo de nossa base de dados do myinfo. Para fazer este, nós necessitamos executar o seguinte comando no cliente do console de MySQL.

Nota Você não pode deixar cair a tabela se houver umas relações reais a outras tabelas que poderiam quebrar a integridade da base de dados. Se as relações não forem "reais," as tabelas podem ser removidas sem os erros, mas a integridade é comprometida então. Se o administrador não tiver cuidado, a base de dados pode permanentemente corrupted.

userinfo da TABELA do mysql > da GOTA;

Uma vez que este comando é executado, nós podemos certificar-se de que a tabela esteja removida alistando o que tabela está atualmente em nossa base de dados do myinfo executando o seguinte comando:

TABELAS do mysql > da MOSTRA;

A tabela existe não mais por muito tempo na base de dados.

este é um artigo adicionado por George Ionescu


Disclaimer: Nosso Web site não é responsável para a informação contida por este artigo. Este artigo em nenhuma maneira reflete as vistas, as opiniões, os pensamentos ou a opinião da equipe de funcionários do diretório dos artigos.

Observação da tradução: Sintaxe básica do SQL do artigo ": Criar e tabelas e bases de dados modificá-las "foram traduzidas usando um serviço de tradução automatizado. Nós desculpamo-nos sincerely por todos os erros da tradução que ocorram. Obrigado compreendendo.

Online: 791 users browsing the articles directory