Transact-SQL
Creación de táboas
editarA 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
editarPRIMARY KEY define un campo como campo clave.
FOREIGN KEY
editarFOREIGN 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
editarCONSTRAINT permite asignarlle un nome a unha clave primaria dunha táboa, indicado a continuación da palabra clave.
NOT NULL
editarNOT NULL establece que o campo ao que afecta ten que levar obrigatoriamente un valor (non se pode deixar en branco).
CHECK
editarCHECK 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
editarPara 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
editarPara 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
editarPara 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
editarPara modificar unha restrición hai que borrala e volvela crear coa forma nova.
Xestión de datos
editarAltas
editarAs 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
editarAs 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
editarAs baixas consistene en borrar filas existentes actualmente.
Tipos de dato
editarCaracteres
editarO 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
editarBETWEEN
editarEsta sentencia permite establecer como condición que o valor a avaliar estea entre dous valores concretos.
Exemplo:
BETWEEN 0 AND 10
Funcións
editarDATEDIFF
editarDevolve 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
editarDevolve a data actual.