MySQL


スプレッドシートとデータベースの違い:データベースはエンコード(コンピュータ言語)によって制御できます.

こうぞう


表(表)<データベース>,モード<データベースサーバ

サーバ接続

mysql -uroot -p

シナリオの使用


データベースの作成
CREAT DATABASE eunryong;
削除
DROP DATABASE eunryong;
確認
SHOW DATABASES;

SQLとテーブル構造


SQL:Structured Query Language
特徴:シンプルで重要(リレーショナル・データベース内の製品はデータベース・サーバを制御するための共通言語)
テーブル構造
x軸:column,列データ
y軸:row、record、行データ構造

TABLEの作成


初心者がカンニングリストを使う
CREATE TABLE topic(
id INT(11) NOT NULL AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
description TEXT NULL,
created DATETIME NOT NULL,
author VARCHAR(30) NULL,
profile VARCHAR(30) NULL,
PRIMARY KEY(id));
INT:整数
VARCHAR:255文字以内の文字
TEXT:255以降
DATETIME:時間
PRIMARY KEY:重複しない主キー

INSERT構文(CREATE)


表にコンテンツを追加
INSERT INTO topic(title,description,created,author,profile) 
VALUES('MySQL','MySQL is ...',NOW(),'eunryong','developer');
順番に作成
現在時刻:NOW()の使用
テーブル構造の決定
DESC table_name

SELECT文法(READ)


表の読み込み
SELECT * FROM topic;
表の部分のみを読み込む
SELECT id,title,created,author FROM topic;
必要な部分のみを読み込む
SELECT id,title,created,author FROM topic WHERE author='eunryong';
順序の逆順序
SELECT id,title,created,author FROM topic WHERE author='eunryong'
ORDER BY id DESC;
数量制限
SELECT id,title,created,author FROM topic WHERE author='eunryong'
ORDER BY id DESC LIMIT 3;;

UPDATE構文


表の変更
UPDATE topic SET description='Oracle is ...',title='Oracle' WHERE id='2;

DELETE構文


削除
DELETE FROM topic WHERE id = 5;
不在の場合はすべて削除

リレーショナル・データベース


必要:重複なし=変更しやすい
短所:比較するときに見ると一目も見えない

JOIN


分離されたテーブルを1つのテーブルとして表すことができます.
 SELECT * FROM topic LEFT JOIN author ON topic.author_id = author.id;
 //중복시 table_name.중복된 값
 SELECT topic.id,title,description,created,name,profile FROM topic LEFT JOIN author ON topic.author_id = author.id;
 //수정시 같이 변경된다.
 UPDATE author SET profile='database administrator' WHERE id = 2;