MySQL
#
Basic Operations
#
User Authentication
#
Database Setup
#
mysql> CREATE DATABASE database_name;
mysql> USE database_name;
mysql> SHOW databases;
Schema Description
#
Table Operations
#
- Create table
mysql> CREATE TABLE table_name (
-> column_name1 data_type,
-> column_name2 data_type,
-> column_name3 data_type,
-> ...
-> );
- Add column
mysql> ALTER TABLE table_name ADD column_name datatype;
- Alter column type
mysql> ALTER TABLE table_name ALTER COLUMN column_name datatype;
- Drop column
mysql> ALTER TABLE table_name DROP COLUMN column_name;
- Drop table
mysql> DROP TABLE table_name;
- Others
mysql> SHOW tables;
mysql> LOAD DATA LOCAL INFILE 'file_path'
-> INTO TABLE table_name
-> FIELDS TERMINATED BY ','
-> IGNORE 1 ROWS;
mysql> SELECT * FROM table_name LIMIT 10;
Data Querying
#
mysql> SELECT (DISTINCT) table_column1, table_column2, table_column3...
-> FROM table_name
-> WHERE column_name operator value
-> AND column_name2 operator value2
-> [AND|OR] ...;
-> ORDER BY column_name1 ASC|DESC, column_name2 ASC|DESC...;
SQL Functions
#
mysql> SELECT COUNT((DISTINCT) column_name) FROM table_name;
Error Solutions
#
- ERROR 3950 (42000): Loading local data is disabled; this must be enabled on both the client and server side
mysql> SHOW global variables LIKE 'local_infile';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| local_infile | OFF |
+---------------+-------+
mysql> SET global local_infile=true;
mysql> QUIT
sudo mysql --local_infile=1 -u root -p
- ERROR 1290 (HY000): The MySQL server is running with the –secure-file-priv option so it cannot execute this statement.
cd etc/mysql/
sudo chmod 644 my.cnf
sudo nano my.cnf
# my.cnf
[mysqld]
secure-file-priv = ""