Ejecuta esto en la línea de comandos
eg. $alberta_makeever: mysql -u root -p user_development << sample.sql
mysql5 -u root -p
enter password:kwame1
mysql> exit;
Cree una base de datos en el servidor SQL.
mysql> create database [databasename];
Enumere todas las bases de datos en el servidor SQL.
mysql> show databases;
Cambie a una base de datos.
mysql> use [db name];
Para ver todas las tablas en el archivo db.
mysql> show tables;
Para ver los formatos de campo de la base de datos.
mysql> describe [table name];
eliminar una db
mysql> drop database [database name];
eliminar tabla
mysql> drop table [table name];
Muestra toda la data de la tabla
mysql> SELECT * FROM [table name];
Devuelve las columnas y la información de la columna correspondiente a la tabla designada.
mysql> show columns from [table name];
Muestra ciertas filas seleccionadas con el valor “lo que sea”.
mysql> SELECT * FROM [table name] WHERE [field name] = “whatever”;
Muestra todos los registros que contengan el nombre “Bob” Y el número de teléfono ‘3444444’.
mysql> SELECT * FROM [table name] WHERE name = “Bob” AND phone_number = ‘3444444’;
Muestre todos los registros que no contienen el nombre “Bob” Y el número de teléfono ‘3444444’ orden por el campo de número de teléfono.
mysql> SELECT * FROM [table name] WHERE name != “Bob” AND phone_number = ‘3444444’ order by phone_number;
Muestre todos los registros que comiencen con las letras ‘bob’ Y el número de teléfono ‘3444444’.
mysql> SELECT * FROM [table name] WHERE name like “Bob%” AND phone_number = ‘3444444’;
Muestre todos los registros que comienzan con las letras ‘bob’ Y el número de teléfono ‘3444444’ se limita a los registros del 1 al 5.
mysql> SELECT * FROM [table name] WHERE name like “Bob%” AND phone_number = ‘3444444’ limit 1,5;
Utilice una expresión regular para buscar registros. Utilice “REGEXP BINARY” para forzar la distinción entre mayúsculas y minúsculas. Esto busca cualquier registro que comience con a.
mysql> SELECT * FROM [table name] WHERE rec RLIKE “^a”;
Muestre registros únicos.
mysql> SELECT DISTINCT [column name] FROM [table name];
OTROS SHORTCUTS KEYS:
Estos comandos complementan el curso de fundamentos de bases de datos en los que se vio conjuntos ( y operación entre ellos) y diagramas de venn
Show selected records sorted in an ascending (asc) or descending (desc).
mysql> SELECT [col1],[col2] FROM [table name] ORDER BY [col2] DESC;
Return number of rows.
mysql> SELECT COUNT(*) FROM [table name];
Sum column.
mysql> SELECT SUM(*) FROM [table name];
Join tables on common columns.
mysql> 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;
Delete a row(s) from a table.
mysql> DELETE from [table name] where [field name] = ‘whatever’;
Delete a column.
mysql> alter table [table name] drop column [column name];
Add a new column to db.
mysql> alter table [table name] add column [new column name] varchar (20);
Change column name.
mysql> alter table [table name] change [old column name] [new column name] varchar (50);
Make a unique column so you get no dupes.
mysql> alter table [table name] add unique ([column name]);
Make a column bigger.
mysql> alter table [table name] modify [column name] VARCHAR(3);
Delete unique from table.
mysql> alter table [table name] drop index [colmn name];
Load a CSV file into a table.
mysql> LOAD DATA INFILE ‘/tmp/filename.csv’ replace INTO TABLE [table name] FIELDS TERMINATED BY ‘,’ LINES TERMINATED BY ‘\n’ (field1,field2,field3);
Dump all databases for backup. Backup file is sql commands to recreate all db’s.
<h1>[mysql dir]/bin/mysqldump -u root -ppassword --opt >/tmp/alldatabases.sql</h1>Dump one database for backup.
<h1>[mysql dir]/bin/mysqldump -u username -ppassword --databases databasename >/tmp/databasename.sql</h1>Dump a table from a database.
<h1>[mysql dir]/bin/mysqldump -c -u username -ppassword databasename tablename > /tmp/databasename.tablename.sql</h1>Restore database (or database table) from backup.
<h1>[mysql dir]/bin/mysql -u username -ppassword databasename < /tmp/databasename.sql</h1>Create Table Example 1.
mysql> 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));
Create Table Example 2.
mysql> create table [table name] (personid int(50) not null auto_increment primary key,firstname varchar(35),middlename varchar(50),lastnamevarchar(50) default ‘bato’);
//LEFT JOIN
el contenido de la fila se selecciona como una fila de salida. Cuando la fila de la tabla de la izquierda no coincide, todavía se selecciona para la salida, pero se combina con una fila “falsa” de la tabla de la derecha que contiene NULL en todas las columnas. En resumen, la cláusula MySQL LEFT JOIN le permite seleccionar todas las filas de la tabla de la izquierda incluso si no hay coincidencias para ellas en la tabla de la derecha. (t1 = tabla 1, c1 = columna 1 …)
SELECT t1.c1, t1.c2,…t2.c1,t2.c2
FROM t1
LEFT JOIN t2 ON t1.c1 = t2.c1 …(join_condition)
WHERE where_condition
//INNER JOIN
Por ejemplo, si une dos tablas A y B, la cláusula MySQL INNER JOIN compara cada registro de la tabla A con cada registro de la tabla B para encontrar todos los pares de registros que satisfacen la condición de unión. Cuando se cumple la condición de unión, los valores de columna para cada par de registros coincidentes de la tabla A y la tabla B se combinan en un registro devuelto. Tenga en cuenta que los registros de ambas tablas deben coincidir en función de la condición de combinación.
** Si ningún registro en la tabla A y B coincide, la consulta devolverá un resultado vacío
Evite el error ambiguo de columna en MySQL INNER JOIN
Si une varias tablas que tienen una columna con un nombre similar, debe usar el calificador de tabla para hacer referencia a la columna para evitar un error ambiguo en la columna. Supongamos que la tabla tbl_A y tbl_B tienen la misma columna M. En la instrucción SELECT con la cláusula MySQL INNER JOIN, debe referirse a la columna M usando el calificador de tabla como tbl_A.M o tbl_B.M (table_name.column_name).
SELECT A.productCode, A.productName, B.orderNumber
FROM products A
INNER JOIN orderDetails B on A.productCode = B.productCode;
*****productCode aquí es la clave externa que vincula las dos tablas.