A continuación lista de comandos básicos que pueden ser utilizados en las base de datos MySQL a través de la herramienta phpmyadmin integrada en cPanel. Estos comandos te permitirán listar registros, trabajar con varias tablas, eliminarlas, actualizarlas y otorgar privilegios, entre otras cosas:
Crear una base de datos: create database [databasename];
Listar todas las base de datos en el servidor: show databases;
Cambiar a una base de datos: use [db name];
Ver todas las tablas de una base de datos: show tables;
Ver los formatos de campo de la base de datos: describe [table name];
Eliminar una base de datos: drop database [database name];
Eliminar una tabla de la base de datos: drop table [table name];
Devolver todos los registros de una tabla: SELECT * FROM [table name];
Devolver las columnas y la información de la columna correspondiente a la tabla designada:
show columns from [table name];
Mostrar ciertas filas seleccionadas con el valor «lo que sea»: SELECT * FROM [table name] WHERE [field name] = «whatever»;
Mostrar todos los registros que contengan el nombre «Bob» AND el número de teléfono ‘3444444’: SELECT * FROM [table name] WHERE name = «Bob» AND phone_number = ‘3444444’;
Mostrar todos los registros que contienen el nombre «Bob» AND el número de teléfono ‘3444444’ ordenados por el campo «phone_number»:
SELECT * FROM [table name] WHERE name != «Bob» AND phone_number = ‘3444444’ order by phone_number;
Mostrar todos los registros que comienzan con la palabra ‘bob’ AND el número de teléfono ‘3444444’: SELECT * FROM [table name] WHERE name like «Bob%» AND phone_number = ‘3444444’;
Usar una expresión regular para encontrar registros. Usar «REGEXP BINARY» para forzar la sensibilidad a las mayúsculas. Esto encuentra cualquier registro que comience con «a»:
SELECT * FROM [table name] WHERE rec RLIKE «^a$»;
Mostrar registros únicos: SELECT DISTINCT [column name] FROM [table name];
Mostrar los registros seleccionados, ordenados en orden ascendente (asc) o descendente (desc):
SELECT [col1],[col2] FROM [table name] ORDER BY [col2] DESC;
Devolver un número de filas: SELECT COUNT(*) FROM [table name];
Sumar el contenido de la columna: SELECT SUM(*) FROM [table name];
Unir tablas en columnas comunes: select lookup.illustrationid, lookup.personid,person.birthday from lookup left join person on lookup.personid=person.personid=statement to join birthday in person table with primary illustration id;
Cambiar a mysql db. Crear un nuevo usuario:
INSERT INTO [table name] (Host,User,Password) VALUES(‘%’,’user’,PASSWORD(‘password’));
Cambiar la contraseña de un usuario (desde el shell de Unix):
[mysql dir]/bin/mysqladmin -u root -h hostname.blah.org -p password ‘new-password’
Cambiar la contraseña de un usuario (desde el prompt de MySQL):
SET PASSWORD FOR ‘user’@’hostname’ = PASSWORD(‘passwordhere’);
Permitir que el usuario «bob» se conecte con el servidor de localhost usando la contraseña «passwd»: grant usage on *.* to bob@localhost identified by ‘passwd’;
Cambiar a mysql db. Otorgar privilegios de usuario para una db: INSERT INTO [table name] (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES (‘%’,’databasename’,’username’,’Y’,’Y’,’Y’,’Y’,’Y’,’N’);
Otra alternativa sería: grant all privileges on databasename.* to username@localhost;
Actualizar datos en una tabla:
UPDATE [table name] SET Select_priv = ‘Y’,Insert_priv = ‘Y’,Update_priv = ‘Y’ where [field name] = ‘user’;
Eliminar filas de una tabla: DELETE from [table name] where [field name] = ‘whatever’;
Actualizar base de datos permissions/privilages: FLUSH PRIVILEGES;
Eliminar una columna: alter table [table name] drop column [column name];
Agregar una nueva columna de una base de datos:
alter table [table name] add column [new column name] varchar (20);
Cambiar el nombre de una columna:
alter table [table name] change [old column name] [new column name] varchar (50);
Crear una columna única para no tener inconvenientes:
alter table [table name] add unique ([column name]);
Hacer más grande una columna:
alter table [table name] modify [column name] VARCHAR(3);
Eliminar una columna única de una tabla:
alter table [table name] drop index [colmn name];
Cargar un archivo CSV dentro de una tabla:
LOAD DATA INFILE ‘/tmp/filename.csv’ replace INTO TABLE [table name] FIELDS TERMINATED BY ‘,’ LINES TERMINATED BY ‘n’ (field1,field2,field3);
Volcar todas las bases de datos en una copia de seguridad. El backup posee comandos sql para recrear todos las db: [mysql dir]/bin/mysqldump -u root -ppassword –opt >/tmp/alldatabases.sql
Volcar una base de datos para el back up:
[mysql dir]/bin/mysqldump -u username -ppassword –databases databasename >/tmp/databasename.sql
Volver una tabla de una base de datos:
[mysql dir]/bin/mysqldump -c -u username -ppassword databasename tablename > /tmp/databasename.tablename.sql
Restaurar una base de datos (o tabla) de un backup:
[mysql dir]/bin/mysql -u username -ppassword databasename < /tmp/databasename.sql
Crear una tabla de ejemplo 1:
CREATE TABLE [table name] (firstname VARCHAR(20), middleinitial VARCHAR(3), lastname VARCHAR(35),suffix VARCHAR(3),officeid VARCHAR(10),userid VARCHAR(15),username VARCHAR(8),email VARCHAR(35),phone VARCHAR(25), groups
VARCHAR(15),datestamp DATE,timestamp time,pgpemail VARCHAR(255));
Crear una tabla de ejemplo 2:
create table [table name] (personid int(50) not null auto_increment primary key,firstname varchar(35),middlename varchar(50),lastnamevarchar(50) default ‘bato’);