La instrucción Alter table de Impala se utiliza para realizar cambios en una tabla determinada. Con este operador, podemos agregar, eliminar o modificar columnas en una tabla existente, asà como cambiarle el nombre.
Este capÃtulo explica los diferentes tipos de declaraciones alter con sintaxis y ejemplos. En primer lugar, supongamos que tenemos una tabla llamada clientela en my_db base de datos en Impala con los siguientes datos
ID NAME AGE ADDRESS SALARY --- --------- ----- ----------- -------- 1 Ramesh 32 Ahmedabad 20000 2 Khilan 25 Delhi 15000 3 Hardik 27 Bhopal 40000 4 Chaitali 25 Mumbai 35000 5 kaushik 23 Kota 30000 6 Komal 22 Mp 32000
Y, si obtiene una lista de tablas en la base de datos my_db, puedes encontrar clientela tabla en ella como se muestra a continuación.
[quickstart.cloudera:21000] > show tables; Query: show tables +-----------+ | name | +-----------+ | customers | | employee | | student | | student1 | +-----------+
Sintaxis básica CAMBIAR TABLA cambie el nombre de la tabla existente de la siguiente manera:
ALTER TABLE [old_db_name.]old_table_name RENAME TO [new_db_name.]new_table_name
A continuación se muestra un ejemplo de cómo cambiar el nombre de la tabla con cambio declaración. Aquà cambiamos el nombre de la mesa clientela usuarios.
[quickstart.cloudera:21000] > ALTER TABLE my_db.customers RENAME TO my_db.users;
Después de ejecutar la consulta anterior, Impala cambia el nombre de la tabla según sea necesario, mostrando el siguiente mensaje.
Query: alter TABLE my_db.customers RENAME TO my_db.users
Puede consultar la lista de tablas en la base de datos actual usando mostrar tablas declaración. Puedes encontrar una tabla llamada usuarios en lugar de clientela…
Query: show tables +----------+ | name | +----------+ | employee | | student | | student1 | | users | +----------+ Fetched 4 row(s) in 0.10s
Sintaxis básica CAMBIAR TABLA agregue columnas a la tabla existente como esta:
ALTER TABLE name ADD COLUMNS (col_spec[, col_spec ...])
La siguiente consulta es un ejemplo que demuestra cómo agregar columnas a una tabla existente. Aquà agregamos dos columnas account_no y phone_number (ambas son de tipo de datos bigint) a usuarios mesa.
[quickstart.cloudera:21000] > ALTER TABLE users ADD COLUMNS (account_no BIGINT, phone_no BIGINT);
Al ejecutar la consulta anterior, agregará las columnas especificadas a la tabla llamada aprendiz, mostrando el siguiente mensaje.
Query: alter TABLE users ADD COLUMNS (account_no BIGINT, phone_no BIGINT)
Si revisa el esquema de la tabla usuarios, puede encontrar las columnas que acaba de agregar como se muestra a continuación.
quickstart.cloudera:21000] > describe users; Query: describe users +------------+--------+---------+ | name | type | comment | +------------+--------+---------+ | id | int | | | name | string | | | age | int | | | address | string | | | salary | bigint | | | account_no | bigint | | | phone_no | bigint | | +------------+--------+---------+ Fetched 7 row(s) in 0.20s
Sintaxis básica para ALTER TABLE para COLUMNA DE EXENCIÓN DE RESPONSABILIDAD en la tabla existente se ve asÃ:
ALTER TABLE name DROP [COLUMN] column_name
La siguiente consulta es un ejemplo de cómo eliminar columnas de una tabla existente. Aquà estamos eliminando la columna llamada account_no…
[quickstart.cloudera:21000] > ALTER TABLE users DROP account_no;
Al ejecutar la consulta anterior, Impala elimina la columna denominada account_no mostrando el siguiente mensaje.
Query: alter TABLE users DROP account_no
Si revisa el esquema de la tabla usuarios, no puede encontrar la columna llamada account_no desde que fue eliminado.
[quickstart.cloudera:21000] > describe users; Query: describe users +----------+--------+---------+ | name | type | comment | +----------+--------+---------+ | id | int | | | name | string | | | age | int | | | address | string | | | salary | bigint | | | phone_no | bigint | | +----------+--------+---------+ Fetched 6 row(s) in 0.11s
Sintaxis básica para ALTER TABLE para cambiar el nombre y el tipo de datos una columna en una tabla existente se ve asÃ:
ALTER TABLE name CHANGE column_name new_name new_type
A continuación se muestra un ejemplo de cómo cambiar el nombre y el tipo de datos de una columna mediante la instrucción alter. Aquà cambiamos el nombre de la columna phone_no al correo electrónico y su tipo de datos para un hilo…
[quickstart.cloudera:21000] > ALTER TABLE users CHANGE phone_no e_mail string;
Cuando se ejecuta la consulta anterior, Impala realiza los cambios especificados mostrando el siguiente mensaje
Query: alter TABLE users CHANGE phone_no e_mail string
Puede verificar los metadatos de los usuarios de la tabla usando describir declaración. Puede notar que Impala ha realizado los cambios necesarios en la columna especificada.
[quickstart.cloudera:21000] > describe users; Query: describe users +----------+--------+---------+ | name | type | comment | +----------+--------+---------+ | id | int | | | name | string | | | age | int | | | address | string | | | salary | bigint | | | phone_no | bigint | | +----------+--------+---------+ Fetched 6 row(s) in 0.11s
Abra el editor de consultas Impala y escriba cambio en él y haga clic en el botón Ejecutar como se muestra en la siguiente captura de pantalla.
Cuando se ejecuta la consulta anterior, el nombre de la tabla cambiará. clientela a usuarios… De la misma forma podemos hacer todo cambio peticiones.
🚫