前提条件:
このチュートリアルの SQLite ステートメントを実践する前に、次のタスクを完了する必要があります。
A. 次のコマンドを実行して、データベース テーブルを含む「company.db」という名前の SQLite ファイルを作成します。
sqlite3 company.db
B. 次の SQLite コマンドを実行して、データベースが作成されたかどうかを確認します。
.データベース
C. 次の SQL ステートメントを実行して、「products」という名前のテーブルを作成します。テーブルには 5 つのフィールドと 1 つの主キーが含まれています。
作成 テーブル 製品 (
ID 整数 主要な 鍵 、
名前テキスト いいえ ヌル 個性的 、
タイプ 文章 いいえ ヌル 、
ブランドテキスト いいえ ヌル 、
価格 INETEGER いいえ ヌル ) ;
D. 次の SQL ステートメントを実行して、「suppliers」という名前のテーブルを作成します。テーブルには 5 つのフィールド、1 つの主キー、1 つの外部キーが含まれています。したがって、「products」テーブルと「suppliers」テーブルは外部キーで接続されています。
作成 テーブル サプライヤー (
ID 整数 主要な 鍵 、
名前テキスト いいえ ヌル 個性的 、
住所テキスト いいえ ヌル 、
ブランドテキスト いいえ ヌル 、
product_id INETEGER いいえ ヌル 、
外国 鍵 ( 製品番号 ) 参考文献 製品 ( ID ) ) ;
E. 必要なコマンドを実行して出力をフォーマットし、ヘッダーと表形式を含む「product」テーブルの構造を確認します。
次のコマンドは、出力のヘッダーを表示します。
.header オン
次のコマンドは、列ベースの出力を表示します。
.mode列次のコマンドは、「products」テーブルの構造を表形式で表示します。
プラグマテーブル情報 ( '製品' ) ;「products」テーブルの構造は、次の図の見出しとともに示されています。
構文:
テーブルの列を削除する SQL コマンドの構文を次に示します。 ALTER TABLE ステートメントは、テーブルの列を削除または追加するために使用されます。
変更 テーブル TABLE_NAME 落とす 桁 列名;SQLite テーブルから列を削除するさまざまな例
SQLite テーブルから列を削除する 3 つの方法が、チュートリアルのこの部分で示されています。
例 1: テーブルから列を削除する
次の ALTER TABLE ステートメントを実行して、「product」から「brand」フィールドを削除します。 s ' テーブル:
変更 テーブル 製品 落とす 桁 ブランド;次の SQLite コマンドを実行して、「brand」フィールドが「products」テーブルから削除されているかどうかを確認します。
プラグマテーブル情報 ( '製品' ) ;出力は、「brand」フィールドが「products」テーブルから削除されたことを示しています。
例 2: 主キーである列をテーブルから削除する
主キーはテーブル内で各レコードを個別に識別するために使用されます。したがって、主キー フィールドを削除するために ALTER TABLE ステートメントを使用すると、テーブルから主キーを削除できず、エラーが表示されます。次の ALTER TABLE ステートメントを実行して、テーブルの主キーである「products」テーブルから「id」フィールドを削除します。
変更 テーブル 製品 落とす 桁 ID;テーブルの主キーを削除する場合、次のエラーが表示されます。
例 3: 外部キーである列をテーブルから削除する
主キーと同様に、テーブルの外部キーは、テーブル間の関係が削除されるまで削除できません。次の ALTER TABLE ステートメントを実行して、「suppliers」テーブルからテーブルに外部にある「product_id」フィールドを削除します。
変更 テーブル サプライヤー 落とす 桁 製品番号;テーブルの外部キーを削除する場合、次のエラーが表示されます。
結論
このチュートリアルでは、テーブルの主キー フィールドと外部キー フィールドが削除できないことを確認する SQLite テーブルから列を削除する 3 つの異なるタイプの例を示します。