SQL é uma linguagem específica de domínio que os engenheiros usam para manipular dados armazenados em bancos de dados relacionais ou para processamento de fluxo em sistemas de gerenciamento de fluxo de dados relacionais. Você pode armazenar dados em um banco de dados relacional por meio de tabelas. A primeira coisa a fazer nesse processo é criar o banco de dados no qual você deseja trabalhar. Em seguida, criamos tabelas nas quais os dados reais serão armazenados. Uma tabela em tal banco de dados terá linhas e colunas.
Haverá um tipo de dados específico associado a cada coluna que determina o tipo de dados que ela pode armazenar. Ao criar a tabela, temos que especificar o nome e o tipo de dados de cada coluna. Você pode criar uma tabela usando o comando SQL CREATE TABLE nos bancos de dados MySQL e PostgreSQL.
Vamos dar uma olhada mais profunda na instrução SQL CREATE TABLE.
Como faço para criar uma tabela com SQL?
Você pode criar uma tabela no MySQL com a seguinte sintaxe:
CREATE TABLE nome_tabela(
valor padrão column_1 data_type column_constraint ,
valor padrão column_2 data_type column_constraint ,
...,
…,
table_constraint
);
As coisas básicas que você deve ter ao criar uma tabela são seu nome e pelo menos o nome de uma coluna. Deve haver apenas uma tabela de banco de dados com um nome de tabela específico. O banco de dados mostrará uma mensagem de erro se você tentar criar duas tabelas com o mesmo nome.
Dentro dos colchetes, especificamos os nomes das colunas que queremos fazer na tabela, juntamente com o tipo de dados dos dados que serão inseridos nela. Vírgulas separarão os nomes dessas colunas. O nome, o tipo de dados, o valor padrão da coluna e uma ou mais restrições de coluna compõem cada coluna.
As restrições de coluna controlam o valor de dados real que pode ser armazenado na coluna. Por exemplo, a restrição NOT NULL garante que nenhum valor NULL exista nessa coluna específica. Você pode ter mais de uma restrição para uma única coluna. Por exemplo, uma coluna pode conter as restrições NOT NULL e UNIQUE .
Se você deseja aplicar restrições a todas as colunas da tabela, você pode usar as restrições da tabela. Alguns exemplos do mesmo são FOREIGN KEY , CHECK e UNIQUE . Cada tabela pode ter uma chave primária composta por uma ou mais colunas. Essa chave primária é usada para identificar exclusivamente cada registro de uma tabela. Normalmente, você lista a coluna de chave primária primeiro e depois as outras. Você deve declarar a restrição PRIMARY KEY como uma restrição de tabela se ela for composta de duas ou mais colunas.
Vejamos um exemplo:
CRIAR TABELA DE CLIENTES(
ID INT NÃO NULO,
NOME VARCHAR (20) NÃO NULO,
IDADE INT NÃO NULO,
SALÁRIO DECIMAL (18, 2),
CHAVE PRIMÁRIA (ID)
);
Aqui, o nome da tabela é "CUSTOMERS" e sua chave primária é ID. As colunas ID, NAME e AGE têm uma restrição de NOT NULL . O comprimento do nome deve ser inferior a 20 caracteres. Agora, criamos uma tabela com o comando SQL CREATE TABLE e podemos inserir os dados relevantes nela e no banco de dados.
Você pode ter uma tabela dentro de uma tabela no MySQL/PostgreSQL?
Ter uma tabela dentro de uma tabela seria chamado de aninhamento de tabelas. Para isso, teríamos que criar uma tabela dentro de outra tabela com o comando SQL CREATE TABLE. Este é um conceito que não existe no MySQL. No entanto, podemos obter o mesmo resultado de ter tabelas aninhadas usando uma chave primária e uma chave estrangeira. Isso cria um relacionamento pai-filho entre as duas tabelas.
Um campo ou um grupo de campos em uma tabela que faz referência à PRIMARY KEY de outra tabela é conhecido como FOREIGN KEY . A tabela com a chave primária principal é chamada de tabela pai, enquanto aquela com a chave estrangeira é chamada de tabela filha.
Por exemplo, suponha que temos uma tabela pai Vehicle, cuja chave primária é VehId. Temos mais duas tabelas, Car, com chave primária CarId, e Truck, com chave primária TruckId, respectivamente. Se colocarmos VehId como uma chave estrangeira em Car e Truck, então Vehicle se tornará sua tabela pai, criando assim um relacionamento pai-filho.
Tabela pai Veículo {VehId}
Tabelas filhas
1. Carro {VehId,CarId}
2. Caminhão {VehId,TruckId}
É possível selecionar em uma tabela SQL sem criá-la primeiro?
Para escolher dados de um banco de dados, usamos a instrução SELECT. Os dados disso são mantidos em uma tabela de resultados chamada de conjunto de resultados. Isso é usado para selecionar uma parte de uma tabela ou a tabela inteira inteiramente. Quando estiver codificando e tiver criado uma tabela com o comando SQL CREATE TABLE, você poderá usar o comando SELECT para visualizar as tabelas criadas.
Sua sintaxe é assim:
SELECT coluna_1, coluna_2, …
FROM nome_da_tabela;
Por exemplo, o comando a seguir seleciona a tabela inteira.
SELECT * FROM nome_da_tabela;
SELECIONE EM
Os dados de uma tabela são transferidos para outra tabela usando a instrução SELECT INTO. Ele pode copiar todas as colunas de uma tabela para outra. Isso geralmente é usado quando a tabela para a qual os dados estão sendo copiados já existe.
Para selecionar todas as colunas de uma tabela:
SELECIONAR *
INTO nova_tabela [IN externaldb]
DE tabela_antiga
ONDE condição;
Para selecionar apenas algumas colunas na nova tabela:
SELECT coluna_1, coluna_2, coluna_3, ...
INTO nova_tabela [IN externaldb]
DE tabela_antiga
ONDE condição;
Então, podemos selecionar em uma tabela se ainda não a criamos com SQL CREATE TABLE?
Logicamente, a resposta deve ser não. Mas esse não é o caso, e podemos selecionar em uma tabela mesmo que ainda não a tenhamos criado. Quando uma tabela precisa ser formada e os dados de uma tabela precisam ser transferidos para a tabela recém-gerada, essa abordagem é utilizada. Os mesmos tipos de dados das colunas escolhidas são usados para gerar a nova tabela.
Como você cria uma tabela de produtos no SQL?
Uma tabela de produtos em SQL pode ser criada de várias maneiras. Utilizar a instrução SQL CREATE TABLE é uma opção. As informações do produto estarão contidas em uma tabela que esta declaração criará. O comando SELECT também pode ser usado para visualizar e obter os dados da tabela. A sintaxe para ambos foi mencionada acima.
O comando INSERT também pode ser usado para inserir novos dados na tabela. Graças à instrução INSERT, os dados serão inseridos na tabela na posição designada. Os dados também podem ser retirados da tabela usando a consulta SELECT e depois adicionados a outra tabela usando a instrução INSERT.
INSIRA DENTRO DE
Usamos a instrução INSERT INTO para adicionar novos registros a uma tabela. A sintaxe da instrução INSERT é:
INSERT INTO table_name (column_1, column_2, ...)
VALORES (valor_1, valor_2, ...);
O que diferencia uma tabela de produtos é apenas o aspecto de design da mesma. O nome do produto, modelo, classe, ano do modelo e preço de tabela são armazenados no banco de dados de produtos. Cada item faz parte da marca identificada pela coluna ID da marca. Consequentemente, uma marca pode ter um produto ou muitos. Cada produto é membro de uma categoria identificada por seu ID de categoria na tabela.
Quais tipos de dados são adequados para bancos de dados SQL?
Ao usar o comando SQL CREATE TABLE, devemos mencionar os tipos de dados das colunas. Os dados que uma coluna pode incluir dependem desse tipo de dados. Os exemplos incluem inteiro, caractere, binário, data e hora e muito mais. Uma tabela de banco de dados deve ter um nome e um tipo de dados para cada coluna.
Ao construir uma tabela, um programador SQL deve determinar que tipo de dados serão contidos em cada coluna. O tipo de dados especifica como o SQL irá interagir com os dados armazenados. Isso ajuda a determinar que tipo de dados é previsto dentro de cada coluna. Os três tipos de dados primários no MySQL 8.0 são string, numérico e data e hora.
Tipos de dados de string
Os tipos de dados de string são geralmente um conjunto de caracteres que pertencem ao alfabeto inglês. Os principais tipos de dados de string são:
- CHAR(tamanho)
- VARCHAR(tamanho)
- BINÁRIO(tamanho)
- VARBINÁRIO(tamanho)
- TINYBLOB
- TEXTO MINÚSCULO
- Tamanho do texto)
- BLOB (tamanho)
- TEXTO MÉDIO
- MÉDIO BLOBO
- TEXTO LONGO
- LONGBLOB
- ENUM(valor_1, valor_2, valor_3, ...)
- SET(valor_1, valor_2, valor_3, ...)
Aqui o SIZE representa o tamanho máximo que os dados armazenados podem ter. Um CHAR é uma string de comprimento fixo, enquanto um VARCHAR é uma string de tamanho variável. Esses são os tipos de dados de string mais usados. Um BLOB é um objeto binário grande.
Tipos de dados numéricos
Variáveis de tipo de dados numéricos são usadas para armazenar dados numéricos. Eles são divididos em dois tipos de dados - Exato e Aproximado. Tipos de dados exatos são usados para manter o valor de dados em sua forma literal. Embora os números reais estejam contidos em tipos de dados aproximados, as informações não são salvas literalmente como uma cópia dos valores verdadeiros. Os principais tipos de dados numéricos são:
- BIT(tamanho)\
- TINYINT(tamanho)
- BOOL
- BOLEANO
- SMALLINT(tamanho)
- MÉDIO(tamanho)
- INT(tamanho)
- INTEIRO (tamanho)
- BIGINT(tamanho)
- FLUTUAR(tamanho, d)
- FLUTUAR(p)
- DUPLO(tamanho, d)
- DUPLA PRECISÃO (tamanho, d)
- DECIMAL(tamanho, d)
- DEC(tamanho, d)
O tipo de dados numéricos mais comumente usado é INT . Ele é usado para armazenar números não decimais, enquanto variáveis com tipos de dados FLOAT são usadas para armazenar números decimais. No tipo de dados BOOL , zero é considerado FALSE e valores diferentes de zero são considerados TRUE .
Data e hora
Os tipos de dados de data e hora são usados para armazenar dados de data. Os principais tipos de dados de data e hora são:
- ENCONTRO
- DATETIME(fsp)
- TIMESTAMP(fsp)
- TIME(fsp)
- ANO
Os tipos de dados do servidor SQL são semelhantes aos tipos de dados fornecidos acima, mas com pequenas diferenças sintáticas.
Quais são os tipos de variáveis no servidor SQL?
Existem duas categorias de variáveis no servidor MS SQL:
Variável local
Um usuário declara uma variável local. Sempre começa com @. O escopo de cada variável local é restrito ao lote ou processo que está sendo executado em uma determinada sessão. Uma variável local Transact-SQL é um tipo de objeto que pode armazenar apenas um tipo específico de valor de dados. Scripts e lotes frequentemente empregam variáveis:
- como contador, seja para gerenciar a taxa de repetição do loop ou para acompanhar quantas vezes ele é executado.
- para armazenar um valor de dados que será submetido a uma verificação de controle de fluxo.
- para manter um valor de dados que um valor de retorno de função retornará.
Variável global
O sistema mantém a variável global. Os usuários não podem torná-los públicos. @@ é onde a variável global começa. Ele mantém dados sobre as sessões.
Declarando uma variável
Ajudaria se você definisse qualquer variável antes de usá-la em um lote ou processo. A variável de substituição do local de memória é declarada usando o comando DECLARE. Uma variável só pode ser utilizada após ter sido declarada no lote ou etapa de procedimento seguinte.
A sintaxe TSQL para declarar uma variável se parece com isso:
DECLARE { @LOCAL_VARIABLE[AS] data_type [ = valor ] }
O programador também pode decidir o valor de uma variável definida por:
- No processo de declaração de variável com a palavra-chave DECLARE
- Usando SET
- Usando SELECIONAR
Por que os tipos de dados são importantes no SQL?
O tipo de dados está entre os componentes essenciais de qualquer linguagem de codificação, seja uma linguagem de programação como C ou uma linguagem de manipulação de dados como SQL. Na verdade, o SQL suporta mais de 30 tipos de dados que podem armazenar várias formas de dados reais. Seria melhor se você tivesse uma compreensão firme dos vários tipos de dados SQL antes de começar a lidar com dados.
Os tipos de informações que podem ser mantidos em objetos de banco de dados, como tabelas, são especificados por tipos de dados SQL. Cada coluna em uma tabela tem um nome e um tipo de dados, e cada tabela tem colunas. Eles formam a espinha dorsal de qualquer linguagem, pois você não pode manipular dados sem usá-los.
Você deve saber que nem todos os tipos de dados são suportados por sistemas de banco de dados. Portanto, você deve verificar antes de empregar qualquer tipo de dados específico. Por exemplo, você não pode usar DateTime no Oracle, pois não permite esse tipo de dados.
Da mesma forma, o MySQL não usa Unicode como tipo de dados. Você pode usar tipos de dados extras que determinados bancos de dados possuem. Por exemplo, "dinheiro" e "pequeno dinheiro" no Microsoft SQL Server podem ser substituídos por "float" e "real", mas esses termos são específicos do banco de dados e não estão presentes em outros sistemas de banco de dados. Às vezes, tipos de dados específicos são referidos como tendo vários nomes em alguns bancos de dados. A Oracle, por exemplo, refere-se a "decimal" como "número" e "blob" como "bruto".
Várias tabelas podem ter a mesma chave primária?
Sim. Em várias tabelas, a chave primária pode compartilhar o mesmo nome de coluna. Dentro de uma tabela, os nomes das colunas devem ser distintos. Por determinar a integridade das Entidades, uma tabela pode conter apenas uma chave primária. Cada tabela pode conter uma chave primária, mas isso não é obrigatório. Duas linhas não podem compartilhar a mesma chave primária, graças à coluna ou colunas designadas como chave primária. A chave primária de uma tabela pode ser usada para identificar os registros de outra tabela e fazer parte da chave primária da segunda.
Como uso "order by" em uma chave primária?
O comando ORDER BY pode ser usado para classificar o conjunto de resultados. Isso pode ser em ordem crescente ou decrescente. Os registros geralmente são classificados usando a palavra-chave ORDER BY em ordem crescente. Você pode usar a palavra-chave DESC para organizar as entradas em ordem decrescente.
A sintaxe da ordem se parece com:
SELECIONE coluna_1, coluna_2, ...
FROM nome_da_tabela
ORDER BY coluna_1, coluna_2, ... ASC|DESC;
Por exemplo, suponha que haja uma tabela chamada Usuários; você pode classificá-lo em ordem crescente ou decrescente com base na cidade dos usuários.
SELECIONAR * DE Usuários
ORDEM POR Cidade;
Para classificar o mesmo em ordem decrescente:
SELECIONAR * DE Usuários
ORDEM POR Cidade DESC;
ORDER BY na chave primária
Basta usar ORDER BY como de costume no nome da chave primária, como "RollID":
SELECT * FROM my_table WHERE col_1 < 5 ORDER BY RollID;
O otimizador de consulta pode ou não decidir usar a estrutura de índice de chave primária para analisar a classificação em vez de fazer uma classificação ativa no conjunto de resultados da consulta para abordar o ORDER BY com base em como ele decide avaliar a consulta.
A maioria das consultas de tabela única sem uma cláusula ORDER BY retornará resultados na ordem da chave primária, pois o MySQL InnoDB armazena tabelas em quais abordagens da ordem de chave primária nativa. No entanto, você ainda pode utilizar um ORDER BY se seu aplicativo realmente exigir a ordenação de Chave Primária.
Sem desenvolvimento de código
A metodologia de desenvolvimento no-code é um dos principais fatores que promovem a democratização da codificação. Hoje em dia, mais pessoas têm acesso à computação em princípio sem conhecer nenhuma codificação. Ele facilita a construção de sites responsivos, bem como aplicativos móveis.
O AppMaster pode ajudá-lo a gerar o código-fonte automaticamente. O código está sempre disponível para você visualizar e examinar. Você tem a opção de modificar os detalhes do projeto usando uma linguagem de programação com o AppMaster. Também damos aos usuários a opção de exportar o código. Esta é uma promessa de que o software que você está desenvolvendo com o AppMaster está inteiramente sob seu controle e propriedade.
Conclusão
SQL tem várias aplicações que o tornam muito atraente. Criar scripts de integração de dados, projetar e executar consultas analíticas e acessar subconjuntos de dados de um banco de dados para insights e processamento de transações são alguns de seus propósitos mais importantes. Ele também pode ser usado para inserir, modificar e remover linhas e colunas de dados em um banco de dados.
Antes de entrar nas profundezas do SQL, precisamos nos familiarizar com seus comandos e sintaxe básicos. Ao ler o artigo acima, podemos conhecer mais sobre as instruções básicas usadas em SQL, como CREATE TABLE, INSERT INTO, SELECT e muito mais.