RDB
Last updated
Last updated
DDL:Data Definition Language データ定義言語。データを格納するための構造を定義する。
DML:Data Manipulation Language データ操作言語。定義されたデータ構造中の個々のデータを操作する。
DCL:Data Control Language データ制御言語。データへのアクセス権限などを制御する。
命名規則はスネークケース(小文字で単語を_区切りにしたもの)を採用しているパターンが多い
カラム名もスネークケースを採用したほうが命名規則が統一されて美しい
テーブル編
複数形
tlm_values
基本的にはRailsの命名規則に従うのがよいだろう
.databases
.table
.dump ?TABLE?
.help
.exit
COPY (select * from foo) TO '/tmp/aaa.csv' (FORMAT csv);
select * from binary where data::varchar like '%010203%';
普通にinsertすればよい
シェルで
export PAGER=less
\pset pager off
drop schema public cascade; create schema public;
select max(cast(j.jsonb_array_elements_text as integer)) from (select jsonb_array_elements_text(t.time_range) from (select (select jsonb_agg(t -> 'time') as time_range from jsonb_array_elements(param_array) as x(t)) from data where type = 'D') t) j;
pg_typeof
かければいい
2 * interval '1 day'
extract(day from '2019-07-22 10:00:00' - time)
date_trunc('days', '2019-07-22 10:00:00' - time)
cast("start_time" as time)
各項目にはつけられないみたいなのでenum自体に列挙する CREATE TYPE my_type_description AS ENUM('foo desc', 'bar desc');
WHERE target_column IS NOT NULL ORDER BY target_column
target_columnに別名をつけているの場合はWHEREできないので
ORDER BY target_column desc NULLS LAST
mysql -uroot -p'password' -D database_name
SELECT * FROM table WHERE data like BINARY CONCAT('%', 0x6671, '%')
文字コードが原因。
show table status;
をして、
latin1_swedish_ci とかを探す。
あったら、
ALTER TABLE my_table CONVERT TO CHARACTER SET utf8;
をしてUTF-8にする。