SQL: qué es, para qué se necesita el lenguaje y funciones básicas para principiantes. Cómo crear una base de datos en entorno SQL Server

1 voto

Bienvenido a mi sitio de blogs. Hoy hablaremos sobre consultas SQL para principiantes. Algunos webmasters pueden tener alguna pregunta. ¿Por qué aprender SQL? ¿No es posible arreglárselas?

Resulta que esto no será suficiente para crear un proyecto de Internet profesional. Sql se utiliza para trabajar con bases de datos y crear aplicaciones para WordPress. Veamos cómo utilizar las consultas con más detalle.

Qué es

SQL es un lenguaje de consulta estructurado. Diseñado para determinar el tipo de datos, brindar acceso a los mismos y procesar información en cortos períodos de tiempo. Describe los componentes o algunos resultados que desea ver en el proyecto de Internet.

En pocas palabras, este lenguaje de programación le permite agregar, cambiar, buscar y mostrar información en la base de datos. La popularidad de mysql se debe a que se utiliza para crear proyectos dinámicos de Internet que se basan en una base de datos. Por tanto, para desarrollar un blog funcional, es necesario aprender este idioma.

¿Qué puede hacer?

El lenguaje sql te permite:

  • crear tablas;
  • cambiar para recibir y almacenar diversos datos;
  • combinar información en bloques;
  • proteger datos;
  • crear solicitudes en el acceso.

¡Importante! Una vez que comprenda SQL, podrá escribir aplicaciones para WordPress de cualquier complejidad.

que estructura

La base de datos consta de tablas que se pueden presentar como un archivo Excel.

Tiene un nombre, columnas y una fila con alguna información. Puede crear este tipo de tablas mediante consultas SQL.

Lo que necesitas saber


Puntos clave para aprender SQL

Como se señaló anteriormente, las consultas se utilizan para procesar e ingresar nueva información en una base de datos que consta de tablas. Cada línea es una entrada separada. Entonces, creemos una base de datos. Para hacer esto, escriba el comando:

Crear base de datos 'bazaname'

Escribimos el nombre de la base de datos en latín entre comillas. Intente encontrarle un nombre claro. No cree una base de datos como “111”, “www” y similares.

Después de crear la base de datos, instale:

ESTABLECER NOMBRES 'utf-8'

Esto es necesario para que el contenido del sitio se muestre correctamente.

Ahora creemos una tabla:

