sql
PythonでまなぶSQLiteデータベース入門 上巻: Excelデータベースからのステップアップ作者:NSシステムズAmazon
多分、意図通りの使い方の一つであろう、DBとの組み合わせ……ということでSQLite3と組み合わせた例を 実際のところ グラフはplotlyとの連動で生成します。 steamlitはplotlyとの組み合わせ用メソッドを標準で持っているため、グラフ部分は完全に任せてしまっ…
実際のところ ATTACH DATABASE ':memory:' AS aux1; コマンドラインから起動した状態では、mainもインメモリで起動してたみたいですね .databases --- main: "" r/w --- aux1: "" r/w なんも考えずに CREATE TABLE foobar(val INT); INSERT INTO foobar(val)…
実際のところ select hex(randomblob(12)); 3FEDA148FCEC829C6E9CF510 select hex(zeroblob(16)); 00000000000000000000000000000000printf構文と組み合わせての使用も可能なので select printf('__%s', hex(randomblob(16))); __11A865F3CC063DF5140C2A34EF…
SQLiteでも出力結果をprintf構文で整形出来ます。 特にワンライナーと繋ぐ時などで有効かと。 実際のところ CREATE TABLE T (V integer); insert into T(V) values(400), (800), (25), (76); select printf('%08X', V) from T; 参考もと c++ - SQLite Int to…
実際のところ create table blobtest(body BLOB); 16進数でのの保存はBlob literalにて認識させます。 公式によると BLOB literals are string literals containing hexadecimal data and preceded by a single "x" or "X" character. Example: X'53514C6974…
実際のところ sqlite> CREATE TABLE jsontest(jsonbody); sqlite> INSERT INTO jsontest(jsonbody) VALUES (json('{"foo":12, "bar":"fizzbuzz"}')); sqlite> SELECT jsonbody FROM jsontest; {"foo":12,"bar":"fizzbuzz"} と、これくらいだと旨みが少ないで…
前処理大全[データ分析のためのSQL/R/Python実践テクニック]作者:本橋 智光技術評論社Amazon何事も段取りが大切といわれますが、それは所謂機械学習でも変わりません。 本書「前処理大全」は機械学習やデータ成形の段取り第一段階である、データの前い処理…
シェルスクリプト+データベース活用テクニック―Bourne ShellとSQLiteによるDBシステム構築のすすめ作者:雄二, 広瀬カットシステムAmazon結構前から、システムを作るときにはシェルスクリプト on Bashな構成で作っています。 保存はファイルにやってたのです…
進行中プロジェクトで、どう考えても使用頻度が低いAPI機能の実装依頼がありました。……こんなカッタルイモンのためにメンテコストも払いたくないので、 接続を希望している別チームには当該のSQL文を教えてやって貰う事に。 SQL直叩きはあまりお行儀のいい方…
四捨五入で丸めてくれる関数です。SQLite環境で SELECT val, ROUND(val,2) FROM val を実行した場合、値が12.345ならば返って来る値は12.35となります。また、第2引数にマイナスをつけた場合は整数が丸め対象です。 12345で-2なら12300
たとえば、@区切りとかいう妙なデータがあったとします $ cat neodata.asv county@precinct@office@district@party@candidate@votes Clark@1@President@@REP@John R. Kasich@5 Clark@2@President@@REP@John R. Kasich@0 Clark@3@President@@REP@John R. Kasi…
前回の続きです 今回はクエリを作ってみるのじゃ〜(流行りに乗っていくスタイル 実際のところ 前回のGUIな例にもあるように、標準的SQL構文がつかえます "select+*+from+sample"であれば $ curl http://127.0.0.1:8001/base-4cc8b58.json?sql=select+*+from…
varchar型30文字のコラム"address"を追加する場合、以下のようにします。 ALTER TABLE distributors ADD COLUMN address varchar(30); ……いや、本当は動いてるシステムにカラム追加とか地獄なんですけどね。 開発中だとシカタナイネ。 参考もと https://www.…
sql serverとAsp.net mvcを使ったアプリでdatetime型をPOSTしようとして "The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value. みたいな事を言われたら、null値が入ってるのが原因です。 何らかの初期…
特定の範囲内にある値をとる場合、BETWEEN演算子が使えます。 SQL標準なので、SQLiteにすら入っています。 実際のところ いままで0以上50以下なんてクエリを書く場合、以下のようにしていました。 SELECT value_a FROM result WHERE value_a >= 0 AND value_…
[改訂第4版]SQLポケットリファレンス作者: 朝井淳出版社/メーカー: 技術評論社発売日: 2017/02/18メディア: 単行本(ソフトカバー)この商品を含むブログを見るSQLのポケットリファレンス第四版です。SQLの歴史や文法にかるく触れつつ、関数や演算子といった…
sqlalchemyでデータを順番に並べる方法です 実際のところ idが5未満のデータをid順でソートするには以下のようにします。 for row in session.query(User).\ filter(text("id<3")).\ order_by(text("id")).all(): print(row) 参考もと Object Relational Tut…
sqlalchemyにおける検索条件について 実際のところ for user in session.query(User).\ filter(User.name=='ed').\ filter(User.fullname=='Ed Jones'): print(user) 上の例は、以下のように書くこともできます。 session.filter(User.name == 'ed', User.fu…
実際のところ $ pip install sqlalchemyimport sqlalchemy sqlalchemy.__version__ #>> '1.0.15' SQLiteのオンメモリDBをつかって、簡単な読み書きをするには以下のようにします。 from sqlalchemy import create_engine, Table, Column, Integer, String, M…
shuzo-kino.hateblo.jp この記事では、SERIAL型を使って、DEFAULTで連番値を入れてくれる設定にしました。今回は前の記事でやったシーケンス関数を使ってみます。 実際のところ シーケンス関数を使うと以下のように設定できます。 CREATE TABLE products ( p…
PostgreSQLのシーケンス操作関数は連番の数値を入れる際に便利な機能です。 実際のところ シーケンス型serialを3からはじめる場合、以下のようにします。 CREATE SEQUENCE serial START 3; ためしに中をみてみると、デフォで色々と値を持っている事がわかり…
PostgreSQLでの特殊なデータ型にSERIAL型というのがあります。 実際のところ CREATE TABLE samples ( product_id SERIAL, body text ); SERIAL型を使う場合、データ指定はDEFAULTとします。 具体的な数値を突っ込むと、その通りの値が入ります。 INSERT INTO…
PostgreSQLの-cコマンドで結果だけが欲しい場合、 commandオプションとAtオプションをつけると結果だけ出力することができます。 実際のところ 何らかの事情で $ psql template1 -c "SELECT to_char(2016,'RN') AS id;" id ----------------- MMXVI (1 row)…
COPYコマンドで検索結果をローカルファイルに保存する方法です。 実際のところ 検索結果を保存する ホームディレクトリ(/Users/shuzo_kino/)に作ったcopytest.txtというファイルにbookテーブルのidを出力するケースを考えます。 パスは絶対でしか受け取っ…
前の記事ではINSERTコマンドを使った挿入をためしました。 今回はCOPYというコマンドを使ったデータ投入方法です。 実際のところ railsでいうrake db seedsも $ cat /Users/shuzo_kino/sample.txt 12,book 42,foo 56,'bar'空のテーブルbookに対し、上記のも…
こんな事も知らずにやってたのかって話ですが…… INSERTでは、VALUES咬ませることで複数のデータを投入することが出来ます。 実際のところ こんなデータがあったとします CREATE TABLE samples ( id int, body text ); これに3個ほどデータをぶっ込むには以…
符号付き select to_char(-123,'SG999') as id; id ------ -123 (1 row) ローマ数字 > SELECT to_char(99,'RN') AS id; id————XCIXローマ数字に変換してくれるんですか〜こりゃ便利機能だ〜(ぐるぐる目#postgresql— 木野修造 (@shuzo_kino) 2016年12月9日 …
postgresであるいはcase文の使い方 実際のところ この手のアレでおなじみのfizzbuzzっぽいの。 ……すみませんaをそのまんま表示する方法がわからなかたので空白文字です => 解決 SELECT a, CASE WHEN a % 15 = 0 THEN 'FizzBuzz' WHEN a % 3 = 0 THEN 'Fizz' …
Postgresには generete_seriesという連番の数値を出す関数があります 実際のところ 3飛びで1~7までの数値を出したい場合以下のようにします $ psql postgres -c "SELECT 'hello' AS val, id FROM generate_series(1,7,3) AS id;" val | id -------+---- hell…