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.