CREAR TABLA 'bazaname' . 'mesa' (

id INT(8) NO NULA CLAVE PRIMARIA AUTO_INCREMENT,

registro VARCHAR(10),

pasar VARCHAR(10),

fecha FECHA

En la segunda línea escribimos tres atributos. Veamos qué significan:

  • El atributo NOT NULL significa que la celda no estará vacía (el campo es obligatorio);
  • El valor AUTO_INCREMENT se completa automáticamente;
  • CLAVE PRIMARIA - clave primaria.

Cómo agregar información

Para llenar los campos de la tabla creada con valores, se utiliza la declaración INSERT. Escribimos las siguientes líneas de código:

INSERTAR EN 'tabla'

(iniciar sesión, contraseña, fecha) VALORES

('Vasa', '87654321', '2017-06-21 18:38:44');

Entre paréntesis indicamos los nombres de las columnas y, a continuación, los valores.

¡Importante! Mantenga la coherencia en los nombres y valores de las columnas.

Cómo actualizar la información

Para hacer esto, use el comando ACTUALIZAR. Veamos cómo cambiar la contraseña de un usuario específico. Escribimos las siguientes líneas de código:

ACTUALIZAR 'tabla' SET pass = '12345678' DONDE id = '1'

Ahora cambie la contraseña '12345678'. Los cambios ocurren en la línea con “id”=1. Si no escribe el comando WHERE, todas las líneas cambiarán, no una específica.

Te recomiendo que compres el libro " SQL para tontos " Con su ayuda, podrás trabajar profesionalmente con la base de datos paso a paso. Toda la información está estructurada según el principio de simple a complejo y será bien percibida.

Cómo eliminar una entrada

Si escribió algo mal, corríjalo usando el comando BORRAR. Funciona igual que ACTUALIZAR. Escribimos el siguiente código:

ELIMINAR DE 'tabla' DONDE id = '1'

Información de muestreo

Para recuperar valores de la base de datos, use el comando SELECT. Escribimos el siguiente código:

SELECCIONAR * DE 'tabla' DONDE id = '1'

En este ejemplo, seleccionamos todos los campos disponibles en la tabla. Esto sucede si ingresa un asterisco "*" en el comando. Si necesita seleccionar algún valor de muestra, escriba esto:

SELECCIONE el registro, pase DESDE la tabla DONDE id = '1'

Cabe señalar que la capacidad de trabajar con bases de datos no será suficiente. Para crear un proyecto de Internet profesional, deberá aprender a agregar datos de una base de datos a las páginas. Para ello, familiarícese con el lenguaje de programación web PHP. Te ayudará con esto curso genial de Mikhail Rusakov .


Eliminar una tabla

Ocurre mediante una solicitud DROP. Para ello escribiremos las siguientes líneas:

mesa DROP TABLE;

Mostrar un registro de una tabla según una condición específica

Considere este código:

SELECCIONE ID, país, ciudad DE la tabla DONDE personas>150000000

Mostrará registros de países con una población de más de ciento cincuenta millones.

Asociación

Es posible vincular varias tablas usando Join. Mira cómo funciona con más detalle en este vídeo:

PHP y MySQL

Una vez más quiero enfatizar que las solicitudes al crear un proyecto de Internet son algo común. Para usarlos en documentos PHP, siga el siguiente algoritmo:

  • Conéctese a la base de datos usando el comando mysql_connect();
  • Usando mysql_select_db() seleccionamos la base de datos deseada;
  • Procesamos la solicitud usando mysql_fetch_array();
  • Cierre la conexión con el comando mysql_close().

¡Importante! Trabajar con una base de datos no es difícil. Lo principal es redactar la solicitud correctamente.

Los webmasters principiantes lo pensarán. ¿Qué debería leer sobre este tema? Me gustaría recomendar el libro de Martin Graber " SQL para simples mortales " Está escrito de tal manera que los principiantes entenderán todo. Úselo como libro de referencia.

Pero esto es una teoría. ¿Cómo funciona esto en la práctica? En realidad, no solo es necesario crear un proyecto de Internet, sino también llevarlo al TOP de Google y Yandex. El curso en vídeo te ayudará con esto " Creación y promoción de sitios web. ».


Instrucciones en vídeo

¿Aún tienes preguntas? Mire el vídeo en línea para obtener más detalles.

Conclusión

Entonces, descubrir cómo escribir consultas SQL no es tan difícil como parece, pero cualquier webmaster debe hacerlo. Los cursos en vídeo descritos anteriormente ayudarán con esto. Suscríbete a mi grupo vkontakte para ser el primero en enterarte cuando aparezca nueva información interesante.

Entonces nos familiarizamos con los tipos de datos, ahora mejoraremos las tablas de nuestro foro. Veámoslos primero. Y comencemos con la tabla de usuarios. Tenemos 4 columnas en él:

Id_user son valores enteros, lo que significa que el tipo será int, limitémoslo a 10 caracteres: int (10).
El nombre es un valor de cadena varchar, limitémoslo a 20 caracteres: varchar(20).
email es un valor de cadena varchar, limitémoslo a 50 caracteres: varchar(50).
La contraseña es un valor de cadena varchar, la limitaremos a 15 caracteres: varchar(15).

Todos los valores de campo son obligatorios, lo que significa que debe agregar el tipo NOT NULL.

id_user int (10) NO NULO
nombre varchar(20) NO NULO
correo electrónico varchar(50) NO NULO

La primera columna, como recordarás del modelo conceptual de nuestra base de datos, es la clave primaria (es decir, sus valores son únicos e identifican de forma única el registro). Es posible controlar la unicidad por uno mismo, pero no es racional. Hay un atributo especial en SQL para esto: AUTO_INCREMENT, que al acceder a la tabla para agregar datos, calcula el valor máximo de esta columna, aumenta en 1 el valor resultante y lo ingresa en la columna. Por lo tanto, se genera automáticamente un número único en esta columna y, por lo tanto, el tipo NOT NULL es redundante. Entonces, asignemos un atributo a la columna con la clave principal:


nombre varchar(20) NO NULO
correo electrónico varchar(50) NO NULO
contraseña varchar(15) NO NULA

Ahora necesitamos especificar que el campo id_user es la clave principal. Para hacer esto, SQL usa la palabra clave CLAVE PRINCIPAL(), el nombre del campo clave se indica entre paréntesis. Hagamos cambios:

ID_usuario int (10) AUTO_INCREMENT
nombre varchar(20) NO NULO
correo electrónico varchar(50) NO NULO
contraseña varchar(15) NO NULA
CLAVE PRIMARIA (id_user)

Entonces, la tabla está lista y su versión final se ve así:

Crear usuarios de tabla (
id_user int (10) AUTO_INCREMENT,
nombre varchar(20) NO NULO,
correo electrónico varchar(50) NO NULO,
contraseña varchar(15) NO NULA,
CLAVE PRIMARIA (id_user)
);

Ahora veamos la segunda tabla: temas. Argumentando de manera similar, tenemos los siguientes campos:



id_autor int (10) NO NULO
CLAVE PRIMARIA (id_topic)

Pero en nuestro modelo de base de datos, el campo id_author es una clave externa, es decir solo puede tener los valores que están en el campo id_user de la tabla de usuarios. Para indicar esto en SQL hay una palabra clave CLAVE EXTRANJERA(), que tiene la siguiente sintaxis:

CLAVE EXTRANJERA (nombre_columna_que_es_clave_extranjera) REFERENCIAS nombre_tabla_padre (nombre_columna_padre);

Indiquemos que id_author es una clave foránea:

Id_topic int (10) AUTO_INCREMENT
nombre_tema varchar(100) NO NULO
id_autor int (10) NO NULO
CLAVE PRIMARIA (id_topic)
CLAVE EXTRANJERA (id_autor) REFERENCIAS usuarios (id_usuario)

La tabla está lista y su versión final se ve así:

Crear temas de tabla (
id_topic int (10) AUTO_INCREMENT,
nombre_tema varchar(100) NO NULO,

CLAVE PRIMARIA (id_topic),
CLAVE EXTRANJERA (id_autor) REFERENCIAS usuarios (id_usuario)
);

La última tabla que queda son las publicaciones. Aquí todo es similar, sólo dos claves foráneas:

Crear publicaciones de tabla (
id_post int (10) AUTO_INCREMENT,
texto del mensaje NO NULO,
id_author int (10) NO NULO,
id_topic int (10) NO NULO,
CLAVE PRIMARIA (id_post),
CLAVE EXTRANJERA (id_autor) REFERENCIAS usuarios (id_usuario),
CLAVE EXTRANJERA (id_topic) REFERENCIAS temas (id_topic)
);

Tenga en cuenta que una tabla puede tener varias claves externas, pero en MySQL solo puede haber una clave principal. En la primera lección eliminamos nuestra base de datos del foro, es hora de crearla nuevamente.

Lanzamos el servidor MySQL (Inicio - Programas - MySQL - MySQL Server 5.1 - MySQL Command Line Client), ingresamos la contraseña, creamos un foro de base de datos (crear foro de base de datos;), lo seleccionamos para usarlo (usar foro;) y creamos nuestros tres tablas:

Tenga en cuenta que un comando se puede escribir en varias líneas usando la tecla Enter (MySQL sustituye automáticamente el carácter de nueva línea ->), y solo después del delimitador (punto y coma) al presionar la tecla Enter se ejecuta la consulta.

Recuerde, si hizo algo mal, siempre puede eliminar una tabla o toda la base de datos usando la instrucción DROP. Corregir algo en la línea de comando es extremadamente inconveniente, por lo que a veces (especialmente en la etapa inicial) es más fácil escribir consultas en algún editor, por ejemplo el Bloc de notas, y luego copiarlas y pegarlas en una ventana negra.

Entonces, se crean las tablas, para asegurarnos de esto, recordemos el comando mostrar tablas:

Y finalmente, veamos la estructura de nuestra tabla de últimas publicaciones:

Ahora los significados de todos los campos de la estructura quedan claros, excepto el campo DEFAULT. Este es el campo de valor predeterminado. Podríamos especificar un valor predeterminado para alguna columna (o todas). Por ejemplo, si tuviéramos un campo llamado "Casado" y escribiéramos ENUM ("sí", "no"), entonces tendría sentido convertir uno de los valores en el valor predeterminado. La sintaxis sería:

Enumeración casada ("sí", "no") NOT NULL predeterminada ("sí")

Aquellos. esta palabra clave se escribe separada por un espacio después del tipo de datos y el valor predeterminado se indica entre paréntesis.

Pero volvamos a nuestras mesas. Ahora necesitamos ingresar datos en nuestras tablas. En los sitios web, normalmente se ingresa información en algunos formularios html, luego un script en algún lenguaje (php, java...) extrae estos datos del formulario y los ingresa en la base de datos. Lo hace a través de una consulta SQL para ingresar datos en la base de datos. Todavía no sabemos cómo escribir scripts en PHP, pero ahora aprenderemos cómo enviar consultas SQL para ingresar datos.

Para ello se utiliza el operador INSERTAR. Hay dos tipos de sintaxis que puede utilizar. La primera opción se utiliza para ingresar datos en todos los campos de la tabla:

INSERTAR EN VALORES de nombre_tabla ("valor_primera_columna", "valor_segunda_columna", ..., "valor_última_columna");


Intentemos agregar los siguientes valores a nuestra tabla de usuarios:

INSERTAR EN LOS VALORES de los usuarios ("1","sergey", " [correo electrónico protegido]", "1111");

La segunda opción se utiliza para ingresar datos en algunos campos de la tabla:

INSERTAR EN nombre_tabla ("nombre_columna", "nombre_columna") VALORES ("valor_primera_columna", "valor_segunda_columna");


En nuestra tabla de usuarios, todos los campos son obligatorios, pero nuestro primer campo tiene la palabra clave AUTO_INCREMENT (es decir, se completa automáticamente), por lo que podemos omitir esta columna:

INSERTAR EN usuarios (nombre, correo electrónico, contraseña) VALORES ("valera", " [correo electrónico protegido]", "2222");

Si tuviéramos campos con tipo NULL, es decir. Opcional, también podríamos ignorarlos. Pero si intenta dejar un campo con el valor NOT NULL vacío, el servidor mostrará un mensaje de error y no completará la solicitud. Además, al ingresar datos, el servidor verifica las relaciones entre tablas. Por lo tanto, no podrá agregar un valor a un campo que sea una clave externa que no exista en la tabla relacionada. Verificará esto ingresando datos en las dos tablas restantes.

Pero primero, agreguemos información sobre algunos usuarios más. Para agregar varias líneas a la vez, solo necesitas enumerar los paréntesis con valores separados por comas:

Ahora ingresemos los datos en la segunda tabla: temas. Todo es igual, pero debemos recordar que los valores del campo id_author deben estar presentes en la tabla de usuarios:

Ahora intentemos agregar otro tema, pero con id_author, que no está en la tabla de usuarios (como agregamos solo 5 usuarios a la tabla de usuarios, entonces id=6 no existe):

El servidor arroja un error y dice que no puede ingresar dicha línea porque un campo que es una clave externa contiene un valor que no está en la tabla de usuarios relacionados.

Ahora agreguemos algunas filas a la tabla de publicaciones, recordando que tenemos 2 claves externas, es decir, id_author e id_topic, que ingresaremos, deben estar presentes en las tablas asociadas a ellos:

Entonces tenemos 3 tablas que contienen datos. Surge la pregunta: cómo ver qué datos están almacenados en las tablas. Esto es lo que haremos en la próxima lección.

Idioma SQL se utiliza no solo para procesar información, sino que también está destinado a realizar todas las operaciones con bases de datos y tablas, incluida la creación de tablas y el trabajo con ellas. Hay dos formas de crear tablas: 1) la mayoría de los DBMS tienen una interfaz visual para crear y gestionar tablas de forma interactiva; 2) Las tablas se pueden manipular mediante sentencias SQL. Vale la pena señalar que cuando se utiliza un kit de herramientas DBMS interactivo, todo el trabajo lo realizan las declaraciones SQL, es decir. la interfaz misma crea estos comandos sin que el usuario se dé cuenta (esto es similar a grabar una macro en Excel, donde la grabadora de macros registra sus acciones y las convierte en comandos VBA).

