データベース操作
データベースに接続
mysql -u root -p
- -u ----- 「ユーザを指定する」というオプション
- -u root ----- 「rootユーザで」みたいな意味
- -p ----- 「パスワードを指定してログインする」というオプション
データベース一覧の表示
SHOW DATABASES;
データベースの作成
CREATE DATABASE [データベース名];
データベースの削除
DROP DATABASE [データベース名];
使用するデータベースの選択
USE [データベース名];
テーブル操作
前提
利用するデータベースをUSEで選択している必要があります。
ひとこと
プログラムでデータを扱う際には、CRUD(Create, Read, Update, Delete)の四つの処理を正確に行うことが大切になります。
SQLというデータベースを扱う言語では、このCRUDの処理をそれぞれ「INSERT, SELECT, UPDATE, DELETE」という四つの構文で行うようになっています。
SQLではこの四つの構文をどれだけ使いこなせるかが重要になるので、まずは下記に紹介するような基本的な構文をマスターしましょう。
テーブル一覧の表示
SHOW TABLES;
テーブルの作成
CREATE TABLE [テーブル名] (
column1 [データ型] [その他オプション],
column2 [データ型] [その他オプション],
column3 [データ型] [その他オプション],
);
CREATE TABLE文を確認
SHOW CREATE TABLE [テーブル名];
テーブルにデータを挿入(INSERT)
INSERT INTO `users`(`id`, `name`, `address`, `tel`) VALUES(1, 'nishide', 'Cebu', '080-xxxx-oooo');
テーブルからデータを取得(SELECT)
データがない場合
SELECT * FROM `users`;
データがある場合
SELECT * FROM `users`;
抽出するデータを一部にする
usersテーブルから、idとnameだけを取得する。
SELECT `id`, `name` FROM `users`;
条件つきでデータを取得
SELECT * FROM `users` WHERE id = 2;
複数の条件で絞り込んでデータを取得
SELECT * FROM `users` WHERE id > 3 and id < 6;
並べ替えてデータを取得
SELECT * FROM `users` ORDER BY id ASC;
SELECT * FROM `users` ORDER BY id DESC;
データを更新(UPDATE)
データを更新
UPDATE [テーブル名] SET [COLUMN名] = '新しい値'
データを削除(DELETE)
データを削除
DELETE FROM [テーブル名] WHERE [条件]
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;