真偽値、日時の扱い方
DROP TABLE IF EXISTS posts;
CREATE TABLE posts (
message VARCHAR(140),
likes INT,
is_draft BOOL,
created DATETIME
);
INSERT INTO posts (message, likes, is_draft, created) VALUES
('Tnanks', 12, TRUE,NOW()),
('Arigato', 4, FALSE,'2021-01-10'),
('Merci', 4, 0, '2021-01-09 15:32:11');
SELECT * FROM posts;
真偽値は、TRUE(1),FALSE(0)で表現できる。数字を直接入力も可能。
日時については、'2021-01-09 15:32:11'のようにすべてを登録も可能だが、時間を省略すると'00:00:00'が表示される。また、現時間を入れたい場合は、’NOW()’を入力する。それで、上記のように入力すると以下の結果が導き出される。
~ $ mysql -h db -t -u dbuser -pdbpass myapp < main.sql
+---------+-------+----------+---------------------+
| message | likes | is_draft | created |
+---------+-------+----------+---------------------+
| Tnanks | 12 | 1 | 2021-01-15 09:37:24 |
| Arigato | 4 | 0 | 2021-01-10 00:00:00 |
| Merci | 4 | 0 | 2021-01-09 15:32:11 |
+---------+-------+----------+---------------------+