1. Creando tablas

Para crear tablas mediante programación, utilice el operador CREAR TABLA. Para ello es necesario proporcionar la siguiente información:

  • - nombre de la tabla, que se indica después de la palabra clave CREAR TABLA
  • - nombres y definiciones de columnas de la tabla, separados por comas
  • - Algunos DBMS también requieren que se especifique la ubicación de la tabla.

Creemos una nueva tabla y llamémosla Clientes:

CREAR TABLAClientes (
ID CHAR(10) NOT NULL Clave principal,
Nombre_personalizado CHAR(25) NO NULO,
Dirección_personalizada CHAR(25) NULO,
ciudad_personalizada CHAR(25) NULO,
País_personalizado CHAR(25) NULO,
ArcDate CHAR(25) NO NULO, PREDETERMINADO AHORA)

Entonces primero indicamos el nombre de la nueva tabla, luego entre paréntesis enumeramos las columnas que crearemos, y sus nombres no se pueden repetir dentro de la misma tabla. Después de los nombres de las columnas, se indica el tipo de datos para cada campo ( CARACTERÍSTICA (10)), luego observamos si el campo puede contener valores vacíos ( NULO o NO NULO), y también debe especificar el campo que será la clave principal ( clave primaria).

El lenguaje SQL también permite definir un valor predeterminado para cada campo, es decir, si el usuario no especifica el valor de un campo en particular, el DBMS lo ingresará automáticamente. El valor predeterminado está determinado por la palabra clave. POR DEFECTO al definir columnas por operador CREAR TABLA.

