【MySQL, SQL】データベースを扱う基本SQL一覧

  • 105
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

データベース操作

データベースに接続

mysql -u root -p
  • -u ----- 「ユーザを指定する」というオプション
  • -u root ----- 「rootユーザで」みたいな意味
  • -p ----- 「パスワードを指定してログインする」というオプション

データベース一覧の表示

SHOW DATABASES;

mysql_01.png

データベースの作成

CREATE DATABASE [データベース名];

mysql_02.png

データベースの削除

DROP DATABASE [データベース名];

mysql_03.png

使用するデータベースの選択

USE [データベース名];

mysql_04.png

テーブル操作

前提

利用するデータベースをUSEで選択している必要があります。

ひとこと

プログラムでデータを扱う際には、CRUD(Create, Read, Update, Delete)の四つの処理を正確に行うことが大切になります。
SQLというデータベースを扱う言語では、このCRUDの処理をそれぞれ「INSERT, SELECT, UPDATE, DELETE」という四つの構文で行うようになっています。
SQLではこの四つの構文をどれだけ使いこなせるかが重要になるので、まずは下記に紹介するような基本的な構文をマスターしましょう。

テーブル一覧の表示

SHOW TABLES;

mysql_05.png

テーブルの作成

CREATE TABLE [テーブル名] (
    column1 [データ型] [その他オプション],
    column2 [データ型] [その他オプション],
    column3 [データ型] [その他オプション],
);

mysql_06.png

CREATE TABLE文を確認

SHOW CREATE TABLE [テーブル名];

テーブルにデータを挿入(INSERT)

INSERT INTO `users`(`id`, `name`, `address`, `tel`) VALUES(1, 'nishide', 'Cebu', '080-xxxx-oooo');

mysql_08.png

テーブルからデータを取得(SELECT)

データがない場合

SELECT * FROM `users`;

mysql_07.png

データがある場合

SELECT * FROM `users`;

mysql_09.png

抽出するデータを一部にする

usersテーブルから、idとnameだけを取得する。

SELECT `id`, `name` FROM `users`;

mysql_10.png

条件つきでデータを取得

SELECT * FROM `users` WHERE id = 2;

mysql_11.png

複数の条件で絞り込んでデータを取得

SELECT * FROM `users` WHERE id > 3 and id < 6;

mysql_12 .png

並べ替えてデータを取得

SELECT * FROM `users` ORDER BY id ASC;

mysql_13.png

SELECT * FROM `users` ORDER BY id DESC;

mysql_14.png

データを更新(UPDATE)

データを更新

UPDATE [テーブル名] SET [COLUMN名] = '新しい値'

[更新前]
mysql_15.png

[UPDATE文発行]
mysql_16.png

[更新後]
mysql_17.png

データを削除(DELETE)

データを削除

DELETE FROM [テーブル名] WHERE [条件]

[削除前]
mysql_18.png

[DELETE文発行]
mysql_19.png

[削除後]
mysql_20.png

postsテーブルの作成

CREATE TABLE `posts`(
   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
   `user_id` int(10) unsigned NOT NULL,
   `post` varchar(512) NOT NULL,
   PRIMARY KEY (`id`)
);

postsテーブルにサンプルデータをインサート

INSERT INTO `posts`(
    `user_id`,
    `post`
) VALUES (
    1,
    'hogehoge fugafuga なんやで'
);

データベースをリレーションしてデータを取得

SELECT
    post.id AS post_id,
    user.name AS create_user,
    post.post AS post
FROM 
    posts AS post,
    users AS user
WHERE
    post.user_id = user.id;