Databaseの基本操作 CRUD(クラッド)
生成(Create)
読み取り(Read)
更新(Update)
削除(Delete)
データベースとは
データをハードディスクに集積させ、そのデータを追加・検索・抽出・更新などの機能を利用できるようにしたサービス。
そのようなサービスを提供するソフトウェアをデータベース管理システム(DBMS)といい、そのようなサーバーをデータベースサーバーという。
データベースは2種類の意味合いを持つ
①領域。
MySQL等で作成した領域。
テーブル、行、列から構成されたデータベス名を付けたデータ。
②データベースサーバー
データベースに接続又は切断などという表現で使われる。
データベースの種類
カード型データベース
ネットワーク型データベース
オブジェクト指向型データベース
Key-Value型データベース
リレーショナルデータベース(RDBMS)
RDBMS
昨今広く使用されているデータベース。
「関係データベース」
relational database management system
データを行(レコード)と列(カラム)の表(テーブル)で管理する。
MySQL / MariaDB
RDBMSのソフトウェア
MySQL→MariaDBに変更
XAMPPではMariaDBをMySQLと表記している。
SQL
SQLは、RDBMSを動かすプログラミング言語。
Structured Query Langage 構造化問合せ言語
MySQLの機能
データベース作成
テーブルの作成
データの追加
データの取得・表示
データの検索
データの更新
データの削除
MySQLのデータベース作成
①同じ名前のデータベース削除
②データベース作成
③ユーザーの作成
④データベースを指定(接続)
①データベースの削除
作成前に同じ名前のいらないデータベースがあった場合に削除するため
構文
drop database if exists データベース名;
②データベース作成
構文
create database データベース名 default character set utf8 collate utf8_general_ci;
③ユーザーの作成
構文
GRANT 与える権限 ON データベース名.テーブル名 TO ユーザー名 identified by ‘新規パスワード’;
④データベースを指定(接続)
構文
use データベース名;
コード
drop database if exists データベース名; create database データベース名 default character set utf8 collate utf8_general_ci; grant all on データベース名.* to 'ユーザー名'@'localhost' identified by '新規パスワード'; use データベース名;
all on データベース名.*
データベースの全てのテーブルに対して、全ての権限を与える。
テーブルの作成
構文
create table テーブル名(
列(カラム)名 データ型 属性 primary key,
列(カラム)名 データ型 属性,
列(カラム)名 データ型 属性
);
データの追加・行の追加 insert
SQL文
構文
insert into テーブル名 values ( 列1の値 , 列2の値 , ….)
データの取得・表示 select
SQL文
構文
select 列名 from テーブル名
列のデータの取り出し
構文
変数名or配列名 [ ‘列名’ ]
“変数名or配列名 [ 列名 ]”
データの検索 where
SQL文
構文
select * from テーブル名where 列名 = ’ 検索キーワード ‘
and演算子 (論理演算)組合せ検索
複数の値を組合せて検索したい場合。
組合せが見つかると検索結果を返す。
構文
select * from テーブル名 where A and B
Aであり、かつBである。場合に検索する。
以外を指定
構文
select * from テーブル名 where 列名 <> A値
列名の中のA値 以外の 値を抽出する。
!= ノットイコールと同じ。
?
後から好きな値を設定できる。
例)select * from テーブル名 where 列名 = ?
likeとワイルドカード
曖昧な条件で検索したい時に使う。
lile
指定したキーワードを含まない場合。
not like
ワイルドカード
%
構文
select * from product where name lile ‘%検索ワード%’
データの更新 update
SQL文
構文
update テーブル名 set 列名=値 , 列名=値 where 列名=値;
データの削除 delete
SQL文
構文
delete from テーブル名 where 列名=値;