トップ 一覧 検索 ヘルプ RSS ログイン

SQliteの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!! SQLITE
http://www.sqlite.org/index.html

https://www.dbonline.jp/sqlite/

! SQlite の APSW を使う
https://qiita.com/mima_ita/items/711f4324da14cbd7741c

!! INSERT
 INSERT INTO テーブル名 VALUES(値1, 値2, ...); 
 
 insert into list_table(id, name) values(2, 'Okada');

!! SELECT
! 空白を
 カラム名 IS ""
 ## 「カラム名 = ""」 は動かない
 ## 「カラム名 IS NULL」 は動かない
!リレーション
 SELECT カラム名1, カラム名2, ... FROM テーブル名; 
 
 SELECT * FROM テーブル名, テーブル名
 SELECT * FROM テーブル名, WHERE カラム = '検索文字'
  SELECT * FROM テーブル名, WHERE カラム IS NULL  ### NULL の場合

! LIKE
 SELECT カラム名 , ... FROM テーブル名 WHERE カラム LIKE パターン; 

!JOIN
 SELECT * FROM テーブル名 JOIN テーブル名
 SELECT idg,name FROM ptable JOIN ctable ON ptable.idg=ctable.idg

!内部結合
 SELECT ptable.idg,name FROM gid INNER JOIN ptable  ON ptable.idg = gtable.idg

!外部結合
 SELECT ptable.idg,name FROM gid LEFT OUTER JOIN ptable ON ptable.idg = gtable.idg

! GROUP
 SELECT カラム名 FROM テーブル名 GROUP BY カラム名
 
 SELECT * FROM test GROUP BY team, item_name HAVING COUNT(*)>1);



!! UPDATE
!データを更新
 UPDATE テーブル名 SET カラム名1 = 値1, カラム名2 = 値2, ... WHERE 条件式;
 update ptable set name = 'Yamaoka' where gid = 3;

!! DELETE
! レコード削除
 DELETE FROM テーブル名 [WHERE 条件式];
 DELETE FROM テーブル名 [WHERE 条件式] [LIMIT 数値];
 
 delete from user where id = (select id from user limit 1 offset k-1);
http://zawaworks.hatenablog.com/entry/2017/12/08/000000

! 重復行を取り除く

 SELECT DISTINCT 列名,列名... FROM テーブル名

https://amzn.to/3cR8kOf

!  query 
 #############################################
 df1 = pd.read_csv('10.csv', encoding='utf-8')
 df2 = pd.read_csv('13.csv', encoding='utf-8')
 for ii in df1['TTT']:
    # print(ii, end=' ')
    ss = df2.query('ss == @ii' )['ss']
    # print (len(ss))
    if len(ss) != 1 :
        ## print(ii,df1.query('account == @ii')['secret'])
        print(ii, len(ss))


!! Other
! Vewer
*https://sqlitebrowser.org/
 zypper install sqlitebrowser
Buildする場合
 $ zypper in -y build git-core, libQt5Core5,  libQt5Core5-32bit,  libqt5-qtbase,  libqt5-qtbase-devel,  libqt5-qttools,  libqt5-qttools-devel,  build,  gcc-c++,  gcc,  sqlite3-devel,  libsqlite3-0,  cmake,  antlr-devel,  sqlcipher-devel
 $ git clone https://github.com/sqlitebrowser/sqlitebrowser
 $ cd sqlitebrowser
 $ mkdir build
 $ cd build
 $ cmake -Dsqlcipher=1 -Wno-dev   -DFORCE_INTERNAL_QSCINTILLA=ON ..
 $ make
 $ sudo make install

! db.py ( DBtool )
 pip3 install db.py

 ### SQLite の接続
 >>> from db import DB
 >>> db = DB(filename="dbname.sql", dbtype="sqlite")
https://qiita.com/atsaki/items/a3d0884915ae93c61597

https://qiita.com/atsaki/items/a3d0884915ae93c61597

https://github.com/yhat/db.py


! freebook??
http://etc.usf.edu/lit2go/

http://www.gutenberg.org/

https://www.aozora.gr.jp/

! DB

https://www.dbonline.jp/sqlite/index/index3.html#section1