This Is Your Brain On Informatics: MariaDB
Contents
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 | ||
---|---|---|
Boolean Operators | ||
AND | ||
OR | ||
NOT | ||
Command* | Syntax | 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 | |
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 | |
INSERT | INSERT INTO table_name VALUES (value1,value2,value3,...); INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...); -- specifies the columns the values go into |
Used with INTO to insert new data entries into the specified columns |
INTO | SELECT * or column_name(s) INTO newtable [IN externaldb] FROM table1; |
Used with SELECT command to copy column_names from table1 into newtable |
UPDATE | UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value; |
Changes column1 to value1 based on the WHERE statement (use something unique to update only one row) |
*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];
|