0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MySQLについて

Last updated at Posted at 2021-06-30

###MySQLについて
リレーショナルデータベースの1つで、構造としては1つのアプリケーションに対して1つのデータベースがあり、1つのデータベースの中に複数のテーブルがある。
特徴としては
・テーブルはカラム(縦)とレコード(横)で構成される。
・カラムに保存するデータの制約を設定できる。
・データの保存や取得にはSQLという言語を用いる。

###データベースの初期設定
文字化け対策

cat /etc/mysql/mysql.conf.d/mysqld.cnf | sed -e '/utf8/d' | sed -e '/sql_mode/d' | sed -e '$acharacter-set-server=utf8\nsql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' | sudo tee /etc/mysql/mysql.conf.d/mysqld.cnf

文字化け対策を行った後はサーバーを再起動後ログインして実行

mysql> show variables like "chara%";  (実行)

###CRAD
データベースを扱う基本操作のSQL

・Create 作成、保存 (INSERT)
・Read  取得    (SELECT)
・Update 更新    (UPDATE)
・Delete 削除    (DELETE)

データを定義するSQL

CREATE 新しいデータベース、テーブルの作成
DROP  既存のデータベースやテーブルの削除

###データベースサーバの起動と停止と接続

sudo service mysql start    (起動)
sudo service mysql starts   (起動状態確認)
sudo service mysql stop     (停止)
sudo service mysql restart  (再起動)
sudo mysql -u (ユーザー名)   (ログイン、接続)
mysql> exit                 (切断)
source [フォルダとファイル名] (ファイルの実行)

###データベースの作成
ログインする。

CREATE DATABASE データベース名;   (データベース作成)
show databases;            (データベースの一覧を確認)
DROP DATABASE データベース名;     (データベースの削除)
USE データベース名;               (操作するデータベース選択)

###テーブルの作成
・データ型
INT(整数)
DOUBLE(小数)
VARCHAR(可変長の文字列)
TEXT(文章用の長い文字列)
TIMESTAMP(日付時刻型)

以下は例です。

CREATE TABLE データベース名.テーブル名 (
    id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
    title VARCHAR(100),
    price INT,
    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

###テーブル一覧と設計内容の確認

SHOW tables;         (テーブル一覧)
DESCRIBE テーブル名;  (設計内容の確認)
DROP TABLE データベース名.テーブル名;   (テーブルの削除)

###データの作成、保存と取得と更新と削除

INSERT INTO テーブル名 (カラム1、カラム2) VALUES (値1、値2);   (作成)
SELECT カラム名 FROM テーブル名;   (データの取得。*を使うとすべてのカラム。)
UPDATE テーブル名 SET カラム名1 = 値1, カラム名2 = 値2;   (更新)
DELETE FROM テーブル名; (削除)

###条件で絞込み

WHERE カラム名 = 値;

###表示順の並び替え
テーブル内部の順番は変わらず、表示だけ変わる。
データ量が多いと負荷がかかる。

SELECT カラム名 FROM テーブル名 OREDER BY カラム名;   (データを昇順に並び替え)
SELECT カラム名 FROM テーブル名 OREDER BY カラム名 DESC;   (データを降順に並び替え)

###集計関数での分析

COUNT関数
 WHEREを用いて条件に合ったものだけカウントもできる。

SERECT COUNT(*) FROM テーブル名;   (レコードの数)

SUN関数
 合計を表示。

SELECT SUN (カラム名) FROM テーブル名;   (合計値を表示)

AVG関数
 平均を表示。

SELECT AVG (カラム名) FROM テーブル名;   (平均値を表示)
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?