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