Manipulação De Dados do Sql: A supressão
seleta da inserção e modifica dados do SQL
Este tutoriald focaliza em como adicionar,
modificar, e remover dados das tabelas na base de dados usando a
língua de manipulação de dados do SQL. Sem este conhecimento,
nós não teríamos realmente nenhum uso para uma base de dados;
seria simplesmente uma entidade de estática com nenhuma
finalidade.
Deixe-nos primeiramente criar uma base de dados e uma
tabela para trabalhar com neste tutorial. Nossa base de dados
será chamada dmlexample, assim que deixe-nos críam isso agora com a
seguinte indicação:
o mysql > CRÍA o dmlexample da BASE DE DADOS;
Uma vez que criados, nós necessitamos especificar que
nós desejamos usar a base de dados nova executando esta indicação:
mysql > dmlexample do USO;
O console deve agora informar-nos que a base de dados
mudou;
Agora que nós mandamos nossa base de dados se ajustar
acima, nos deixamos críe uma tabela para experimentar com chamado
sampletable. Esta tabela conterá os seguintes campos:
username, senha, idade, E-mail, e a data onde a entrada foi
criada.
Nós podemos então criar nossa tabela com a seguinte
indicação de DDL:
o mysql > CRÍA A TABELA sampletable (- > TEXTO do
username, - > TEXTO da senha, - > idade INTERNA, - > TEXTO do email, -
> datecreated o TIMESTAMP);
Introduzindo Dados
Agora que nós temos nossa tabela criada, nos
deixamos olhar como nós vamos sobre a adição de fileiras
(registros) da informação nela. Para adicionar fileiras na
tabela, nós necessitamos usar o comando da INSERÇÃO. É aqui
como nós adicionaríamos uma única fileira ao nosso sampletable.
mysql > INSERÇÃO no ->('andrew sampletable ', ' qwerty
', 20 dos VALORES, ' andrew@dreamcircle.co.uk ', ZERO)
Observação como o gabarito do console nos diz
que uma fileira estêve afetada. Daqui, nós adicionamos uma
fileira a nossa tabela sampletable.
Nós podemos então usar um comando chamado SELETO para
ver os dados na tabela. Nós entraremos em mais detalhe sobre
este comando mais tarde neste tutotial, porque é muito importante,
mas para agora nós usá-lo-emos apenas cega. Deixe-nos ver que
dados estão em nossa tabela do dmlexample:
o mysql > SELECIONA * de sampletable;
|
Nota |
A observação como datecreated o campo reflete a
hora e a data em que nós adicionamos a fileira na tabela. Isto
é porque nós especificamos o ZERO quando nós adicionamos a fileira,
e fazer isto fará um campo do TIMESTAMP agarrar a data atual e a hora
do sistema pelo defeito. |
É também possível adicionar diversas fileiras dos dados
em um único comando. Deixe-nos tentar agora isto adicionando
outras três fileiras a nossa tabela em um único comando da
INSERÇÃO. Isto é feito como segue:
mysql > INSERÇÃO EM VALORES sampletable - > (' glenn ',
' gimboid ', 21, ' glenn@chopsewage.com ', ZERO), - > (' jim ', '
letmein ', 23, ' jim@email.net ', ZERO), - > (' wes', ' opensesame ',
31, ' wes@email.net ', ZERO);
Como você pode ver, esta vez o gabarito do console sugere
que três fileiras estiveram afetadas; daqui, nós adicionamos
três fileiras a nossa tabela. Nós podemos verificar este outra
vez usando o comando SELETO:
o mysql > SELECIONA * de sampletable;
Quando isto é executado, você verá agora que a tabela
contem quatro fileiras (ou registros, se você gostar) da
informação.
Dados Modificando
Agora que nós sabemos adicionar dados a uma
tabela, nos deixamos olhar como nós vamos sobre dados existentes
modificando da tabela.
Para modificar dados em uma tabela, nós requeremos o uso
do comando do UPDATE. Deixe-nos primeiramente tentar mudar todas
as senhas em todas as fileiras na tabela ao "changeme." Isto
pode ser realizado com a seguinte indicação:
senha sampletable do JOGO do mysql > do UPDATE = '
changeme ';
|
Cuidado |
O comando do UPDATE (as.well.as todos os comandos
do SQL) é completamente poderoso. Com uso reckless você pode
destruir muitos dos dados com um erro simples. Quase cada
pergunta deve ter ao menos um onde circunstância. |
Quando nós executamos esta indicação, o console
informar-nos-á que quatro fileiras estiveram afetadas, porque nós
mudamos a senha para cada fileira
nessa tabela.
Agora nós podemos ver o efeito na tabela usando o comando
SELETO, como segue:
o myql > SELECIONA * de sampletable;
Uma pergunta óbvia é agora, o que se eu quiser somente
atualizar uma única fileira? Deixe-nos dizer que nós desejamos
mudar a senha de Glenn da parte traseira do changeme ao gimboid.
Nós usaríamos a seguinte indicação fazer este:
senha sampletable do JOGO do mysql > do UPDATE = ' gimboid
' ONDE username = ' glenn ';
Quando nós executamos este comando no console,
informa-nos que uma fileira estêve afetada. Isto é porque
atualizará somente o campo da senha se o campo do username for igual
ao glenn. Se nós usarmos o comando SELETO na tabela agora, nós
podemos ver que somente a senha de Glenn mudou.
Nós podemos também aplicar esta técnica para
permitir-nos de atualizar somente determinados campos. Para o
exemplo, nós poderíamos mudar todas as senhas dos povos que são a
idade 30 ou mais novo. Está aqui o comando que nós
requereríamos para fazer este:
senha sampletable do JOGO do mysql > do UPDATE = ' jovens
' ONDE idade <= 30
Quando nós executamos este comando,
informar-nos-á que três fileiras estiveram afetadas, porque três
dos quatro registros em nossa tabela têm uma idade igual a ou menos
de 30.
|
Ponta |
Uma idéia útil é atualizar um campo do
timestamp com ZERO. Isto recuperará o tempo o mais atrasado do
sistema que a base de dados está funcionando sobre (isto é, um uso
prático deveria anotar a última vez um jogador entrado). |
Removendo Os Dados (Suprimir)
Remover os dados de uma tabela é feito em uma
maneira muito similar a atualizar dados. Primeiramente nós
olharemos como suprimir uma única fileira dos dados. Deixe-nos
agora suprimir o glenn da base de dados usando a seguinte indicação:
mysql > SUPRESSÃO de sampletable ONDE username = ' glenn
';
Quando nós executamos este comando, o cliente do console
de MySQL informar-nos-á que uma fileira estêve afetada (isto é,
suprimido).
Outra vez, como com as indicações do UPDATE, nós
podemos especificar circunstâncias para permitir que nós suprimam,
para o exemplo, todos com uma idade menos de 30. Deixe-nos fazer
agora isto com a seguinte indicação:
mysql > SUPRESSÃO de sampletable ONDE idade < 30;
Quando nós executamos esta indicação, o cliente
informar-nos-á que duas fileiras estiveram afetadas, ou neste caso,
suprimido. Se nós usarmos agora o comando SELETO em nossa
tabela, nós veremos que somente uma fileira está deixada na tabela.
Finalmente, é também possível suprimir todas as
fileiras de uma tabela em uma única indicação. Tudo que nós
necessitamos fazer não deve especificar nenhuma circunstância, como
nós quando nós atualizamos todos os campos da senha ao changeme.
Está aqui a indicação para suprimir todas as fileiras em uma
tabela (isto é, esvazíe a tabela).
mysql > SUPRESSÃO de sampletable;
Como você pode ver, a tabela não contem agora nenhuma
informação.
Usando Indicações SELETAS
Até agora, nós usamos simplesmente o seguinte
comando mostrar todos os dados em nossa tabela sampletable:
o mysql > SELECIONA * de sampletable;
Isto realmente está buscando todos os campos da tabela
sampletable e está retornando-os. * é um wildcard, que os
meios bàsicamente ele representem qualquer coisa (ou neste caso, em
algum campo).
Antes que nós entremos na indicação SELETA mais mais,
deixe-nos adicionam primeiramente alguns dados à experiência com em
nossa tabela sampletable. Use a seguinte indicação introduzir
alguns dados:
mysql > INSERÇÃO EM VALORES sampletable - > (' andrew ',
' qwerty ', 20, ' andrew@dreamcircle.co.uk ', ZERO), - > (' andrew ',
' letmein ', 27, ' andrew@email.net ', ZERO), - > (' george ', ' papel
', 19, ' george@email.net ', ZERO), - > (' jenny ', ' jen999 ', 27, '
jen@email.net ', ZERO), - > (' sandra ', ' sdra2 ', 27, '
sandra@email.net ', ZERO);
Agora que nós adicionamos nossos dados na tabela, se nós
usarmos a indicação SELETA com o wildcard (*), como nós estávamos
fazendo antes, ele recuperarmos e indicarmos toda a informação da
tabela no console. Deixe-nos tentar agora isto com a seguinte
indicação.
o mysql > SELECIONA * de sampletable;
Como você pode ver, a indicação recuperou toda a informação da tabela (isto é,
todas as fileiras e tudo das colunas contidas em cada uma das
fileiras).
Deixe-nos dizer que tudo que nós queremos recuperar é o
campo da senha. Para começar todas as senhas da tabela
sampletable, nós usaríamos a seguinte indicação:
mysql > senha SELETA de sampletable;
Observação como nós substituímos simplesmente o
wildcard (*) com a coluna nós desejamos recuperar. Nós podemos
também recuperar colunas múltiplas usando uma vírgula limitá-las.
Deixe-nos tentar selecionar a coluna do username e a coluna da
senha somente. Está aqui a indicação que nós requeremos para
este:
mysql > username SELETO, senha de sampletable;
Quando nós executamos esta indicação, nós podemos ver
no console que os campos somente do username e da senha estiveram
selecionados da tabela.
Agora que nós sabemos recuperar campos individuais das
tabelas, como nós recuperamos uma única fileira? Nós podemos
fàcilmente aplicar uma circunstância a uma indicação SELETA,
apenas como nós quando nós atualizávamos a tabela e a suprimíamos
da tabela. Usando uma indicação SELETA condicional, deixe-nos
somente indicar a informação do jenny da base de dados. Está
aqui a indicação que nós requeremos para este:
o mysql > SELECIONA * de sampletable ONDE username = '
jenny ';
Quando nós executarmos esta indicação, only os detalhes
do jenny estarão indicados no console do cliente de MySQL.
Nós podemos também incorporar a idéia de selecionar
campos especificados. Um exemplo prático deste deveria
encontrar a senha que se relaciona a um username. É aqui como
nós começaríamos a senha que pertenceu a George:
mysql > senha SELETA de sampletable ONDE username = '
george ';
Quando nós executamos esta indicação, nós podemos ver
que somente um único campo está indicado, que aconteça ser senha de
George.
|
Nota |
Quando nós especificamos campos específicos,
como neste exemplo, nós não estamos limitados aos campos que nós
estamos selecionando para o uso no ONDE cláusula. |
Em nossos dados da amostra, há duas fileiras com o
username andrew. Se nós tentarmos usar uma indicação
condicional começar a senha para andrew, nós vontade no fato
começamos duas senhas, uma para cada entrada de andrew na base de
dados. Deixe-nos tentar agora isto apenas para a prova.
Está aqui a indicação que nós necessitamos:
mysql > senha SELETA de sampletable ONDE username = '
andrew ';
Quando nós executamos esta indicação, nós podemos ver
que nós temos duas senhas mostrar no console.
|
Nota |
As duplicatas podem ser removidas do resultado
usando a opção DISTINTA. Para o exemplo: SELECIONE o
username DISTINTO de sampletable. |
Deixe-nos ter um olhar em como o comando SEMELHANTE pode
nos ajudar encontrar a informação que nós requeremos. Usar-se
COMO é ideal para encontrar cordas nas bases de dados, especial se
você tem somente uma parte da corda completa (isto é, para um Search
Engine). Para o exemplo, deixe-nos dizer que nós desejamos
encontrar alguém na base de dados cujo o nome começa com a letra j.
Para realizar esta, nós requereríamos a seguinte indicação:
o mysql > SELECIONA * de sampletable ONDE o username GOSTA
' de j% ';
Observe aqui como o jenny foi recuperado, como seu
username era único a começar com um j. O % representa um
wildcard quando usado com COMO, assim que se nós usarmos a seguinte
indicação preferivelmente:
o mysql > SELECIONA * de sampletable ONDE o username GOSTA
' de %j% ';
... a letra j podia aparecer em qualquer lugar na corda.
Também, anote que você pode ter mais do que um único
caráter:
o mysql > SELECIONA * de sampletable ONDE o username GOSTA
' de %nny ';
Isto recuperaria todos os povos que têm os nomes que
terminam com o texto "nny." Finalmente, se nós usarmos a
seguinte indicação:
selecione * de sampletable onde o username gosta ' de
%nny%a ';
... recuperaria todo o conter das fileiras "nny" em seus
nomes, mas o nome teria que terminar com o "a".
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: Manipulação de dados SQL do artigo do ": A
supressão seleta da inserção e modifica dados do SQL "foi traduzida
usando um serviço de tradução automatizado. Nós
desculpamo-nos sincerely por todos os erros da tradução que ocorram.
Obrigado compreendendo.