Tabela (tabela) no SQL Server
- 12-09-2022
- Toanngo92
- 0 Comments
As tabelas no SQL Server contêm dados organizados em linhas e colunas. Cada coluna pode conter dados com um determinado tipo e tamanho de dados
Mục lục
Tipos de dados avançados
Além dos tipos de dados básicos, como int,float nvarchar… O SQL Server também suporta alguns tipos de dados avançados, como segue:
Nome | Descrever |
hieraquídeo | É um tipo de dados sistemático de comprimento variável usado para representar a posição de uma hierarquia (estratificação). |
geometria | É um tipo de dado espacial geométrico, usado para representar objetos em um sistema de coordenadas planas |
geografias | É um tipo de dado geoespacial, simula coordenadas de latitude e longitude (também conhecido como latlot). O SQL Server dá suporte a um conjunto de métodos para trabalhar com o tipo de dados de geografia. |
xml | Tipo de dados que pode armazenar dados XML (incluindo tags e nós de texto, com hierarquias) |
cursor | É o tipo de dados usado para saída de variável ou procedimento armazenado, contendo uma referência a um ponteiro |
tabela | Um tipo de dados que é especialmente útil para armazenar uma tabela temporária de valores. Esses dados podem ser usados para processamento posterior, podem ser usados em funções, procedimentos armazenados, lotes |
versão de linha | Este tipo de dado é gerado automaticamente, gerando um número binário único dentro do banco de dados |
Inicializar, editar, excluir tabelas
Criar tabela (Criar tabela)
Sintaxe para criar a tabela:
Documentos: https://docs.microsoft.com/en-us/sql/t-sql/statements/create-table-transact-sql?view=sql-server-ver15
-- Simple CREATE TABLE Syntax (common if not using options) CREATE TABLE { database_name.schema_name.table_name | schema_name.table_name | table_name } ( { <column_definition> } [ ,...n ] ) [ ; ]
Explique:
- database_name: o nome do banco de dados que você deseja criar uma tabela
- table_name: o nome da tabela que você deseja criar, até 128 caracteres
- column_name: o nome da coluna na tabela. Até 128 caracteres. Observação: o nome da coluna não precisa ser nomeado quando o tipo de dados da coluna é timestamp. O nome da coluna padrão da coluna com o tipo de dados timestamp é ‘timestamp’.
- data_type: define o tipo de dados (tipo de dados) para a coluna
Por exemplo:
USE AdventureWorks2019 CREATE TABLE dbo.CustomerInfo( CustomerID int NOT NULL, CustomerName nvarchar (40) NOT NULL ) GO
Sintaxe curta:
USE AdventureWorks2019 CREATE TABLE CusInfo( CusID int identity NOT NULL, CusName varchar(40) NOT NULL )
Observe que, se o padrão for inicializado, sem definir o esquema (esquema), o SQL Server interpretará implicitamente o esquema como dbo.
Modificar tabela (modificar tabela)
Sintaxe:
Documentos: https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-table-transact-sql?view=sql-server-ver15
ALTER TABLE [[dabase_name.[schema_name].|schema_name.]table_name ALTER COLUMN ([<column_name>] [data_type] NULL/ NOT NULLm); | ADD ([<column_name>] [data_type] NULL/NOT NULL); | DROP COLUMN ([<column_name>]);
Explique:
- ALTER TABLE: editar tabela
- ALTER COLUMN: define a coluna a ser editada
- ADICIONAR: adicionar uma ou mais colunas à tabela
- DROP COLUMN (<column_name>): define o nome da coluna chamada <column_name> a ser removida da tabela
Instrução de exemplo para adicionar colunas:
ALTER TABLE [dbo].[CustomerInfo] ADD [ContactNumber] [numberic](12,0) NOT NULL;
Exemplo de instrução de edição de coluna:
ALTER TABLE [dbo].[CustomerInfo] ALTER COLUMN [CustomerID] numberic[12,0] NOTNULL
Instrução de exemplo para excluir colunas:
ALTER TABLE [dbo].[CustomerInfo] DROP COLUMN [ContactNumber];
Nota: antes de excluir colunas, é necessário certificar-se de que as colunas não tenham restrições e possam ser excluídas. Em algumas restrições, as colunas não podem ser excluídas, por exemplo, se a coluna usa as restrições CHECK,FOREIGN KEY, UNIQUE, PRIMARY KEY ou a coluna é definida por padrão (DEFAULT) (que será abordada na próxima seção). próxima parte).
Mesa suspensa (tabela suspensa)
A instrução DROP TABLe excluirá toda a definição da tabela, seus dados e todos os objetos associados à tabela, como índices, gatilhos, restrições, especificações de permissão para a tabela.
Sintaxe:
DROP TABLE <table_name>
Exemplo de exclusão de tabela:
DROP TABLE dbo.CustomerInfo
Comandos para modificar dados
Para modificar os dados na tabela, existem instruções INSERT,UPDATE, DELETE que fazem esse trabalho.
Veja o artigo sobre INSERT no SQL Server: https://hocvietcode.com/lenh-insert-trong-sql-server/
Veja o artigo sobre UPDATE no SQL Server: https://hocvietcode.com/lenh-update-trong-sql-server/
Veja o artigo sobre DELETE no SQL Server: https://hocvietcode.com/lenh-delete-trong-sql-server/
Definição PADRÃO
Considere uma situação em que os detalhes do produto devem ser armazenados em uma tabela do SQL Server 2019, mas todos os valores dos detalhes do produto podem não ser conhecidos mesmo no momento da inserção dos dados. No entanto, de acordo com as regras de integridade e consistência de dados, as colunas em um registro geralmente devem conter um valor. Armazenar valores nulos em colunas de forma que o valor exato dos dados não seja conhecido pode causar alguns problemas indesejáveis.
Nesses casos, uma definição DEFAULT pode ser fornecida para a coluna para atribuí-la como o valor padrão se nenhum valor for fornecido no momento da criação. Por exemplo, é comum especificar zero como padrão para a coluna numérica.
A definição DEFAULT para uma coluna pode ser criada no momento da criação da tabela ou adicionada posteriormente à tabela atual. Quando uma definição DEFAULT é adicionada a uma coluna existente em uma tabela, o SQL Server aplica os novos padrões apenas às novas linhas de dados que são adicionadas à tabela.
Por exemplo, a instrução CREATE TABLE usa a palavra-chave DEFAULT para definir um valor padrão para a coluna Price .
CREATE TABLE StoreProduct (ProductID int NOT NULL, Name varchar(40) NOT NULL, Price money NOT NULL DEFAULT(100))
Quando a linha for adicionada usando o comando abaixo, a coluna Preço terá um valor padrão de 100 caso nenhum valor seja inserido.
INSERT INTO dbo.StoreProduct (ProductID,Name) VALUES (111,'Laptop Dell 5450') SELECT * FROM dbo.StoreProduct GO
Alguns tipos de coluna não podem definir definições DEFAULT:
- Um tipo de dados de carimbo de data/hora
- Coluna com atributo IDENTITY ou ROWGUIDCOL .
Propriedade de IDENTIDADE (propriedade de IDENTIDADE)
A propriedade SQL Server IDENTITY é usada para criar colunas de identidade que podem conter valores sequenciais gerados automaticamente que identificam exclusivamente cada linha em uma tabela. Por exemplo, uma coluna de identidade pode ser criada para gerar automaticamente números de registro de alunos exclusivos sempre que novas linhas forem inseridas na tabela Alunos. O identificador para a primeira linha inserida na tabela é chamado de valor semente. O incremento, também conhecido como propriedade Identity Increment, é adicionado à semente para criar um identificador adicional que é gerado automaticamente pelo SQL Server adicionando o incremento à semente. Uma coluna de identidade é comumente usada para valores de chave primária.
As colunas que usam o atributo IDENTITY devem ser colunas com dados inteiros:
- decimal
- int
- numérico
- smallint
- bigint
- minúsculo
A coluna com o atributo IDENTITY não precisa ser definida com o valor SEED (seed) e especificar o valor do incremento ( increment ), caso não seja especificado, os valores SEED e INCREMENT são iguais a 1 por padrão.
Sintaxe:
CREATE TABLE <table_name> (column_name data_type IDENTITY(seed_value,increment_value) NOT NULL)
Explique:
- valor_semente: o valor semente começa a inicializar o valor para a identidade
- increment_value: o valor incrementado toda vez que o banco de dados tem um novo registro
Por exemplo:
CREATE TABLE HRContactPhone (Person_ID int IDENTITY(500,1) NOT NULL, MobileNumber bigint NOT NULL)
Ao inserir dados na tabela e selecionar:
INSERT INTO HRContactPhone(MobileNumber) VALUES (0911222334) INSERT INTO HRContactPhone(MobileNumber) VALUES (0934333123) SELECT * FROM HRContactPhone GO
Identificador globalmente exclusivo
Além da propriedade identity , o SQL Server também oferece suporte a identificadores exclusivos globalmente. Normalmente, em um ambiente de rede, várias tabelas podem exigir uma coluna que inclua um valor exclusivo globalmente comum. Considere uma situação em que os dados de vários sistemas de banco de dados, como um banco de dados bancário, devem ser consolidados em um único local. Quando os dados de todo o mundo são coletados em uma autoridade central para agregação e relatórios, o uso de valores globalmente exclusivos impede que clientes em diferentes países tenham o mesmo número de conta bancária ou ID de cliente. Para contornar isso, o SQL Server fornece colunas identificadoras globalmente exclusivas. Eles podem ser criados para cada tabela contendo valores únicos em todos os computadores da rede. Somente na coluna de identidade e uma coluna de identificador globalmente exclusivo pode ser criada para cada tabela. Para gerar e trabalhar com identificadores globalmente exclusivos, uma combinação de ROWGUIDCOL , uniqueidentifier e as funções NEWID() são usadas para gerar o identificador.
Por exemplo:
CREATE TABLE Emp_CellularPhone(Person_ID uniqueidentifier DEFAULT NEWID() NOT NULL, PersonName varchar(60) NOT NULL)
Em seguida, coloque os dados na tabela:
INSERT INTO Emp_CellularPhone(PersonName) VALUES ('William Smith') SELECT * FROM Emp_CellularPhone GO