2. Actualización de tablas

Para cambiar una tabla en SQL se utiliza el operador ALTERAR TABLA. Al utilizar este operador, debe ingresar la siguiente información:

  • - nombre de la tabla que queremos cambiar
  • - una lista de cambios que queremos hacer.

Por ejemplo, agreguemos una nueva columna a la tabla. Vendedores, en el que indicaremos el número de teléfono del vendedor:

ALTER TABLA Vendedores AÑADIRTeléfono CHAR (20)

Además de agregar columnas, podemos eliminarlas. Ahora eliminemos el campo. Teléfono. Para hacer esto, escribamos la siguiente consulta:

ALTERAR LA COLUMNA DE CAÍDA DE VENDEDORES DE MESATeléfono

3. Quitar mesas

La eliminación de tablas se realiza mediante el operador. MESA DE CAÍDA. Para eliminar una tabla Vendedores_nuevo, podemos escribir la siguiente consulta:

MESA DROP Sellers_new

Muchos DBMS tienen reglas que impiden la eliminación de tablas que ya están vinculadas a otras tablas. Si estas reglas están vigentes y elimina dicha tabla, el DBMS bloquea la operación de eliminación hasta que se elimine la relación. Estas medidas evitan la eliminación accidental de tablas necesarias.

Introducción

