SQLite操作メモ version 9
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, ...);
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, ...);