【未経験プログラミング】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のレコードが実際に保存されていることを確認できたと思います。