Transact-SQL
Creación de táboas
[editar]A sintaxe básica para crear unha táboa é a seguinte:
CREATE TABLE nomedataboa
(
[Definición dos campos da táboa]
)
Véxase o seguinte exemplo:
CREATE TABLE MODULOS
(
CODMOD CHAR(7) CONSTRAINT CPMOD PRIMARY KEY,
NOMMOD VARCHAR(30) NOT NULL,
NUMHORAS INT CONSTRAINT VALORHORAS CHECK (NUMHORAS BETWEEN 20 AND 700)
)
Agora cómpre aclarar que ademais do identificador das columnas, cada columna contra sempre un “identificador de restrición” (CONSTRAINT). Este identificador existe sempre, un por columna, e se non se lle da un nome ao crear a columna, o propio programa de xestión da base de datos daralle un identificador de restrición ao campo. Para modificar restricións necesitamos coñecer o nome, polo que cómpre personalizarmos o nome daqueles campos susceptibles de ter restricións.
Os campos das táboas poden contar con distintas propiedades, que se especifican ao final da liña na que se define o campo. A efectos do programa, todas estas propiedades considéranse restricións, polo que cómpre definir o identificador de restrición dos campos con algunha destas propiedades ou susceptibles de ter algunha delas no futuro.
PRIMARY KEY
[editar]PRIMARY KEY define un campo como campo clave.
FOREIGN KEY
[editar]FOREIGN KEY permite indicar que un campo fai referencia a un campo que é clave noutra táboa.
Véxase o seguinte exemplo:
campo CHAR(5) NOT NULL CONSTRAINT codigoexterno FOREIGN KEY REFERENCES taboa2(codigo),
CONSTRAINT
[editar]CONSTRAINT permite asignarlle un nome a unha clave primaria dunha táboa, indicado a continuación da palabra clave.
NOT NULL
[editar]NOT NULL establece que o campo ao que afecta ten que levar obrigatoriamente un valor (non se pode deixar en branco).
CHECK
[editar]CHECK permite establecer condicións que deben cumprir os valores introducidos nun campo concreto. Esta palabra clave sitúase ao final da definición dun campo,
Exemplo:
CREATE TABLE exemplo
(
HORAS INT CONSTRAINT VALORHORAS CHECK (BETWEEN 20 AND 700),
)
Modificar bases de datos
[editar]Para modificar unha base de datos utilízase “ALTER DATABASE” seguido do nome da base de datos e das modificacións, entre parénteses de ser máis dunha.
ALTER DATABASE basededatos MODIFY FILE (
NAME = novonome,
Size = 8MB
)
Modificar táboas
[editar]Para poder modificar unha táboa dende calquera lugar, debemos preceder a sentenza “ALTER TABLE” con «USE basededatos», onde basededatos será o nome da base de datos na que está a táboa.
Ao cambiar as propiedades cun campo, é necesario quitar (DROP
) antes calquera restrición existente no campo.
Engadir valor por omisión
[editar]Para engadir un valor por omisión a unha columna dunha táboa, farase como amosa o seguinte exemplo:
ALTER TABLE taboa ALTER COLUMN columna DEFAULT FOR valor
Modificar unha restrición
[editar]Para modificar unha restrición hai que borrala e volvela crear coa forma nova.
Xestión de datos
[editar]Altas
[editar]As altas son os engadidos de novas filas ás táboas. Estes engadidos de datos fanse mediante a orde INSERT, que permite engadir novas filas.
O seguinte é un exemplo do uso de INSERT:
INSERT INTO TlfE
VALUES ("23232323U", NULL, NULL, DEFAULT)
Actualización
[editar]As actualizacións consisten en modificar os datos de filas existentes.
- TRUNCATE
- Esta orde permite borrar o contido dunha táboa, sen borrar a táboa de por si.
Baixas
[editar]As baixas consistene en borrar filas existentes actualmente.
Tipos de dato
[editar]Caracteres
[editar]O tipo CHAR utilízase para campos en que o cantidade de caracteres introducida é sempre a mesma, mentres que VARCHAR utilízase nos casos en que a lonxitude vaia variar duns valores a outros.
Sentencias condicionais
[editar]BETWEEN
[editar]Esta sentencia permite establecer como condición que o valor a avaliar estea entre dous valores concretos.
Exemplo:
BETWEEN 0 AND 10
Funcións
[editar]DATEDIFF
[editar]Devolve a diferencia entre dúas datas. Pódese especificar a parte da data da que se vai obter a diferencia no primeiro argumento. O segundo e terceiro argumentos serán as datas inicial e final, respectivamente. A función devolve sempre un dato numérico.
GETDATE
[editar]Devolve a data actual.