Comandos básicos para MySQL

Baehost te brinda a continuación una lista de comandos básicos que pueden ser utilizados en 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’);

Deja una respuesta