More SQL notes
This commit is contained in:
parent
7fa40a435c
commit
87bb85ebcc
4 changed files with 69 additions and 8 deletions
|
@ -10,9 +10,12 @@ tags: [SQL]
|
||||||
```sql
|
```sql
|
||||||
SHOW DATABASES
|
SHOW DATABASES
|
||||||
|
|
||||||
USE [database_name]
|
|
||||||
|
|
||||||
SHOW TABLES
|
SHOW TABLES
|
||||||
|
|
||||||
|
-- View column names and data types
|
||||||
DESCRIBE [table_name]
|
DESCRIBE [table_name]
|
||||||
|
|
||||||
|
-- View disk usage per column
|
||||||
|
SHOW TABLE STATUS
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
8
Databases/SQL/Autoincrement_for_unique_key_in_SQL.md
Normal file
8
Databases/SQL/Autoincrement_for_unique_key_in_SQL.md
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
categories:
|
||||||
|
- Databases
|
||||||
|
- Programming Languages
|
||||||
|
tags: [SQL, relational-database]
|
||||||
|
---
|
||||||
|
|
||||||
|
# Autoincrement and `SERIAL`
|
|
@ -13,15 +13,16 @@ An understanding of the differences between data types is important because it o
|
||||||
|
|
||||||
### Integer (`INT`)
|
### Integer (`INT`)
|
||||||
|
|
||||||
No fractional part, fixed number of digits
|
- No fractional part, fixed number of digits
|
||||||
|
- `TINYINT`, `BIGINT` etc are all instances of `INT`, the difference is the size of the number stored.
|
||||||
|
|
||||||
### Fixed point
|
### Fixed point (`DECIMAL`)
|
||||||
|
|
||||||
Contains decimal point. Use when accuracy is more important that representing very large or very small values
|
Contains decimal point. Use when accuracy is more important that representing very large or very small values. Hence you would use this for monetary amounts.
|
||||||
|
|
||||||
### Floating point
|
### Floating point (`FLOAT`)
|
||||||
|
|
||||||
Contains decimal point. Use when the ability to represent very large and very small values is more important than precision
|
Contains decimal point. Use when the ability to represent very large and very small values is more important than precision. Hence you would not use this for monetary amounts.
|
||||||
|
|
||||||
## String
|
## String
|
||||||
|
|
||||||
|
@ -29,7 +30,7 @@ Contains decimal point. Use when the ability to represent very large and very sm
|
||||||
|
|
||||||
Spaces are stripped in storage but represented with a character set.
|
Spaces are stripped in storage but represented with a character set.
|
||||||
|
|
||||||
An example would be `CHAR(10)` or `CHAR(3)`. Here we set the upper limit but it must be the case that no string exceeds it.
|
An example would be `CHAR(10)` or `CHAR(3)`. Here we set the upper limit but it must be the case that no string exceeds it. For either of these, if you add a value that is, e.g, two characters in length, it will add spaces to pad it out and make up the upper limit.
|
||||||
|
|
||||||
### Variable-length character strings
|
### Variable-length character strings
|
||||||
|
|
||||||
|
|
49
Databases/SQL/Useful_operators_in_SQL.md
Normal file
49
Databases/SQL/Useful_operators_in_SQL.md
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
---
|
||||||
|
categories:
|
||||||
|
- Databases
|
||||||
|
- Programming Languages
|
||||||
|
tags: [SQL, relational-database]
|
||||||
|
---
|
||||||
|
|
||||||
|
# Useful operators in SQL
|
||||||
|
|
||||||
|
## True and false
|
||||||
|
|
||||||
|
> In SQL false results are represented by `0` and true results are represented by `1`. Any zero value is false and any non-zero value is true.
|
||||||
|
|
||||||
|
> When comparing operators we can use `SELECT` as a general "execute" function for SQL to interpret
|
||||||
|
|
||||||
|
```sql
|
||||||
|
SELECT 0 = 0 -- 1
|
||||||
|
SELECT 0.0 = 0 -- 1
|
||||||
|
SELECT 9 >= 12 -- 0
|
||||||
|
```
|
||||||
|
|
||||||
|
## Boolean operators
|
||||||
|
|
||||||
|
SQL supports all Boolean operators:
|
||||||
|
|
||||||
|
```sql
|
||||||
|
SELECT (9 > 7) AND (3 < 5) -- 1
|
||||||
|
SELECT (3 > 1) OR (2 > 5) -- 1
|
||||||
|
SELECT (3 > 1) XOR (5 > 1) -- 0
|
||||||
|
```
|
||||||
|
|
||||||
|
We also have `IS` and `IS NOT` for testing Boolean values:
|
||||||
|
|
||||||
|
```sql
|
||||||
|
SELECT (9 > 7) IS TRUE -- 1
|
||||||
|
SELECT (9 > 7) IS NOT TRUE -- 0
|
||||||
|
```
|
||||||
|
|
||||||
|
## `NULL`
|
||||||
|
|
||||||
|
- `NULL` is neither true (1) or false (0). It has no value.
|
||||||
|
- An empty string (`""`) is **not** `NULL`
|
||||||
|
|
||||||
|
```sql
|
||||||
|
SELECT 1 IS NULL -- 0
|
||||||
|
SELECT 1 IS NOT NULL -- 1
|
||||||
|
SELECT NULL IS NULL -- 1
|
||||||
|
SELECT "" IS NULL -- 0
|
||||||
|
```
|
Loading…
Add table
Reference in a new issue