SQLite操作メモ version 10

2019/05/08 11:07 by yamasyuh68
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
SQLite入門
SQLite入門
https://www.dbonline.jp/sqlite/

# where

select * from user where address = 'Tokyo'; 

c.execute('select * from musics where title=? ' , '') 

print(c.fetchall())


# Like

select * from user where address like 'S%';
              ----       -------       ---
              table       column     expression

特殊文字
%  任意の0文字以上の文字列
_  任意の1文字

否定
select * from user where name not like '_____'; 

エスケープ
select * from mytable where mycolumn like '%10$%' escape '$'
 この例は $ をエスケープ文字にしている




VACUUM

VACUUM 文を実行することで使用していない領域を解放しファイルのサイズを小さくできる場合があります


カラムを追加する

ALTER TABLE テーブル名 ADD COLUMN カラム名[ データ型]; 

PRIMARY KEY制約とは
主キーが設定されたカラムでは他のデータと重複する値を取ることはできません。 
CREATE TABLE テーブル名(カラム名 PRIMARY KEY, ...); 


INTEGER型のカラムにPRIMARY KEY制約を設定する場合
新しいデータを追加する時に対象のカラムの値を省略すると、 AUTOINCREMENT 制約を設定した時と同じように自動的に数値が格納されます。 
CREATE TABLE テーブル名(カラム名 INTEGER PRIMARY KEY, ...); 

ROWID
ほぼ同じ機能??







      

SQLite入門
https://www.dbonline.jp/sqlite/

where

select * from user where address = 'Tokyo';

c.execute('select * from musics where title=? ' , '')

print(c.fetchall())

Like

select * from user where address like 'S%';
---- ------- ---
table column expression

特殊文字
% 任意の0文字以上の文字列
_ 任意の1文字

否定
select * from user where name not like '_____';

エスケープ
select * from mytable where mycolumn like '%10\(%' escape '\) '
この例は $ をエスケープ文字にしている

VACUUM

VACUUM 文を実行することで使用していない領域を解放しファイルのサイズを小さくできる場合があります

カラムを追加する

ALTER TABLE テーブル名 ADD COLUMN カラム名[ データ型];

PRIMARY KEY制約とは
主キーが設定されたカラムでは他のデータと重複する値を取ることはできません。
CREATE TABLE テーブル名(カラム名 PRIMARY KEY, ...);

INTEGER型のカラムにPRIMARY KEY制約を設定する場合
新しいデータを追加する時に対象のカラムの値を省略すると、 AUTOINCREMENT 制約を設定した時と同じように自動的に数値が格納されます。
CREATE TABLE テーブル名(カラム名 INTEGER PRIMARY KEY, ...);

ROWID
ほぼ同じ機能??