2022-01-16 18:20:39 +00:00
|
|
|
---
|
|
|
|
title: "sql"
|
|
|
|
tags: [ "Documentation", "data" ]
|
|
|
|
---
|
2020-01-02 00:04:35 +00:00
|
|
|
MySQL, Aurora and the Maria Database work similarly, and mostly with the same commands.
|
|
|
|
|
|
|
|
MySQL requires 160 Megs of disk space.
|
|
|
|
|
|
|
|
The ontological layers go:
|
|
|
|
|
|
|
|
> Database > table > record > field
|
|
|
|
|
|
|
|
The record is a line containing multiple fields. The table contains multiple records.
|
|
|
|
|
|
|
|
## Database: RPGs
|
|
|
|
|
|
|
|
### Table: D&D
|
|
|
|
|
|
|
|
#### Columns:
|
|
|
|
|
|
|
|
| id | name | year | edition | stars |
|
|
|
|
|:--:|:-------------------|:-----|:--------|:------|
|
|
|
|
| 1 | Dungeons & Dragons | 1975 | 1 | 1 |
|
|
|
|
| 2 | Dungeons & Dragons | 1980 | 2 | 1 |
|
|
|
|
| 3 | Advanced Dungeons & Dragons | 1985 | 1 | 1 |
|
|
|
|
|
|
|
|
|
|
|
|
# Getting started
|
|
|
|
|
|
|
|
> sudo apt-get install mysql-server
|
|
|
|
|
|
|
|
You'll be asked for a password.
|
|
|
|
|
|
|
|
Log in with:
|
|
|
|
|
|
|
|
> mysql -u root -p
|
|
|
|
|
|
|
|
The -u requests a user, while -p tells it to prompt for a password.
|
|
|
|
|
|
|
|
List all databases:
|
|
|
|
|
|
|
|
> show databases;
|
|
|
|
|
|
|
|
Make a new database;
|
|
|
|
|
|
|
|
> create database creatures;
|
|
|
|
|
|
|
|
Start work on the new database:
|
|
|
|
|
|
|
|
> use creatures;
|
|
|
|
|
|
|
|
> create table stats (Strength VARCHAR(2), Speed VARCHAR(2), Dexterity(2));
|
|
|
|
|
|
|
|
This creatures a row called 'stats' within the 'creature'table' with a number of variables, all of type VARCHAR (a variable length character string).
|
|
|
|
|
|
|
|
Now you can insert data (which would normally be provided by a user via php or some-such).
|
|
|
|
|
|
|
|
> insert into stats (Strength,Speed,Dexterity) values (-1,0,+1)
|
|
|
|
|
|
|
|
Now have a look at the info:
|
|
|
|
|
|
|
|
> select * from stats
|
|
|
|
|
|
|
|
The old way to delete info by selection was:
|
|
|
|
|
|
|
|
> delete * from stats where Charisma='0'
|
|
|
|
|
|
|
|
...but now it's:
|
|
|
|
|
|
|
|
> delete from stats where Charisma='0'
|
|
|
|
|
|
|
|
Update a thing:
|
|
|
|
|
|
|
|
> update stats
|
|
|
|
|
|
|
|
> set Speed='-1',Charisma='-2'
|
|
|
|
|
|
|
|
> where Strength=0;
|
|
|
|
|
|
|
|
Leaving out the specifier 'where' means you're updating the entire database.
|
|
|
|
|
|
|
|
Control order with
|
|
|
|
|
|
|
|
> SELECT * FROM stats ORDER BY Strength;
|
|
|
|
|
|
|
|
Or for descending order, suffix 'DESC'.
|
|
|
|
|
|
|
|
> select * from stats ORDER by Date DESC;
|
|
|
|
|
|
|
|
# Resources
|
|
|
|
|
|
|
|
Try more at [w3schools](http://www.w3schools.com/sql/sql_groupby.asp).
|
|
|
|
|
|
|
|
|