Sigamos estudiando consultas SQL a la base de datos. Hoy en día, una de las consultas SQL simples es la consulta SQL para crear una tabla de base de datos. La consulta se ejecuta según la instrucción CREATE TABLE.

Crear una tabla de base de datos

Hay una declaración SQL que se utiliza para crear tablas de bases de datos. Declaración: CREAR TABLA.

Recuerde que una tabla de base de datos relacional debe tener un carácter único:

  • Nombre único;
  • Columnas (atributos);
  • Clave primaria.
  • Filas (registros);

Para empezar, creamos solo una tabla y no la llenamos con datos.

En el buen sentido, la apariencia general de la tabla con nombres únicos de filas y columnas se especifica al crear. Por ejemplo, crearemos una tabla de base de datos simple y prescindiremos de un modelo conceptual.

En este artículo, crearemos una tabla de base de datos con clientes. Se toma a los compradores como ejemplo.

¿Cómo se identifica al comprador? Decidimos que cada cliente esté identificado por los siguientes datos:

  • Apellido;
  • Acceso;
  • Contraseña;
  • Correo electrónico;
  • teléfono.

Recuerda que en la tabla debes especificar.

Para crear una tabla de base de datos, utilizamos la instrucción SQL CREATE TABLE.

La sintaxis del operador es:

CREAR TABLA nombre de la tabla (columna 1, tipo de columna (espacio) opción de columna (espacio), columna 2, tipo de columna (espacio) opción de columna (espacio), columna 3, tipo de columna (espacio) opción de columna (espacio), etc.)

En nuestra versión, el nombre de la tabla es: clientes. Damos a las columnas de datos del cliente designaciones:

  • Nombre: que sea cliente_cliente;
  • Apellido: cliente_subcliente;
  • Iniciar sesión: client_login;
  • Contraseña: contraseña_cliente;
  • correo electrónico: cliente_correo;
  • Teléfono: client_telefon.

Pensamos en qué tipo de datos se almacenarán en estas columnas y seleccionamos los tipos de datos CHAR (la longitud del campo es constante) o VARCHAR (la longitud del campo es variable). En nuestro caso, el tipo de datos VARCHAR es adecuado.

