Add CREATE USER (#1381)

Co-authored-by: Rico Sta. Cruz <rstacruz@users.noreply.github.com>
This commit is contained in:
Bryan Dady 2020-07-05 04:59:47 -06:00 committed by GitHub
parent 21306a7bfe
commit 31b8a9af45
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 63 additions and 62 deletions

125
mysql.md
View File

@ -1,62 +1,33 @@
--- ---
title: MySQL title: MySQL
updated: 2020-01-03 updated: 2020-03-09
layout: 2017/sheet layout: 2017/sheet
category: Databases category: Databases
--- ---
### Create / Open / Delete Database
```sql
CREATE DATABASE dbNameYouWant
CREATE DATABASE dbNameYouWant CHARACTER SET utf8
USE dbNameYouWant
DROP DATABASE dbNameYouWant
ALTER DATABASE dbNameYouWant CHARACTER SET utf8
```
### Backup Database to SQL File
```bash
mysqldump -u Username -p dbNameYouWant > databasename_backup.sql
```
### Restore from backup SQL File
```bash
mysql - u Username -p dbNameYouWant < databasename_backup.sql
```
### Repair Tables After Unclean Shutdown
```bash
mysqlcheck --all-databases
mysqlcheck --all-databases --fast
```
### Browsing ### Browsing
```sql ```sql
SHOW DATABASES SHOW DATABASES;
SHOW TABLES SHOW TABLES;
SHOW FIELDS FROM table / DESCRIBE table SHOW FIELDS FROM table / DESCRIBE table;
SHOW CREATE TABLE table SHOW CREATE TABLE table;
SHOW PROCESSLIST SHOW PROCESSLIST;
KILL process_number KILL process_number;
``` ```
### Select ### Select
```sql ```sql
SELECT * FROM table SELECT * FROM table;
SELECT * FROM table1, table2, ... SELECT * FROM table1, table2;
SELECT field1, field2, ... FROM table1, table2, ... SELECT field1, field2 FROM table1, table2;
SELECT ... FROM ... WHERE condition SELECT ... FROM ... WHERE condition
SELECT ... FROM ... WHERE condition GROUPBY field SELECT ... FROM ... WHERE condition GROUPBY field;
SELECT ... FROM ... WHERE condition GROUPBY field HAVING condition2 SELECT ... FROM ... WHERE condition GROUPBY field HAVING condition2;
SELECT ... FROM ... WHERE condition ORDER BY field1, field2 SELECT ... FROM ... WHERE condition ORDER BY field1, field2;
SELECT ... FROM ... WHERE condition ORDER BY field1, field2 DESC SELECT ... FROM ... WHERE condition ORDER BY field1, field2 DESC;
SELECT ... FROM ... WHERE condition LIMIT 10 SELECT ... FROM ... WHERE condition LIMIT 10;
SELECT DISTINCT field1 FROM ... SELECT DISTINCT field1 FROM ...
SELECT DISTINCT field1, field2 FROM ... SELECT DISTINCT field1, field2 FROM ...
``` ```
@ -64,8 +35,8 @@ SELECT DISTINCT field1, field2 FROM ...
### Select - Join ### Select - Join
```sql ```sql
SELECT ... FROM t1 JOIN t2 ON t1.id1 = t2.id2 WHERE condition SELECT ... FROM t1 JOIN t2 ON t1.id1 = t2.id2 WHERE condition;
SELECT ... FROM t1 LEFT JOIN t2 ON t1.id1 = t2.id2 WHERE condition SELECT ... FROM t1 LEFT JOIN t2 ON t1.id1 = t2.id2 WHERE condition;
SELECT ... FROM t1 JOIN (t2 JOIN t3 ON ...) ON ... SELECT ... FROM t1 JOIN (t2 JOIN t3 ON ...) ON ...
``` ```
@ -83,10 +54,39 @@ condition1 AND condition2
condition1 OR condition2 condition1 OR condition2
``` ```
### Create / Open / Delete Database
```sql
CREATE DATABASE DatabaseName;
CREATE DATABASE DatabaseName CHARACTER SET utf8;
USE DatabaseName;
DROP DATABASE DatabaseName;
ALTER DATABASE DatabaseName CHARACTER SET utf8;
```
### Backup Database to SQL File
```bash
mysqldump -u Username -p dbNameYouWant > databasename_backup.sql
```
### Restore from backup SQL File
```bash
mysql - u Username -p dbNameYouWant < databasename_backup.sql;
```
### Repair Tables After Unclean Shutdown
```bash
mysqlcheck --all-databases;
mysqlcheck --all-databases --fast;
```
### Insert ### Insert
```sql ```sql
INSERT INTO table1 (field1, field2, ...) VALUES (value1, value2, ...) INSERT INTO table1 (field1, field2) VALUES (value1, value2);
``` ```
### Delete ### Delete
@ -101,9 +101,9 @@ DELETE FROM table1, table2 FROM table1, table2 WHERE table1.id1 =
### Update ### Update
```sql ```sql
UPDATE table1 SET field1=new_value1 WHERE condition UPDATE table1 SET field1=new_value1 WHERE condition;
UPDATE table1, table2 SET field1=new_value1, field2=new_value2, ... WHERE UPDATE table1, table2 SET field1=new_value1, field2=new_value2, ... WHERE
table1.id1 = table2.id2 AND condition table1.id1 = table2.id2 AND condition;
``` ```
### Create / Delete / Modify Table ### Create / Delete / Modify Table
@ -111,11 +111,10 @@ UPDATE table1, table2 SET field1=new_value1, field2=new_value2, ... WHERE
#### Create #### Create
```sql ```sql
CREATE TABLE table (field1 type1, field2 type2, ...) CREATE TABLE table (field1 type1, field2 type2);
CREATE TABLE table (field1 type1, field2 type2, ..., INDEX (field)) CREATE TABLE table (field1 type1, field2 type2, INDEX (field));
CREATE TABLE table (field1 type1, field2 type2, ..., PRIMARY KEY (field1)) CREATE TABLE table (field1 type1, field2 type2, PRIMARY KEY (field1));
CREATE TABLE table (field1 type1, field2 type2, ..., PRIMARY KEY (field1, CREATE TABLE table (field1 type1, field2 type2, PRIMARY KEY (field1,field2));
field2))
``` ```
```sql ```sql
@ -130,18 +129,18 @@ CREATE TABLE table1 (fk_field1 type1, fk_field2 type2, ...,
``` ```
```sql ```sql
CREATE TABLE table IF NOT EXISTS (...) CREATE TABLE table IF NOT EXISTS;
``` ```
```sql ```sql
CREATE TEMPORARY TABLE table (...) CREATE TEMPORARY TABLE table;
``` ```
#### Drop #### Drop
```sql ```sql
DROP TABLE table DROP TABLE table;
DROP TABLE IF EXISTS table DROP TABLE IF EXISTS table;
DROP TABLE table1, table2, ... DROP TABLE table1, table2, ...
``` ```
@ -182,20 +181,22 @@ CREATE TABLE table (..., FOREIGN KEY (field1, field2) REFERENCES table2
### Users and Privileges ### Users and Privileges
```sql ```sql
CREATE USER 'user'@'localhost';
GRANT ALL PRIVILEGES ON base.* TO 'user'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON base.* TO 'user'@'localhost' IDENTIFIED BY 'password';
GRANT SELECT, INSERT, DELETE ON base.* TO 'user'@'localhost' IDENTIFIED BY 'password'; GRANT SELECT, INSERT, DELETE ON base.* TO 'user'@'localhost' IDENTIFIED BY 'password';
REVOKE ALL PRIVILEGES ON base.* FROM 'user'@'host'; -- one permission only REVOKE ALL PRIVILEGES ON base.* FROM 'user'@'host'; -- one permission only
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'host'; -- all permissions REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'host'; -- all permissions
FLUSH PRIVILEGES;
``` ```
```sql ```sql
SET PASSWORD = PASSWORD('new_pass') SET PASSWORD = PASSWORD('new_pass');
SET PASSWORD FOR 'user'@'host' = PASSWORD('new_pass') SET PASSWORD FOR 'user'@'host' = PASSWORD('new_pass');
SET PASSWORD = OLD_PASSWORD('new_pass') SET PASSWORD = OLD_PASSWORD('new_pass');
``` ```
```sql ```sql
DROP USER 'user'@'host' DROP USER 'user'@'host';
``` ```
Host % indicates any host. Host % indicates any host.