all

SQLiteの基本コマンド

#author(“2018-02-19T03:12:37+00:00”,“default:kazuma”,“kazuma”) SQLite ヘルプ [#vfc55849] sqlite>.help 終了 [#j504fa17] sqlite>.quit データベース作成 [#qf73af44] # sqlite3 データベース名 ※/root配下にファイルが作成されるが、パッと見はただのファイルのように見えてよくわからなくなってしまうので、データベース名.sqlite3とかに名称を指定すると良い。 ※パス/データベース名にすることで、指定したディレクトリにデータベースファイルを置くことができる。 データベース一覧 [#n1c31ff5] sqlite> .databases seq name file — ————— ———————————————————- 0 main /root/zabbix-proxy.sqlite3 データベースの削除 [#n8dfc31b] 上記/root配下のファイルを削除すればOK # rm /root/zabbix-proxy.sqlite3 データベースのバックアップ [#v69d7245] 上記/root配下のファイルをコピーするだけでOK テーブル一覧 [#a874da60] sqlite> .table config request_cache
One minute to read

SQLでprimary keyとauto incrementを設定する

MySQL primary key [#y870920d] alter table テーブル名 add primary key(カラム); auto increment [#ia0f30b7] alter table テーブル名 modify catid int auto_increment; 確認 [#x410a493] describe テーブル名; +———+————-+——+—–+———+—————-+ | Field | Type | Null | Key | Default | Extra | +———+————-+——+—–+———+—————-+ | catid | int(11) | NO | PRI | NULL | auto_increment | | catname | varchar(10) | YES | | NULL | | +———+————-+——+—–+———+—————-+
One minute to read

SQLでXごとに集計する

PostgreSQL 説明 [#fe611b95] 日別や月別などで集計をかけたいた場合に使用するSQLです。 SQL [#e2978a2a] select p_date,sum(p_price) from payment_tbl group by p_date order by p_date desc
One minute to read

SQLでユーザーの削除

MySQL SQLでユーザーを削除する場合は下記の手順にて可能です。

use mysql # select * from user where user='ユーザー名'; # delete from user where user='ユーザー名'; 同じユーザー名で複数ホストがある場合に、一つのホストだけ削除するには、 # select * from user where user='ユーザー名' and host='testdb'; # delete from user where user='ユーザー名' and host='testdb';

One minute to read

SQLで今月の1日と月末を取得する

PostgreSQL 概要 [#s03d204e] SQLで月初と月末の日付を取得したい場合に使用できます。 date_trunc関数で年、月、日の切り捨てが可能です。 SQL [#q4ccc3ec] 月初の取得 [#p29afc28] select date_current('month',now()); 月末の取得 [#o62e1a90] select date_current('month',now()) interval + '1 month' interval - '1 days'; 今月の1日を取得→1ヶ月先を取得→1日前を取得=今月の月末を取得 月初から月末までの範囲の取得 [#x59ff8ce] tableがpayment_tbl 月日データがtimestamp型で保存されているテーブルがp_dateだった場合 select * from payment_tbl where p_date between date_trunc('month',now()) and date_trunc('month',now()) + interval '1 month' - interval '1 days'; 応用 [#aa825cb0] 範囲取得 [#j054bac9] 先月のデータ [#ye359cb4] select p_date,category_tbl.c_name,p_price from payment_tbl,category_tbl where payment_tbl.c_id=category_tbl.c_id and p_date between date_trunc('month',now()) - interval '1 month' and date_trunc('month',now()) - interval '1 days' order by p_date desc; betweenで本日から1ヶ月前の1日から今月の月初1日の1日前の範囲を取得。 今月のデータ [#z67b048f] select p_date,category_tbl.
One minute to read

SQLにてデータをCSV出力する

MySQL 概要 [#l5fc5acc] SQLにてCSVファイルに書き出す方法です。 内容 [#k9f98819] # mysql> SELECT * INTO OUTFILE'保存先パス' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '' LINES STARTING BY '' TERMINATED BY '\r\n' FROM 対象テーブル; 参考URL:http://www.softel.co.jp/blogs/tech/archives/1286
One minute to read

SQLにて条件式で文字数を指定する

MySQL カラムAが◯◯文字数以下のレコードを抽出 [#pfbd4cc3] mysql>SELECT * FROM テーブル名 WHERE CHAR_LENGTH(カラム名A) >= 3; カラムAの文字数が3文字以下のレコードを抽出
One minute to read

SQLの基本操作

MySQL 概要 [#f0db92b1] よく使うであろうごくごく基本的なSQL文を記載しておきます。 テーブルの作成 [#yf0be901] mysql> create table t_name(id text,name text); テーブルの削除 [#w5f4ac60] mysql> drop table t_name; 最初から10件を表示 [#ee0469df] mysql> select name from t_name limit 10 既存テーブルへフィールドの追加 [#r504df6d] mysql> alter table t_name add request_time text; レコードの挿入 [#nf11f22f] mysql> insert into t_name (id,name,request_time) values ('02','suzuki',' [29/Aug/2012:21:08:12 +0900]'); 指定したフィールドで並べ替え表示 [#ia0e1f42] mysql> select * from t_name order by request_time; フィールドのデータ型を確認 [#f8ecceb0] mysql> describe test01; +————–+——+——+—–+———+——-+ | Field | Type | Null | Key | Default | Extra | +————–+——+——+—–+———+——-+ | id | text | YES | | NULL | | | name | text | YES | | NULL | | | request_time | text | YES | | NULL | | +————–+——+——+—–+———+——-+ フィールドのデータ型を変更 [#y6e1575b] mysql> alter table t_name change column request_time request_time char(28); <– change column 既存フィールド名 新フィールド名 データ型 Query OK, 13 rows affected, 13 warnings (0.
2 minutes to read

SQL文にて、テーブルのengineを表示させる

MySQL 対象のデータベースが決まっている場合 [#x457e28d] mysql> use データベース名 mysql> show table status; 対象のデータベースが未確定で、エンジンを表示 [#yff0b1f8] mysql> use information_schema mysql> select table_schema, table_name, engine, create_time from tables; 上記SQL文を実行することで、各テーブルで使用されているエンジンが確認可能です。
One minute to read