Prestamos especial atención a la clave principal. Hagamos de la identificación del comprador la clave principal. En los parámetros clave especificamos que esta es una clave primaria, no puede ser cero y que para el siguiente registro se incrementa en uno. La última propiedad se llama autoincremento. Miramos la sugerencia en el libro de referencia (enlace arriba) y obtenemos una columna con una clave principal:

Client_id entero no nulo clave principal auto_increment

Escribir una consulta SQL para crear una tabla de base de datos

Resumimos todos los datos de origen y obtenemos la siguiente consulta SQL:

/*Clientes de tabla de usuarios*/ crear clientes de tabla (/*client_id será una clave primaria (necesariamente un número entero) con incremento automático (+1), que nunca será cero*/ client_id entero no nulo clave primaria de auto_increment, client_customer varchar (13), /*nombre */ client_surclient varchar(22), /*apellido */ client_login varchar(21), /*login*/ client_passwd varchar(7), /*contraseña*/ client_email varchar(44) /* correo electrónico*/ client_telefon varchar(26) /*teléfono*/);

Nota: Creamos una consulta SQL para crear una tabla en un editor de texto como Notepad++. Entre paréntesis limitamos la longitud del campo, puede ser de 1 a 255.

Resumen del artículo

  • En este artículo conocimos la primera declaración SQL en el lenguaje CREATE TABLE.
  • Creamos una consulta SQL para crear una (primera) tabla de base de datos con una clave principal.

El tipo de lenguaje utilizado en un DBMS particular se llama dialectoSQL. Por ejemplo, el dialecto Oracle DBMS se llama P.L./ SQL; MSSQLServer y DB2 usan dialecto Tramitar- SQL; en Interbase y Firebird– isql. Cada dialecto SQL es compatible hasta cierto punto con el estándar SQL, pero puede tener diferencias y extensiones de lenguaje específicas, por lo que para conocer la sintaxis de una declaración SQL en particular, primero debe mirar Ayuda SGBD específicos.

Para operaciones en bases de datos y tablas, el estándar SQL proporciona los siguientes operadores:

La siguiente es la sintaxis SQL92 para estas declaraciones. Dado que su sintaxis en el DBMS puede diferir de la estándar, se recomienda consultar el sistema de ayuda del DBMS al realizar trabajos de laboratorio.

Los nombres de los objetos de la base de datos (tablas, columnas, etc.) pueden constar de caracteres alfanuméricos y un carácter de subrayado. Los caracteres especiales (@$#, etc.) suelen indicar un tipo especial de tabla (sistema, temporal, etc.). No se recomienda utilizar caracteres nacionales (rusos), espacios y palabras reservadas en los nombres, pero si aún se utilizan, dichos nombres deben escribirse entre comillas ".." o entre corchetes [..].

Además, al describir las construcciones de sentencias SQL, se utilizará la siguiente notación: las partes opcionales de la construcción se escriben entre corchetes; diseños alternativos están separados por una barra vertical | ; las llaves () resaltan los bloques lógicos de la estructura; elipsis Indica que la parte anterior de la estructura se puede repetir muchas veces. Las estructuras "ampliables" están escritas entre paréntesis angulares< >.

Creando una base de datos

CREAR BASE DE DATOS nombre_base de datos

Eliminar una o más bases de datos

SOLTAR BASE DE DATOS nombre_base de datos[,nombre_base de datos…]

Declarar la base de datos actual

USAR Nombre_base de datos –- en SQL Server y MySQL

ESTABLECER BASE DE DATOS Nombre_ bases_ datos – en pájaro de fuego

Creando una tabla

CREAR TABLA Nombre de la tabla (

<описание_столбца> [, <descripción_columna> |

<restricción de integridad de tabla>…]

< descripción_columna>

Nombre de columna TIPO

(SIN ACCIÓN|CASCADA|ESTABLECER PREDETERMINADO|ESTABLECER NULO)]

TIPO La columna puede ser un tipo de datos estándar (ver Tabla 1) o un nombre de dominio (ver sección 6.2).

Algunos DBMS le permiten crear columnas calculadas (computerizado columnas). Estas son columnas virtuales, cuyo valor no se almacena en la memoria física, sino que el servidor DBMS lo calcula cada vez que se accede a esta columna utilizando la fórmula especificada al declarar esta columna. La fórmula puede incluir valores de otras columnas de esa fila, constantes, funciones integradas y variables globales.

La descripción de una columna calculada en SQL Server es:

<описание_столбца> Nombre de columna COMO expresión

Descripción de la columna calculada en pájaro de fuego tiene la forma:

<описание_столбца> Nombre de columna COMPUTADO POR<expresión>

El DBMS MySQL 3.23 no admite columnas calculadas.

< >

RESTRICCIÓN nombre_restricción_integridad

(ÚNICA|CLAVE PRIMARIA)( lista_de_columnas_formando_clave)

|CLAVE EXTRANJERA ( lista_ columnas_FK)

REFERENCIAS Nombre de la tabla(lista_columnas_PAQUETE)

(SIN ACCIÓN|CASCADA|ESTABLECER PREDETERMINADO|ESTABLECER NULO)]

