好きなだけかりんとうを食べる人生

フロントエンドとかデザインとかバックエンドとか浅く広く。社会人3年目のうぇぶでぃれくたーです。

【SQL】バックエンドド素人によるMySQL及びSQLメモ

あけましておめでとうございます。

接続

mysql -u username -p dbname;

接続解除

exit

データベースの追加

CREATE DATABASE dbname;

データベースの確認

SHOW DATABASES;

データベースの削除

DROP DATABASE dbname;

ユーザーの設定

grant all on blog_app.* to dbuser@localhost identified by '設定したいパスワード';

データベースの選択

USE dbname;

テーブルを追加

CREATE TABLE tablename(
    fname type restrict option,
    fname type
);
CREATE TABLE hoge(
    id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
    name VARCHAR(255) DEFAULT 'noname',
    password VARCHAR(15) NOT NULL UNIQUE 
);

hogeテーブルを生成、 フィールド名はそれぞれ、

id: 数字、主キー、NULL不可、自動採番有効 name: 文字列(256バイト)、デフォルト値「noname」 password: 文字列(16バイト)、NULL不可、一意性制約

ということになる

テーブルの確認

SHOW TABLES;

テーブルの削除

DROP TABLE tablename;

フィールドの挿入

INSERT INTO tname SET fname=VALUE, fname2=VALUE2;
INSERT INTO dbname.tname (fname, fname2) VALUES(VALUE, VALUE2);

フィールド一覧を表示する

SELECT * FROM tname;

データを変更する

UPDATE tname fname=VALUE WHERE 条件文;

※WHEREを省略すると「テーブル内にある全てのデータ」が対象になる

データを削除する

DELETE FROM tname WHERE 条件文;

※テーブル内にある条件文に一致するレコードを削除する

特定のフィールドを検索する

SELECT fname, fname2 FROM tname WHERE 条件文;

テーブルの構造を変更する

ALTER TABLE tname ADD fname type option 条件文;
ALTER TABLE my_items ADD maker_id INT NOT NULL AFTER id;

※ALTERはパターンが非常に多い(主キー追加・AI設定など)ので都度SQL文をチェックする

降順に並べる

SELECT * FROM tname ORDER BY fname DESC;

テーブルの構成を調べる

desc tname

おわりに

descめっちゃつかう!べんり!!