Este tutorial mostra a sintaxe e comandos básicos e da língua do SQL.
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.
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).
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.
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. |
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.
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;
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.
Online: 791 users browsing the articles directory
|
|