from electron 2 web

インターネットのリソースを無駄遣いして検索におけるUXを下げてごめんなさい

圧倒的文章力のNASAでゴミみたいなチラ裏のようなメモを量産してしまい全ての"Web開発者"にごめんなさい

mysqlは友達!怖くない!

ホントは昨日だけのつもりだったけど今日もやる

  • 主キー、unique keyにnullを入れてみる

uniqukeyの場合、nullが入る!(たぶんdefault 'tes'とかしてるとtesになる)

primary key 制約の場合なんか面白い動きをした。

まずinsert intoで主キーを指定せずに入れると0が入った。別にauto_incrementつけてないのに。謎。

  • user系

今までユーザー系いじることがなかったのでuser関係はいじることがなかった。

  • ユーザー一覧

select user from mysql.user;でいける。

*でもいいけどめっちゃcolumnおおいよ。

  • accout lock

alter user username account lock

  • select 小ネタ
mysql> select  1;
+---+
| 1 |
+---+
| 1 |
+---+
1 row in set (0.00 sec)

ええ・・・(困惑

といっても聞いたことがあったのでそこまで

  • comment化

select ''-- from user;

ん?sqlインジェクションかなにか?

  • helpコマンド

help selectとかできる。そこまで使えなかった。オフラインでもっと詳しいのないかな

  • ストアドプロシージャ

create PROCEDURE procedurename
命令

みたいな感じでやる。呼ぶときは

call procedurename;みたいな感じ。

  • pdo

php data object。知らないって言ったらなんか馬鹿にされた。 ああ、HALか。なんか昔やったわ。 pdoは内部でプレースフォルダを使ってる。

昔俺が書いたノート

SQL

演算
2つの演算を合わせて結合演算という?

*関係演算

+(UNION)
ー(EXPECT)
×(INTERSECT)
*(自作記号)(CROSS JOIN)

*集合演算

選択(WHEREやHAVING)
射影(SELECT)
結合(JOIN)
商(DIVISION)余り使われない


算術演算子
*/+-
比較演算子
= <\>  ...etc LIKE BETWEEN
論理演算子
NOT OR AND XOR IS


非正規形
一つのレコードの属性(マス)に複数の値が入っている
第一正規形
一つのマスに一つの値が入るようにするただそれだけ
第二正規形
主キーの関数従属
表を分けたり
第三正規形

表を分けたり


SQL 自然結合
自然結合には内部結合と完全外部結合と左外部結合と右外部結合がある
自然結合
*内部
内部結合
*外部
左外部結合
右外部結合
完全外部結合

内部結合(INNER JOIN)
左外部結合(LEFT OUTER JOIN)
右外部結合(RIGHT OUTER JOIN)
完全外部結合(FULL OUTER JOIN)
OUTERは省略することが出来る

INNER JOINの省略系としてJOIN ONがある。

句の実行する順序
FROM
WHERE
GROUP BY
HAVING
SELECT



サブクエリーの闇に染まれ
スカラーサブクエリ-
行サブクエリ-
テーブルサブクエリ-
複数レコード1Columnサブクエリ-


88ページ
ANY
SOME
EXPECT
INも少し

mysqlのhelpについて

;help create table;みたいな感じで見れる。

?押すといろいろ見れる。

userのidentified by

パスワードを指定する。

qiita.com

mysqlの権限は分かりやすくて最高かよ。

オラクルは闇

DBスペシャリスト

連れがDBスペシャリスト受けて記念に問題貰ったからそれ見ながらやってたんだけどめっちゃむずいな。。。

闇でしょ。

mysqlで練習できそうなところを実際に打って遊んでみる。

WALプロトコルの目的とか知らねえよwwwなんだそれはwwww

mysqlのhelpについて

;help create table;みたいな感じで見れる。

?押すといろいろ見れる。

select distinct

重複排除。

  • view

    create view viewname as sql

    e.g. create view hellow as select * from user;

    you can replace it when use or replaceclause.

  • mysql cmdのoption 2

    なんかいまいち使いかたがよくわからなかったけどわかった。 \xとか\cだけでいいっぽい。

optionの中で使えそうなやつ

\u...alias of use

\c...clear current input statement;

\G

usage

まず最初に普通のsqlを打つ。このとき;を最後につけてはいけない。だって普通に実行されてしまうので。

次におもむろに ->となっているじょうたいで\Gと打つ。

なんか表示形式が変わって面白い。

\x...resetconnection

\R...意味不明。ネタでしょ。

\p...区切り区切りで売っているsql文をまとめてプレビュー。ビミョー。

\s...current server status.かなり使える。

\r...reconnect.使えるようになると強いかもね。

  • 副問い合わせ2

    subqueryにも別名をつけれるselect R.user_id from (select * from user)R;