KAEDE Hack blog

JavaScript 中心に ライブラリなどの使い方を解説する技術ブログ。

SQL Cheat Sheet usage

SQL CHEAT SHEET

mod 2020.06.29

start MySQL

f:id:kei_s_lifehack:20200629031026p:plain

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

www.tutorialspoint.com

別名みたいなものかな?

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

おすすめされたテキスト

www.amazon.co.jp

2.8k, ちょっと高い