職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

SQLiteのデータについて

2020年05月25日 | sqlite
SQLiteのデータについて


【開発環境】
OS:Windows 10 (64bit)
コマンドプロンプト

【SQLiteで利用可能なデータ型】
・格納される値のデータ型
SQLite3 ではテーブルを定義する時にカラム毎にデータ型を指定することは必須ではないが、データ型を指定しなかったカラムには色々な型の値が格納される。
→「NULL」「INTEGER」「REAL」「TEXT」「BLOB」の5種類のデータ型に分類される。

・カラムのデータ型
SQLite3 でカラムに指定できるデータ型は「TEXT」「NUMERIC」「INTEGER」「REAL」「NONE」の5つです。
例文
カラム id を INTEGER 型、カラム name を TEXT 型に指定してテーブルを作成してみる。
SQL文
→create table personal(id integer, name text);

・文字列のエスケープ処理
文字列の値を格納する時にはシングルクオーテーションで囲む
insert into test values('文字列です');

しかし、(I'm a student.)の様にシングルクオーテーションが含まれた場合は
insert into test values('I'’m a student.');の様にシングルクオーテーション(')の前にシングルクオーテーション(')を記述してエスケープ処理を行う。

【テーブルの作成】
1.CREATE文でテーブルを作成する
構文
CREATE TABLE テーブル名(カラム名1, カラム名2, ...);
例文
D:\pg\sqlite3>sqlite3 myfriend.sqlite3
SQLite version 3.31.1 2020-01-27 19:55:54
Enter ".help" for usage hints.
sqlite>
sqlite>create table personal(id, name);

2.カラムにデータ型を指定してテーブルを作成
構文
CREATE TABLE テーブル名(カラム名1 データ型, カラム名2 データ型, ...)
例文
sqlite>
sqlite> create table personal2(id integer, name text);
sqlite> .tables
personal personal2
sqlite>

3.テーブルスキーマ(構造)の確認
①sqlite_masterテーブルから取得
sqlite> .mode line←コマンド
sqlite>
sqlite> select * from sqlite_master;
type = table
name = personal
tbl_name = personal
rootpage = 2
sql = CREATE TABLE personal(id,name)

type = table
name = personal2
tbl_name = personal2
rootpage = 3
sql = CREATE TABLE personal2(id integer, name text)
sqlite>

②.schemaコマンドを使って取得
sqlite> .schema
CREATE TABLE personal(id,name);
CREATE TABLE personal2(id integer, name text);
sqlite>

4.テーブル名を変更する
書式
ALTER TABLE テーブル名 RENAME TO 新しいテーブル名;
例文
sqlite>
sqlite> alter table personal2 rename to myfriend;
sqlite>
sqlite> .tables
myfriend personal
sqlite>

5.カラムを追加する
書式
ALTER TABLE テーブル名 ADD COLUMN カラム名[ データ型];
例文
myfriend テーブルに address カラムを追加してみる。
D:\pg\sqlite3>sqlite3 D:\pg\sqlite3\myfriend.sqlite3
SQLite version 3.31.1 2020-01-27 19:55:54
Enter ".help" for usage hints.
sqlite>
sqlite> .schema myfriend
CREATE TABLE IF NOT EXISTS "myfriend"(id integer, name text);
sqlite>
sqlite> alter table myfriend add column address text;

変更後
sqlite> .schema myfriend
CREATE TABLE IF NOT EXISTS "myfriend"(id integer, name text, address text);
sqlite>

5.テーブルを削除する
書式
DROP TABLE テーブル名;
例文
sqlite> .tables
myfriend personal
sqlite> drop table myfriend;
sqlite>
sqlite> .tables
personal
sqlite>

コメント    この記事についてブログを書く
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« コマンドプロンプトによるSQL... | トップ | SQLiteのカラム制約について »
最新の画像もっと見る

コメントを投稿

sqlite」カテゴリの最新記事