MySQL
SQL

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

More than 3 years have passed since last update.


データベース操作


データベースに接続

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;