【未経験プログラミング】Rubyの基本【18日目】
mysqlサーバーのスタート:sudo service mysqld start
ステータつ確認:sudo service mysqld status
止め方:sudo service mysqld stop
サーバーへの接続:mysql -u root
文字化けの確認:show variables like "chara%";
データベースを作成:CREATE DATABASE データベース名;
データベース一覧を見る:show databases;
データベースの削除:DROP DATABASE データベース名;
操作するデータベースを選択:USE データベース名;
データベースのテーブル一覧を見る。:show tables;
テーブルの作成:CREATE TABLE データベース名.作りたいテーブル名 (
id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
title VARCHAR(100),
price,INT,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
(....):id title price created_at(登録された日時)というカラムを作成するコード
id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,はidというカラムを作成しAUTO_INCREMENTで1から始まり次は2,3、と値が1ずつ増える設定。
NOT NULLはからのデータは許さない。
PRIMARY KEYはデータを一意に得手薄ためのカラムで1つのテーブルに必ず1つは必要。
title VARCHAR(100)はtitleというカラムをVARCHAR(100)データ型で保存する設定。
VARCHAR(100)VARCHARは文字列であり(100)は100文字と制限するためのもの。
price INT はpriceカラムをINT型で作成する。
created_at カラムをTIMESTAMPと言う日付型データで保存し空きは認めず、DEFULT CURRENT_TIMESTAMPはデフォルト値として現在日時を保存。
created_at
は保存時にわざわざ現在日時を与えなくても、データ保存と同時に自動的にそのときの現在日時を保存してくれます。という意味です。
+------------+--------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+-------------------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| title | varchar(100) | YES | | NULL | |
| price | int(11) | YES | | NULL | |
| created_at | timestamp | NO | | CURRENT_TIMESTAMP | |
+------------+--------------+------+-----+-------------------+----------------+
テーブル削除:DROP TABLE データベース名.テーブル名;
INSERT構文
INSERT INTO テーブル名 (カラム1, カラム2, ...) VALUES (値1, 値2, ...);
カラム1と値1が対応している。
上記テーブルだと
INSERT INT bookstore.books (title,price,) VALUES (はじめてのMYSQL,500);
+----+----------------------+-------+---------------------+
| id | title | price | created_at |
+----+----------------------+-------+---------------------+
| 1 | はじめてのMySQL | 2980 | 2016-11-07 06:20:12 |
+----+----------------------+-------+---------------------+
となります。
mysql> SELECT * FROM bookstore.books; :データを取得する。(見る)
UPDATE テーブル名 (カラム1, カラム2, ...) VALUES (値1, 値2, ...);で上書きします。
DELETE DROP テーブル名 :削除します。
*
と書くと全てのカラムを取得することができます。これで、先ほど保存したはじめてのMySQL
のレコードが実際に保存されていることを確認できたと思います。