Servidor Linux:
* safe_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 tipo1 opciones2 cláusulas3,“,“,“,[ú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.
tinyint –> 1 byte
smallint –> 2 byte
mediumint –> 3 byte
int –> 4 byte
bigint –> 8 byte
float –> 4 byte
double –> 8 byte
decimal –> variable
char(n) –> cadena de caracteres de longitud fija
varchar(n) –> cadena de caracteres de longitud variables
tinyblob –> objeto binario largo (muy pequeño)
blob –> objeto binario largo (pequeño)
mediumblob –> objeto binario largo (medio)
longblob –> objeto binario largo (grande)
tinytext –> cadena de texto muy pequeña
text –> cadena de texto pequeña
mediumtext –> cadena de texto media
longtext –> cadena de texto larga
enum –> una enumeración
set –> un conjunto
date –> valor fecha (aaaa-mm-dd)
time –> valor de hora (hh-mm-ss)
datetime –> valor de fecha y hora
timestamp –> valor de lapso de tiempo (aaaammddhhmmss)
year –> valor de año
Generales:
null –> admite valores nulos
no null –> rechaza dejar el campo en blanco
default –> permite establecer un valor por defecto
Columnas numéricas:
auto_increment –> para generar identificadores únicos o valores en serie.
unisgned –> rechazo de valores negativos
Cadena:
binary –> trata los valores como cadenas binarias (campos char y varchar)
primary key –> columna indexada para búsqueda rápida. Clave principal, solo puede haber una.
unique –> crea un índice con valores únicos
index, key –> son sinónimos y crean índices que pueden contener valores repetidos.
insert [low_priority | delayed][ignore][into] nombre_tabla forma_introducción1
I. LOW_PRIORYTY | DELAYED: la primera de las opciones hace que la inserción sea postergada hasta que ningún cliente utilice la tabla.\\La segunda genera una cola de introducción de registros, que se añadirán a la tabla cuando esta quede libre de usuarios.
II. IGNORE: se desechan las filas que duplican valores para claves únicas.
III. INTO: se requiere en versiones 3.22.5.
(lista_columnas) VALUE (lista_valores_o_expresión)
(lista_columnas) SELECT (opción_de_recuperación)
SET (nombre_columna=expresion, ….)
Use database;
La forma general del comando de consulta es:
select opciones1 lista2 cláusulas3;**
all –> provoca el regreso de todas las filas
distinct, distinctrow –> especifican que las líneas duplicadas deben ser eliminadas
high_priority –> 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
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 “,”.
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, para lo cual debemos tener privilegio de crear el fichero y además este no debe existir.
Las opciones de importació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
-\0 ascii 0
-\b retroceso
-\n línea nueva
-\r retorno de carro
-\s espacio
-\t tabulación
-\’ comilla simple
-\” comilla doble
-\\ barra inversa
from tabla-tablas –> especifica una o varias tablas desde las que se obtendrán las filas.
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:
procedure nombre_procedimiento –> indica un nombre de procedimiento al que serán enviados los datos antes de su salida.
Permite renombrar la tabla o variar la estructura de la tabla de datos. La sintaxis base es:
alter [ignore] table nombre1 lista_de_acción2
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:
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.
ADD PRIMARY KEY [columna _ índice]
Añade una clave principal siguiendo la columna establecida.
ADD UNIQUE [nombre _ índice][columna _ índice]
Añade un índice de valor único a la tabla en función de la columna especificada.
ALTER [column] nombre _ columna (set default valor | drop default)
Modifica el valor dado de una columna o reduce su valor predeterminado actual.
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.
DROP [column] nombre _ columna
Elimina la columna especificada.
DROP INDEX nombre_index
Elimina el índice de la tabla.
DROP PRIMARY KEY
Elimina la clave principal de la tabla. Si no existe clave principal y si índices con especificación UNIQUE se elimina el primero existente.
MODIFY [column] declaración _ columna
Cambia la declaración de una columna.
RENAME [AS] nombre_tabla_nueva
Cambia el nombre de la tabla.
delete [low_priory] from nombre_tabla [where expresión][limit n]
LOW_PRIORY
Posterga la petición hasta que ningún usuario este utilizando la tabla.
WHERE expresión
Especifica una condición que deben cumplir los registros a borrar, si se omite en la petición se eliminan todos los registros de la tabla.
LIMIT n
Estable un número máximo de registros a borrar.
remplace (sigue la misma sintaxis que INSERT).
La salvedad se refiere a los valores correspondientes a índices unique, si el valor existe en la tabla previamente a la inserción de la modificación se eliminara.
Updates [low_priority] nombre_tabla set nombre_col=expresion, ....[whereexpresión_where][limit n]
DROP TABLE [if exists] (lista_tablas_separadas_por_comas)
DROP DATABASE [if exist] nombre_database
OPTIMIZE TABLE nombre_tabla
Un índice corresponde a un método de ordenación de una o varias columnas que permite a los motores de búsqueda de bases de datos trabajar de forma eficiente y rápida.
Los índices se pueden crear al crear las tablas con la instrucción create table o bien con posterioridad a través del comando alter table o el comando:
create [UNIQUE] index nombre _ índice ON nombre_tabla (columna _ índice)
La eliminación de un índice se realiza por el comando:
drop index nombre_index on nombre_tabla
show databases [like patrón _ búsqueda]
show tables [from nombre_base_datos][like patrón _ búsqueda]
show table status [from nombre_base-datos][like patrón _ búsqueda]
El resultado obtenido muestra:
show columns from nombre_tabla [from nombre_base-datos][like patrón-búsqueda]
El resultado de la petición muestra:
show index from nombre_tabla show keys from nombre_tabla
El resultado de la petición se muestra en:
Información sobre usuarios:
show grants for nombre_usuario
Información sobre los procesos del servidor:
show processlist
La salida de la información se estructura en los campos:
Id: el no id del hilo para el cliente:
User: el nombre del cliente asociado al hilo.
Host: el host desde el que se conecta.
Db: la base de datos predeterminada para el hilo.
Command: el comando que se ejecuta en el hilo.
Time: el tiempo en segundos que utiliza el comando.
State: Información de lo que hace Mysql mientras se ejecuta una instrucción SQL.
Info: ejecuta la consulta.
Información sobre las variables de estado del servidor:
show status
La información dada por el servidor es muy alta:
Aborted_clients: número de conexiones de un cliente canceladas.
Aborted_connects: número de intentos fallidos de conexión al servidores.
Connectios: número de intentos realizados para conectarse al servidor.
Created_tmp_tables: número de tablas temporales creadas mientras se procesan las consultas.
Delayed_errors: no de errores ocurridos mientras se procesan filas insert delayed.
Delayed_insert_threads: no de errores actuales del mensaje insert delayed.
Delayed_writes: no de filas insert delayed introducidas.
Flush_commands: no de columnas flush que se han ejecutado.
Hendler_delete: no de solicitudes necesarias para suprimir una fila de una tabla.
Hendler_read_first: no de solicitudes para leer la primera fila de la tabla.
Handler_read_key: no de solicitudes para leer una fila basada en un valor de índice.
Handler_read_next: no de solicitudes para leer la siguiente fila basada en un valor de índice.
Handler_read_md: no de solicitudes para leer una fila basada en su posición.
Handler_update: no de solicitudes para actualizar una fila.
Handler_write: no de solicitudes para insertar una fila.
Key_blocks_use: no de bloques en uso en la cache de índice.
Key_read_request: no de solicitudes para leer un bloque desde la cache.
Key_reads: no de lecturas físicas de los bloques de índice desde el disco.
Key_write_requests: no de requisitos para escribir un bloque en la cache de índice.
Key_writes: no de escrituras físicas de los bloques de índices de disco.
Max_used_connections: no máximo de conexiones que se han abierto simultáneamente.
Not_flushed_delayed_rows: no de filas a la espera de ser escritas por las consultas insert delayed.
Not_flushed_key_blocks: no de bloques en la cache de clave que han sido modificados pero aun no han sido vaciados del disco.
Open_files: no de archivos abiertos.
Open_streams: no de flujos abiertos.
Open_tables: no de tablas abiertas.
Opened_tables: total de tablas que han sido abiertas.
Questions: no de consultas que ha recibido el servidor.
Slow_queries: no de consultas que tardan más segundos en ejecutarse que long_query_time.
Threads_connected: no de conexiones abiertas en ese momento.
Threads_running: no de hilos que están latentes.
Uptime: Segundos desde que el servidor comenzó a ejecutarse.
Para ver las variables en el servidor se utiliza la forma:
show variables