【DB Mysql】 学習まとめ
自己学習アウトプット用です。
名前 | 略称 | 命令 | 内容 |
---|---|---|---|
データ定義言語 | DDL | CREATE | データベース・テーブルの生成 |
ALTER | テーブルの変更 | ||
DROP | データベース・テーブルの削除 | ||
データ操作言語 | DML | INSERT | レコードの追加 |
DELETE | レコードの削除 | ||
UPDATE | レコードの更新 | ||
SELET | レコードの取得 | ||
データ制御言語 | DCL | COMMIT | 更新処理の確定 |
ROLLBACK | 更新処理の放棄 | ||
SAVEPOINT | セーブポイントの設定 |
用語
カラム
たて縦
レコード
よこ横
テーブル
全体のそのDBの名称
クエリ
命令文、 select * など
トランザクション
クエリ後の反映
リレーショナルデータベース
関連があるデータベース
DB項目
主キー、フィールド名、データ型
サブクエリ
クエリの結果からさらにクエリをする条件の中からさらに条件を絞り抽出するもの
ASC
昇順
DESC
降順
Select
縦、カラム名を抽出
Insert
レコードの追加コマンド
From
テーブルから抽出
DB削除
Drop
レコード削除
Delete
Where
テーブル内のデータ抽出、※検索文字列とデータ文字列が同一でないとエラーになる※
$ Where <カラム名> = “<抽出したいデータ名>”
例)Where state “神奈川”とすると「神奈川に住んでいる」データが抽出される
Like
~のようなという意味のクエリ分、含まれていれば抽出される
$ Where name Like <文字列>;
これでnameというカラムから文字列が含まれたデータが抽出される
→プリンと焼きプリンがあった場合、where “プリン”だと焼きプリンが抽出されないので
Like “%プリン%”とすると焼きプリンも抽出される
→Like の中では % がワイルドカード
Order by
表示順番を昇順か降順にする
ターミナル
Select * From <テーブル名> order by <カラム名(表示したい列)> <ASC or DESC>
- Group by
同じ関連のあるデータをひとまとめにして抽出する
カラム
たて縦
レコード
よこ横
テーブル
全体のそのDBの名称
クエリ
命令文、 select * など
トランザクション
クエリ後の反映
リレーショナルデータベース
関連があるデータベース
DB項目
主キー、フィールド名、データ型
サブクエリ
クエリの結果からさらにクエリをする条件の中からさらに条件を絞り抽出するもの
ASC
昇順
DESC
降順
Select
縦、カラム名を抽出
Insert
レコードの追加コマンド
From
テーブルから抽出
DB削除
Drop
レコード削除
Delete
Where
テーブル内のデータ抽出、※検索文字列とデータ文字列が同一でないとエラーになる※
$ Where <カラム名> = “<抽出したいデータ名>”
例)Where state “神奈川”とすると「神奈川に住んでいる」データが抽出される
Like
~のようなという意味のクエリ分、含まれていれば抽出される
$ Where name Like <文字列>;
これでnameというカラムから文字列が含まれたデータが抽出される
→プリンと焼きプリンがあった場合、where “プリン”だと焼きプリンが抽出されないので
Like “%プリン%”とすると焼きプリンも抽出される
→Like の中では % がワイルドカード
Order by
表示順番を昇順か降順にする
Select * From <テーブル名> order by <カラム名(表示したい列)> <ASC or DESC>
Access
Accessとは
マイクロソフトがMicrosoft Windows 向けに販売しているデータベース管理システムのソフトウェア
- Accessには2つの作業項目がある
- デザインビュー
- データシートビュー
「表示」→「三角ボタン」
ここからデザインを編集するかデータを編集するかを選び作業する
データシートビュー
データ入力する際の作業項目
Excelからインポート:「外部データ」→「新しいデータソース」→「ファイルから」→「Excel」
ExcelシートをそのままAccessシートに作成することもできる→
「上記と一緒でExcelから」→「現在のDBのテーブルに新しいソースデータをインストールする」
Access のクエリ
コード打たなくてもドラッグしてデータ抽出ができる
「作成」→「クエリデザイン」
抽出して表示したいようにフィールドとテーブルをドラッグして編集し最後に「実行」
Accessでは基本直接データ入力をしない
「フォーム」という項目から提出表みたいな画面になり、そこで詳細を記載し
保存することでDB上に反映される流れ
リレーションシップ設定
2つのテーブルを関連づけて情報を表示するためにリレーションシップ設定をする
「リレーションシップ」→「関連づけたいテーブル名を選択して作成」→
画面上に1対1のような関連性の画面が表示される
→反映されるために一度閉じて再表示→知りたい部分に + ボタンが表示されリレーション設定がされている

データを入力するまで
>CREATEでDBを作成する:Create database <DB名>
>USEで作成したDBを使用する:use <DB名>
>CREATE TABLEにてテーブルを作成:create table <テーブル名> (
id int primary key,
name varchar(128)
);
→int primary が主キー
→カンマで区切るのを忘れない、最後にセミコロン
>insert intoにてデータを入力する:insert into <テーブル名> (カラム1,カラム2) values (カラム1に対するデータ,カラム2に対するデータ)
「id name score」といった「student」というテーブルがある場合
$SELECT id,name,count(name) FROM student GROUP BY name ORDER BY id ASC;
→selectの後にid,name,count(name)と並べることで出力を3行で表示する、何行でもカンマの後にコードを書くだけで
抽出することができる、例)SUM(score)やAVG(score)、COUNT(name)などといったように
→fromの後は表示の細かい設定のようなもの
GROUP BYでnameにある被った名前をグループごとに表示させるようにして(下の図のように)
ORDER BY id ASC にて表示方法を昇順にしている感じ

内部結合
AテーブルとBテーブルの中に共通である「カラム」をがっちゃんこして表示する
→A:id name class
→B:class price
classが一緒なのでそれを合わせて表示させる
$select * from <テーブルA> inner join <テーブルB> on <テーブルA.共通のカラム名> = <テーブルB.共通のカラム名>
→$ select * from A inner join B on A.class = B.class
これで表示がでる、classだけがっちゃんこして両方のデータテーブルが表示される
(※Mac mysql DB名:”text” テーブル名:“code ” “class”参照すべし※、classが共通であります)
ターミナルでたまに空のDB作成して操作するとより覚えることができました。
大きなデータ量のDBは触れたことがないので、コマンドを打つ際も慎重に操作する意識をつけていきたいです。
Author And Source
この問題について(【DB Mysql】 学習まとめ), 我々は、より多くの情報をここで見つけました https://qiita.com/AkihideKato/items/3b17377caf83e1a5294f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .