







Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Este documento proporciona una guía detallada sobre cómo utilizar mysql en servidores linux y windows, incluyendo la creación y administración de bases de datos, tablas y registros, consultas generales, comandos básicos y operaciones diversas. Además, se explica cómo crear privilegios de usuarios, realizar copias de seguridad y realizar operaciones avanzadas como el bloqueo de tablas.
Tipo: Apuntes
1 / 13
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
Comandos principales de MYSQL.
Servidor Linux: s afe_mysqld –user=mysqladm & root & Servidor Windows: Mysqld
Arranque como usuario: mysql –u usuario –p clave
En el caso en el que el servidor no se encuentre en el ordenador que estamos trabajando la orden de uso será: mysql –h nombre_host –u usuario –p clave
Mostrar las bases de datos: show databases;
Mostrar las bases de datos seleccionadas: select databases();
Mostrar las tablas que contiene una base de datos: show tables;
Seleccionar una base de datos: use nombre_base ;
Describir la estructura de campos de una tabla: describe nombre_tabla ;
Crear una base de datos: create database nombre_base ;
Creación de una tabla : create [temporary] table [if no exists] nombre_tabla ( nombre_campo tipo^1 opciones^2 cláusulas^3 , “ “ “ , “ “ “ , [último campo] );
[temporary] --> la tabla existirá mientras exista la conexión con el cliente actual o hasta que se emita la instrucción drop table.
[if no exist] --> si existe la tabla no se crea una nueva.
III. INTO: se requiere en versiones 3.22.5.
(1)Las formas de introducción son: w(lista_columnas) VALUE (lista_valores_o_expresión) w(lista_columnas) SELECT (opción_de_recuperación) wSET (nombre_columna=expresion, ....)
Uso de una base de datos
Use database;
La forma general del comando de consulta es:
select opciones^1 lista^2 cláusulas^3 ;
(1) Tipos de opciones permitidas:
all --> provoca el regreso de todas las filas distinct, distinctrow --> especifican que las líneas duplicadas deben ser eliminadas high_prioruty --> da mayor prioridad a la instrucción en el caso de espera. sql_byg_result, sql_small_result --> especifican que el conjunto de resultados será mas largo o más corto straignt_join --> fuerza a las tablas a unirse en el orden citado en la cláusula from
(2) Lista --> especifica las columnas que deben devolverse, el símbolo “*” especifica que deben extraerse todas las columnas. La separación entre los diferentes nombres de columnas se hacen con el símbolo “,”.
(3)Cláusulas (en caso de haber varias cláusulas deben seguir el orden expuesto en la lista):
Intro outfile ‘ nombre_fichero’ opciones --> el resultado de la consulta es transferido a un fichero, paro lo cual debemos tener privilegio de crear el fichero y además este no debe existir. Las opciones de importanción son las siguientes: [fields [terminate by ‘ cadena ’]a^ [opcionally] [enclosed by ‘ carácter ’]b^ [escape by ‘ carácter ’]c] [lines terminated by ‘ carácter’] d
a)especifica el carácter o caracteres que delimitan valores dentro de la línea
b)especifica un carácter entrecomillado que se quita del final del campo de valores. OPTIONALLY establece que los valores solamente se entrecomillan para las columnas char y varchar
c)Se utiliza para especificar el carácter de escape especial
d)Especifica un carácter o caracteres que determinan el final de la línea.
Los caracteres especiales son los siguientes:
from tabla-tablas --> especifica una o varias tablas desde las que se obtendrán las filas. Existen varias posibilidades de unión de tablas (mirar libro de mysql).
where expresión --> establece una expresión que se aplica a las filas seleccionadas
group by lista_columnas --> agrupa filas del conjunto de resultados de acuerdo con las columnas citadas.
having expresión --> especifica una expresión secundaria para limitar filas después de satisfechas las condiciones expuestas en la cláusula where.
order by entero_unsigne|nombrecoluma|fórmula --> indica como se va a clasificar el conjunto de resultados. Las posibilidades son:
asc – ascendente desc – descendente rand() – orden aleatorio
procedure nombre_procedimiento --> indica un nombre de procedimiento al que serán enviados los datos antes de su salida.
Modificación de la estructura de las tablas: permite renombrar la tabla o variar la estructura de la tabla de datos. La sintaxis base es:
alter [ignore] table nombre^1 lista_de_acción^2
La cláusula [ignore] se utiliza si existen datos duplicados en los valores de las claves de los índices, de esta forma no se eliminaran una vez introducido el primero.
(1) Nombre: establece el nombre de la tabla sobre la que deseamos actuar.
(2)Lista_de_acción: establece una o varias acciones a realizar, las posibilidades son:
a)ADD INDEX [nombre _ índice][columna _ índice]: añade un índice a la tabla basado en la columna especificada. Si se especifican varias columnas deben ir separadas por comas.
b) ADD PRIMARY KEY [columna _ índice]: añade una clave principal siguiendo la columna establecida.
c) ADD UNIQUE [nombre _ índice][columna _ índice]: añade un índice de valor único a la tabla en función de la columna especificada.
d) ALTER [column] nombre _ columna (set default valor | drop default): modifica el valor dedo de una columna o reduce su valor predeterminado actual.
e) CHANGE [column] nombre _ columna declaración _ columna: cambia el nombre y la definición de una columna; nombre _ columna -> nombre de la columna a modificar, declaración _ columna -> es el valor de definición por el cual se debe regir la columna, sus opciones son las mismas que las señaladas para la creación de los campos de las tablas.
f) DROP [column] nombre _ columna: elimina la columna especificada.
Para mostrar las bases de datos disponibles :
show databases [like patrón _ búsqueda]
Para mostrar las tablas de una base de datos:
show tables [from nombre_base_datos][like patrón _ búsqueda]
Para mostrar información descriptiva de una tabla:
show table status [from nombre_base-datos][like patrón _ búsqueda]
El resultado obtenido muestra:
wName: nombre de la tabla. wTipe: tipo de tablas wRow format: formato de almacenamiento de la fila wRows: número de filas wAvg_row_length: promedio de bytes usados por las filas de la tabla wData_length: tamaño actual en bytes de fichero de tabla wMax_data_length: tamaño máximo en bytes que puede alcanzar el archivo. wIndex_length: tamaño actual en bytes del archivo de índice. wData_free: número de bytes en el archivo de datos que no se utilizan. wAuto_increment: el siguiente valor generado por una columna con la propiedad. wCreate_time: hora que se creo la tabla. wUpdate_time: hora de la última modificación wCheck_time: última vez que la tabla fue reparada o revisada por myisamchk wCreate_options: opciones adicionales especificadas. wComment: comentarios aparecidos en la creación de la tabla.
Para mostrar las diferentes columnas de una tabla :
show columns from nombre_tabla [from nombre_base-datos][like patrón-búsqueda]
El resultado de la petición muestra:
wField: nombre de la columna. wType: el tipo de columna. wNull: si la columna puede contener valores nulos. wKey: si la columna está indexada. wDefault: el valor por defecto. wExtra: información extra de la columna: wPrivileges: los privilegios de la columna.
Para mostrar los índices que contiene una tabla se utiliza las instrucciones:
show index from nombre_tabla show keys from nombre_tabla
El resultado de la petición se muestra en:
wTable: el nombre de la tabla que contiene el índice. wNom_unique: 1 si puede contener valores duplicados. wKey_name: El nombre del índice. wSeq_in_index: el número de columnas en el índice. wColumn_name: el nombre de la columna. wCollation: Orden de clasificación de la columna dentro del índice. wCardinality: El número de valores únicos en el índice. wSub_part: La longitud del prefijo. wPacked: si toda la clave está empaquetada. wComment: Reservado para comentarios internos sobre los índices.
Las siguientes variantes de la orden show están relacionadas con la administración del entorno:
Información sobre usuarios :
s how grants for nombre_usuario
Información sobre los procesos del servidor :
show processlist
La salida de la información se estructura en los campos: wId: el nº id del hilo para el cliente: wUser: el nombre del cliente asociado al hilo. wHost: el host desde el que se conecta. wDb: la base de datos predeterminada para el hilo. wCommand: el comando que se ejecuta en el hilo wTime: el tiempo en segundos que utiliza el comando. wState: Información de lo que hace Mysql mientras se ejecuta una instrucción SQL wInfo: ejecuta la consulta.
Información sobre las variables de estado del servidor :
show status
La información dada por el servidor es muy alta:
wAborted_clients: número de conexiones de un cliente canceladas wAborted_connects: número de intentos fallidos de conexión al servidores. wConnectios: número de intentos realizados para conectarse al servidor. wCreated_tmp_tables: número de tablas temporales creadas mientras se procesan las consultas. wDelayed_errors: nº de errores ocurridos mientras se procesan filas insert delayed. wDelayed_insert_threads: nº de errores actuales del mensaje insert delayed. wDelayed_writes: nº de filas insert delayed introducidas. wFlush_commands: nº de columnas flush que se han ejecutado. wHendler_delete: nº de solicitudes necesarias para suprimir una fila de una tabla. wHendler_read_first: nº de solicitudes para leer la primera fila de la tabla. wHandler_read_key: nº de solicitudes para leer una fila basada en un valor de índice. wHandler_read_next: nº de solicitudes para leer la siguiente fila basada en un valor de índice. wHandler_read_md: nº de solicitudes para leer una fila basada en su posición. wHandler_update: nº de solicitudes para actualizar una fila. wHandler_write: nº de solicitudes para insertar una fila. wKey_blocks_use: nº de bloques en uso en la cache de índice.
Administración:
*** mysqladmin [opciones] comando**
opciones generales:
--compres, -C -> activa la compresión para el protocolo utilizado en el protocolo cliente-servidor. --debug=opcion_depuración, -# opciones _ depurador -> activa la salida del depurador. --host =nombre_depurador, -h nombre_host -> especifica a que host debemos conectarnos. --port=número_puerto -P número _ puerto -> para los programas clientes este el número de puerto del servidor al que deben conectarse. --user=nombre_usuario, -u nombre _ usuario -> nombre del usuario que conecta con el servidor. --password , -p ->clave de usuario para acceder al servidor. --silent, -s -> especifica modo silencioso, es decir el programa produce menos mensajes de lo habitual. --version, -V -> muestra la versión del programa. --help, -¿ -> nuestra mensajes de ayuda. --pipe, -W ->utiliza una tubería con nombre para conectarse al servidor (solamente se utiliza por programas clientes funcionando bajo Windows). --socket=nombre_ruta, -S nombre_ruta -> para los programas clientes indica el fichero de socket que deben usar cuando se conectan al servidor.
opciones específicas:
--force, -f -> hace que no se pida confirmación cuando se ejecuta drop db_nombre y cuando se ejecutan múltiples comando intenta ejecutar todos los comandos aunque se produzcan errores. --relative ->muestra la diferencia de los valores anterior y posterior cuando se ejecuta –sleep. ----sleep=n, -i n -> ejecuta los comandos dados en la línea de comandos repetidamente cada n segundos. --wait[=n], -w [n] -> establece el número de veces a esperar y reintentar si no puede establecer conexión con el servidor.
Comandos:
create db_name -> crea una base de datos con el nombre dado. drop db_name -> borra la base de datos con el nombre dadoy cualquier tabla que exista en ella. flush_host -> vacía el fichero log del servidor. flush_status -> limpia las variables de estado. flush_tables ->vacia la cache de tablas. kill id, id .. -> mata los procesos del servidor. password new -> cambia la contraseña de usuario. ping -> comprueba si el servidor se está ejecutando. process list -> muestra una lista de datos. refresk -> vacia la cache de las tablas. reload -> recarga la tabla de permisos. shutdown -> desconecta el servidor. status -> muestra el estado del servidor. variables -> muestra los valores y nombres de la variable. version -> version del servidor.
*** grant [privilegio] [columna] on [nivel] to [usuario] identified by “contraseña” with grant option**
privilegios -> si hay varios privilegios se separan por comas.
alter ->alterar tablas e índices. create -> crear bases de datos y tablas. delete -> borrar de las tablas registros. drop -> eliminar bases de datos y tablas. index -> crear o eliminar índices. insert -> insertar nuevos registros en las tablas. references -> no se utiliza. select -> recuperar registros de tablas. update -> modificar registros de las tablas. file -> leer o escribir archivos del servidor. proces -> ver información sobre los hilos en ejecución dentro del servidor y poder matarlos. reload -> recargar tablas de concesión. shutdouwn -> cerrar el servidor. all -> cualquier cosa. usage -> un privilegio especial “sin privilegios”. Columna: indica las columnas a las que se aplicarán los privilegios y es opcional.
Nivel: especifica a que se otorgan los privilegios, que pueden ser globales, de bases de datos o de tablas. Si se especifica . indica todas las tablas de todas las bases de datos; nombre_base.* indica todas las tablas de la base de datos; nombre_base.nombre_tabla especifica una tabla de una determinada base de datos.
Usuario: el usuario al que se le otorgan los privilegios y consiste en un usuario y un host (usuario@host); si no se especifica host se entiende que puede ser desde cualquiera y si no se especifica usuario puede ser cualquiera (anónimo).
Contraseña: la clave de acceso del usuario.
With grant option: se le permite al usuario dar privilegios a otros usuarios. Es una cláusula opcional.
Revocar privilegios:
revoke [privilegios] [columna] on [nivel] from [usuario]
Eliminar usuarios:
delete from user where user=[usuario] and host=”nombre_host”
Después de eliminar un usuario es necesario recargar la tabla de usuarios
flush privileges;
mysqldump [nombre de la base] > [fichero de salida]
Es una orden externa del programa que genera una copia en texto plano de las tablas de la base de datos con todo el conjunto de instrucciones para volver a crearlas e incluir los registros existentes.
La recuperación de la base de datos se realiza de forma simple:
mysql < [nombre fichero de copia de seguridad]
Para obtener una recuperación rápida sin necesidad de operaciones previas debemos introducir en la cabecera del fichero las líneas:
wLast_insert Id=n: especifica el valor que será devuelto por last_insert_id() -> actualización de procedimiento de registro. wPassword [for usuario] = password(“contraseña”):sin la cláusula for se establece contraseña para el usuario actual, si se indica se establece para el usuario dado. Hay que tener privilegios de establecimiento de contraseñas. wSql_auto_is_null=[0|1]: si se establece en 1, la última fila insert que contiene el valor auto_increment puede seleccionarse usando la cláusula where auto_inc_coll is null. wSql_big_tables [1|0]: si se establece a 1; se admiten las instrucciones select que aparezcan más que la filas max_join_size. wSql_log_off=[0|1]: Si esta opción se establece en 1 las ordenes sql del cliente actual no aparecerán en el registro del archivo general. wSql:log_update=[1|0]: es igual que la anterior pero afecta al registro de actualización y no al general. wSql_low_priority_updates=[0|1]: si se establece en 1, las instrucciones que modifican la tabla de contenidos esperaran hasta que las instrucciones select terminen. wSql_select_limit=(n|default): especifica el nº máximo de registros que se podrán devolver desde una instrucción select. wSql_warnings=(1|0): si se establece en 1 mysql informa de los errores tipo 'aviso'. wTimestamp=(timestamp_value|default): especifica un valor timestamp de actualización del registro actual.