(SIN ACCIÓN|CASCADA|ESTABLECER PREDETERMINADO|ESTABLECER NULO)]

|COMPROBAR ( condición_prueba)

Algunos DBMS permiten la declaración de tablas temporales (que existen sólo durante una sesión). En SQL Server, los nombres de las tablas temporales deben comenzar con # (tablas temporales locales visibles solo para el usuario que las creó) o ## (tablas globales visibles para todos los usuarios); MySQL usa la palabra clave TEMPORARY para crear tablas temporales, por ejemplo:

CREARTEMPORARIOMESA... (para obtener más sintaxis, consulte CREAR TABLA).

Cambiar la estructura de la tabla

Se utiliza para cambiar el tipo de columna de tablas existentes, agregar y eliminar columnas y restricciones de integridad.

ALTERAR TABLA Nombre de la tabla

Cambiar un tipo de columna (en SQLServer y Firebird)

ALTERAR COLUMNA Nombre de columna nuevo_TIPO

Cambiar el tipo de columna, el nombre y las restricciones (en MySQL)

CAMBIAR COLUMNA Nombre de columna <descripción_columna>

Agregar una columna regular o calculada

|AÑADIR<descripción_columna>

Agregar una restricción de integridad

| AGREGAR

<restricción de integridad de tabla>

Eliminar una columna

| COLUMNA DE GOTA Nombre de columna

Eliminar una restricción de integridad

|RESTRICCIÓN DE CAÍDA nombre_restricción_integridad

Habilitar o deshabilitar la verificación de restricciones de integridad

Servidor BMSSQL

|(COMPROBAR|NO COMPROBAR) RESTRICCIÓN

{Lista_de_nombres_de_restricciones_de_integridad|TODOS)

Eliminar una tabla

MESA DE CAÍDA Nombre de la tabla



A continuación, veremos cómo declarar restricciones de integridad declarativas al crear nuevas tablas con el comando CREATETABLE o cambiar la estructura de tablas existentes con el comando ALTERTABLE (se describen con más detalle en la sección 4.2).

1. Disponibilidad obligatoria de datos (valores NULOS)

Declarado por la palabra NULL (la columna puede tener celdas vacías) o NOT NULL (la columna es obligatoria). El valor predeterminado es NULO.

Ejemplo de creación de la tabla 7:

CREARMESA Clientela(

Nombre del cliente NVARCHAR(60) NO NULO,

Fecha de nacimiento FECHA NULO,

Teléfono CARBONIZARSE(12));

-- el valor predeterminado también es NULL 2. Valor predeterminado

Se puede establecer un valor predeterminado para cada columna de la tabla. Si se modifica una celda y no se especifica su nuevo valor, el servidor inserta un valor predeterminado. El valor predeterminado puede ser NULL, una constante, una expresión evaluada o una función del sistema.

Veamos un ejemplo de creación de una tabla. Órdenes(Órdenes). Columna Fecha de pedido por defecto es la fecha actual, y la columna Cantidad(cantidad) por defecto es 0.

CREAR TABLAÓrdenes(

Número de pedido ENT NO NULO, -- número de orden

Fecha de pedido FECHA HORA NO NULO-- fecha del pedido

POR DEFECTO Obtener fecha()

La función GetDate() devuelve la fecha actual 8

Cantidad PEQUEÑO NO NULO-- cantidad de bienes, POR DEFECTO 0);

3. Declaración de claves primarias (CLAVE PRIMARIA)

Una clave primaria simple se declara con las palabras PRIMARYKEY al crear una tabla. Por ejemplo,

