SQL Cheat Sheet usage
SQL CHEAT SHEET
mod 2020.06.29
start MySQL
xamppなどでまずstart?した後に
terminalで
mysql -u root
すると
mysql -u root Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 3 Server version: 10.1.39-MariaDB Source distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
とMySQLが起動する
ここからDBを作成する
Database
Database 作成
ここで
CREATE DATABASE <DatabaseName>
でDBが作成できる
MariaDB [(none)]> create database hoge; Query OK, 1 row affected (0.00 sec)
Database 使用
use <databaseName>
で使用するDBを変更できる。
MariaDB [(none)]> use hoge; Database changed MariaDB [hoge]>
これでhogeと云うDBの中に入った。
Database 一覧表示
show databases;
すると(複数形に注意)( ; を入れないと実行されない)
+--------------------+ | Database | +--------------------+ | cake_cms | | information_schema | | interndb | | loginsystem | | mysql | | performance_schema | | phpmyadmin | | test | +--------------------+ 8 rows in set (0.00 sec)
こうやって現存するDatabaseがListで出る.
なんか枠が出るのがSQLのTUIの特徴.
0.00secでわかるように,計算時間が何をやっても出る.死ぬほど早い.
TABLE
TABLE cannot be empty.
It needs column to be made.
TABLE作成
CREATE TABLE hoge ( id CHAR(4) NOT NULL, name VARCHAR(200) NOT NULL, price INTEGER , date DATE , PRIMARY KEY (id) );
これでcolumnの定義がされたtableが作成された。
このcolumnごとにデータ、recordを入れていく。
columnの型
int, char(num), varchar(num), date,
などの型がある。
Tableの削除
DROP table TableName;
これで削除できる。復活はできない。
Table の名前の変更, RENAME
https://www.geeksforgeeks.org/sql-alter-rename/
ALTER TABLE table_name RENAME TO new_table_name;
ALTER TABLE / RENAME TO で変更できる。
COLUMN, 縦、定義入れる方。
カラム追加, ADD
ALTER TABLE TableName ADD COLUNM {columnName} type(num);
これで名前と型を指定してカラムを追加する。
カラム削除, DROP
alter table TableName drop column {columnName};
これでテーブル名と カラムを指定して削除できる。
---------- 2020.07.12 updated over here ----------
IF (WHERE)
https://www.dbonline.jp/mysql/table/index18.html
UPDATE tableName SET columnName= data columnName2 = data2 WHERE id = num;
Change data type
ALTER TABLE "table_name" Change "column 1" "column 2" ["Data Type"];
record (data)
Make a record line
insert into tableName (column, column, column) values (data, data, data)
This needs for every column.
Change a record
update tablename set columnName = 'data' where conditionQuery;
Delete a record
delete from tableName where (condition)
commit
BEGIN TRANSACTION;
-> change into register mode. quit before
COMMIT; -> all changes are trashed.
ROLLBACK:
stush previous; -> stash previous insert.
DISTINCT
Print only one same values
=> select DISTINCT columnName from hoge;
Where
It's if. => select columnName from item WHERE item_cat = 'cloth';
Comment
-- This is comment.
culc
- It is possible to print a column of culc result. but without as "columnName", printed table is not easy to see.
select sales-price, sales-price * 1.08 AS "IN-TAX";
index
別名みたいなものかな?
CREATE INDEX index_name ON table_name;
で作成できる
columnと同じようにDROPできる
DROP INDEX index_name;
REFERED
https://www.w3schools.com/sql/
PostgreSQL
exit: \q changeDB: \c {DBNAME} show all DB: \d exchage raw to clmn: \x show all databases: \l
おすすめされたテキスト
2.8k, ちょっと高い