Difference between revisions of "This Is Your Brain On Informatics: MariaDB"

From Pathology Education Instructional Resource
Jump to: navigation, search
Line 75: Line 75:
  
 
<p>
 
<p>
The following will create a temporary table that will order [var1] and also create a column with an counter variable named "id".
+
The following will create a temporary table that will order [var1], hold [var2] and also create a column with a counter variable named "id".
 
<br /><br />
 
<br /><br />
 
A:  CREATE TEMPORARY TABLE `rank` (id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY) SELECT [var1],[var2] FROM `test` WHERE [var3] = "string" AND [var1] <10000000 ORDER BY [var1];
 
A:  CREATE TEMPORARY TABLE `rank` (id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY) SELECT [var1],[var2] FROM `test` WHERE [var3] = "string" AND [var1] <10000000 ORDER BY [var1];

Revision as of 05:39, 23 October 2013

mysql -u [username] -p

The above command will give access to the MariaDB for a username that has previously been created. The next line will prompt for a password.

SQL

The language of Maria DB.

Common Commands in SQL
Command* Description
`[table]` Syntax for indicating a table
USE [database] Selects database for manipulation and analysis
SELECT Selects columns from a database for analysis
FROM Denotes which table SELECT pulls the columns from (e.g. SELECT [col1],[col2] FROM `[table]`
WHERE Limits the available values SELECT can pull from each column based on a logical statement (e.g. WHERE [col1] < 10)
AS [var] Sets an output to a variable
Boolean Operators
AND
OR
NOT
CREATE TABLE `[table]` Creates a table of the given name with the properly input variable (see below)
BIGINT 64-bit integer
INT 32-bit integer
UNSIGNED only allows positive integers or float values, always assigned after BIGINT or INT value
AUTO_INCREMENT Automatically adds +1 to an entry for a column for each successive entry
PRIMARY KEY Indicates which variable will differentiate each data entry
VARCHAR(#) Assigns a character array variable of length #
CHAR Assigns a character variable (allows ONLY 1 character)
DATE Assigns a date variable of the form 00-00-0000
AVG() Gives an average of the values in the indicated column
MAX() Gives the maximum of the values in the indicated column
MIN() Gives the minimum of the values in the indicated column
LIMIT # Limits to the top # number of entries (not necessarily by rank)
CREATE TEMPORARY TABLE `[table]` Creates a temporary table of the given name

*Commands are capitalized by convention.

In-Class Example of Manually Creating a Table

This data table was uploaded as a TSV (tab separated values) file.

LOAD DATA INFILE '[data table pathname]' INTO TABLE `test` FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINE

Answer to In-Class Question

Q: Find the maximums in column 2 of quintiles based on column 1

The following will create a temporary table that will order [var1], hold [var2] and also create a column with a counter variable named "id".

A: CREATE TEMPORARY TABLE `rank` (id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY) SELECT [var1],[var2] FROM `test` WHERE [var3] = "string" AND [var1] <10000000 ORDER BY [var1];

Then the use of the next command will need to be repeated for each quintile to find the maximum for each one.

A: SELECT MAX([var2]) FROM `rank` WHERE id BETWEEN [calculated lower bound of quintile] AND [calculated upper bound of quintile];