Curso de MySQL
Consultas, lista de correo 'C++ Con Clase' 'MySQL Con Clase' página de entrada Tabla de contenido Contactar con Webmaster
Curso Sentencias Funciones API C

SQL

Sentencias

ALTER TABLE ANALYZE TABLE BACKUP TABLE BEGIN BEGIN WORK CHECK TABLE CHECKSUM TABLE COMMIT CREATE DATABASE CREATE TABLE CREATE USER DELETE DESCRIBE DO DROP DATABASE DROP INDEX DROP TABLE DROP USER FLUSH GRANT INSERT INSERT ... SELECT INSERT DELAYED JOIN KILL LOAD DATA LOCK TABLES OPTIMIZE TABLE RENAME TABLE REPAIR TABLE REPLACE RESET REVOKE ROLLBACK SELECT SET SET TRANSACTION SHOW SHOW CHARACTER SET SHOW COLLATION SHOW COLUMNS SHOW CREATE DATABASE SHOW CREATE TABLE SHOW CREATE VIEW SHOW DATABASES SHOW ENGINES SHOW ERRORS SHOW GRANTS SHOW INDEX SHOW INNODB STATUS SHOW KEYS SHOW LOGS SHOW PRIVILEGES SHOW PROCESSLIST SHOW STATUS SHOW TABLE STATUS SHOW TABLES SHOW VARIABLES SHOW WARNINGS START TRANSACTION TRUNCATE UNION UNLOCK TABLES UPDATE USE

HANDLER

HANDLER tbl_name OPEN [ AS alias ]
HANDLER tbl_name READ index_name { = | >= | <= | < } (value1,value2,...)
    [ WHERE ... ] [LIMIT ... ]
HANDLER tbl_name READ index_name { FIRST | NEXT | PREV | LAST }
    [ WHERE ... ] [LIMIT ... ]
HANDLER tbl_name READ { FIRST | NEXT }
    [ WHERE ... ] [LIMIT ... ]
HANDLER tbl_name CLOSE

La sentencia HANDLER proporciona un acceso directo al interfaz del motor de almacenamiento de una tabla MyISAM.

El primer formato de la sentencia HANDLER, permite el acceso medienta subsiguientes sentencias HANDLER ... READ. Este objeto tabla no se comparte con otros hilos y no podrá cerrarse hasta que el hilo llame a HANDLER tbl_name CLOSE o hasta que el hilo termine.

El segundo formato recoge una fila (o más, espedificadas mediante la cláusula LIMIT) donde el índice especificado satisfaga los valores dados y la condición WHERE se cumpla. Si se tiene un índice multicolumna, se deben especificar los valores de índice de columna como una lista separada con comas. Una de dos: o se especifican los valores para todas las columnas de un índice, o valores que definan un prefijo de las columnas más a la izquierda del índice. Supongamos un índice que incluya tres columnas llamadas col_a, col_b y col_c, es ese orden. La sentencia HANDLER puede especificar valores para las tres columnas en el índice, o para las columnas más a la izquierda. Por ejemplo:

HANDLER ... index_name = (col_a_val,col_b_val,col_c_val) ...
HANDLER ... index_name = (col_a_val,col_b_val) ...
HANDLER ... index_name = (col_a_val) ...

El tercer formato recoge una fila (o más, especificadas mediante la cláusula LIMIT) de la tabla según el orden del índice, y según la condición WHERE.

El cuarto formato (sin especificación de índice) recoge una fila (o más, especificadas mediante la cláusula LIMIT) de la tabla en el orden natural de las filas (tal como está almacenadas en el fichero de datose) que cumplan la condición WHERE. Es más rápido que HANDLER tbl_name READ index_name cuando se desea hacer un recorrido completo de la tabla.

HANDLER ... CLOSE cierra una tabla que fue abierta con HANDLER ... OPEN.

Nota: Si se usa el interfaz HANDLER para una PRIMARY KEY se debe recordar entrecomillar la palabra PRIMARY con acentos a la izquierda: HANDLER tbl READ `PRIMARY` > (...).

HANDLER es algo como una sentencia de bajo nivel. Por ejemplo, no proporciona consistencia. Es decir, HANDLER ... OPEN no toma una copia instantanea de la tabla, y no bloquea la tabla. Esto significa que después de hacer un HANDLER ... OPEN, los datos de la tabla pueden ser modifiados (por este o por otro hilo) y esas modificaciones pueden aparecer sólo de forma parcial en recorridos HANDLER ... NEXT o HANDLER ... PREV.

Las razones para usar este interfaz en lugar de SQL normal son:

(4.0)