CREARMESA Personal( -- tabla "Empleados"

Núm. de tabulación ENTPRIMARIOLLAVE, -- clave primaria

WNombre NVARCHAR(40) NONULO, -- nombre completo

... -- descripción de otras columnas);

Una clave primaria compuesta se declara de manera diferente:

-- método 1 (anuncioPAQUETEal crear una tabla)

CREAR TABLA Clientela(

PasaSeria NUMÉRICO(4,0)NO NULO,-- serie pasaportes

NúmeroPas NUMÉRICO(6,0)NO NULO,-- número pasaportes

Nombre NVARCHAR(40)NO NULO,

Teléfono CARBONIZARSE(12),

-- declaración de una clave primaria compuesta

RESTRICCIÓN Clientes_PK

PRIMARIO LLAVE(PasSeria,PasNumber));

-- método 2(PAQUETEdeclarado después de la creación de la tabla)

-- primero crea una tabla sinPAQUETE

CREAR MESA Clientela(

PasaSeria NUMÉRICO(4,0)NO NULO,--serie pasaportes

NúmeroPas NUMÉRICO(6,0)NO NULO,--número pasaportes

Nombre del cliente NVARCHAR(40)NO NULO,

Teléfono CARBONIZARSE(12));

-- modificación mesasagregar RK

ALTERAR MESA Clientela

AGREGAR RESTRICCIÓN Clientes_PK

PRIMARIO LLAVE(PasSeria,PasNumber);

4. Singularidad de las columnas. (ÚNICO)

Como Primario Llave indica que una columna o grupo de columnas no puede contener valores duplicados, pero no es PAQUETE. Todas las columnas declaradas ÚNICAS deben ser NOTNULL. Un ejemplo de una declaración de columna única simple:

CREAR TABLA Estudiantes(

Código SC ENT PRIMARIO LLAVE, -- sustituto RK

FIO NVARCHAR(40) NO NULO, -- nombre completo

Libro de registro CARBONIZARSE(6) NO NULO ÚNICO); -- Número de registro

Ejemplo de declaración de campo único compuesto:

CREAR MESA Personal(-- mesa " Trabajadores"

Núm. de tabulación INT CLAVE PRIMARIA, -- hoja de tiempo número

WNombre NVARCHAR(40) NO NULO, -- nombre completo

PasaSeria NUMÉRICO(4,0) NO NULO, -- serie pasaportes

NúmeroPas NUMÉRICO(6,0) NO NULO, -- número pasaportes

-- anuncio compuesto único campos

RESTRICCIÓN Personal_UNQ ÚNICO(PasSeria,PasNumber));

5. Restricciones en valores columna (CONTROLAR)

Esta restricción le permite especificar un rango, lista o "máscara" de valores lógicamente válidos para una columna.

Ejemplo de creación de tabla Trabajadores(Trabajadores):

CREARMESA Trabajadores(

-- Números de personal de 4 dígitos

Núm. de tabulación INT CLAVE PRIMARIA

CONTROLAR(Núm. de tabulación ENTRE 1000 Y 9999),

Nombre VARCHAR(60) NO NULO, -- nombre completo empleado

-- pisocarta " metro" o " y"

Alta burguesía CARBONIZARSE(1) NO NULO

CONTROLAR(Alta burguesía EN("m","f")),

Edad mínima 14 años

Edad PEQUEÑO NO NULO CONTROLAR(Edad>=14),

--Número de certificado de seguro de pensiones (por máscara)

PensionCert CARBONIZARSE(14)

CONTROLAR(PensiónSert COMO ""));

Este ejemplo muestra diferentes tipos de cheques. El rango de valores aceptables está indicado por el constructo ENTRE…Y; condiciones normales (como para la columna Edad) usa signos de comparación =,<>, >, >=, <, <=, связанные при необходимости логическими операциямиAND,OR,NOT(например,Edad>=14Y Edad<=70); для указания списка допустимых значений используется предикатINи его отрицаниеNOTIN; конструкция

COMO máscara_valores_permitidos EXCEPTO lista_excepciones

se utiliza para establecer una máscara de valores válidos para columnas de cadena. La máscara utiliza dos caracteres especiales: "%" es una subcadena arbitraria y "_" es un carácter individual. La cláusula EXCEPT es opcional.

La condición de selección CHECK puede comparar los valores de dos columnas de la misma tabla y columnas de tablas diferentes.




Arriba