Herramientas de usuario

Herramientas del sitio


bloque4:sql

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
bloque4:sql [2022/05/13 07:47] – [Tipos de datos] fernandobloque4:sql [2024/09/16 19:34] (actual) – editor externo 127.0.0.1
Línea 197: Línea 197:
 ALTER TABLE alumnos ADD CONSTRAINT nombre_fk_1 FOREIGN KEY (id_curso) REFERENCES cursos(id); ALTER TABLE alumnos ADD CONSTRAINT nombre_fk_1 FOREIGN KEY (id_curso) REFERENCES cursos(id);
 ALTER TABLE alumnos DROP FOREIGN KEY nombre_fk; ALTER TABLE alumnos DROP FOREIGN KEY nombre_fk;
- 
--- Restaura el valor de AUTO_INCREMENT a 1. Debe ser mayor al índice más alto 
-ALTER TABLE alumnos AUTO_INCREMENT = 1; 
  
 -- Renombar tabla -- Renombar tabla
Línea 283: Línea 280:
 </code> </code>
  
-Hay que tener en cuenta que a la hora de definir claves primarias compuestas (la componen 2 ó más campos de            la tabla), ésta deberá ser definida forzosamente tras la definición de los campos involucrados, siguiendo            esta sintaxis+Hay que tener en cuenta que a la hora de definir claves primarias compuestas (dos ó más columnas), ésta deberá ser definida forzosamente tras la definición de los campos involucrados, siguiendo            esta sintaxis
 <code sql> <code sql>
 CREATE TABLE personas( CREATE TABLE personas(
Línea 294: Línea 291:
  
 === Autonumérico === === Autonumérico ===
-Es una propiedad que solo se nos permite añadir columnas de tipo entero que sean clave primaria. Hace que en cada inserción de nuevos registros en esa tabla, la clave primaria se genere automáticamente de forma secuencial. Es realmente útil ya que nos evita tener que dar valor a esa columna, siendo el motor de la base de datos el encargado de que sea siempre distinta.+Es una propiedad que solo se puede aplicar claves primarias de tipo entero. Hace que en cada inserción de nuevos registros en esa tabla, la clave primaria se genere automáticamente de forma secuencial. Es realmente útil ya que nos evita tener que dar valor a esa columna, siendo el motor de la base de datos el encargado de que sea siempre distinta.
  
 La forma de definirlo es añadiendo la restricción ''AUTO_INCREMENT'' en la definición de la columna que se ha definido como clave primaria: La forma de definirlo es añadiendo la restricción ''AUTO_INCREMENT'' en la definición de la columna que se ha definido como clave primaria:
Línea 305: Línea 302:
 ALTER TABLE mitabla AUTO_INCREMENT = 1; ALTER TABLE mitabla AUTO_INCREMENT = 1;
 </code> </code>
 +Si la tabla no está vacía, debe ser mayor que el último valor de esa columna.
  
 === Clave ajena === === Clave ajena ===
Línea 432: Línea 430:
  
 <code sql> <code sql>
 +CREATE TABLE libro(
 +id INT ...,
 +titulo ...,
 +autor VARCHAR(20),
 INDEX autor_index (autor) INDEX autor_index (autor)
 +);
 + 
 +-- También puedo añadirlo cuando la tabla ya se ha creado
 +CREATE INDEX indice_autor ON libro(autor);
 </code> </code>
  
bloque4/sql.1652428058.txt.gz · Última modificación: 2024/09/16 19:34 (editor externo)