もっと詳しく

ALTERTABLEのバリアントはSQLiteでサポートされています。 SQLiteのALTERTABLEステートメントを使用して、既存のテーブルを変更したり、フィールドのタイトルを変更したり、フィールドを挿入したり、フィールドを削除したりすることができます。 表の列名は、RENAMECOLUMNコマンドを使用して新しい名前に変更されます。 この操作を使用して変更できるのは、同じデータセット内のテーブルのみです。 一方、トリガーまたはインデックスを含むようにテーブルが変更された場合、これらは変更直後に保持されます。 したがって、このガイドでは、SQLiteテーブルの列の名前変更のトピックを取り上げることにしました。

この記事は、Ubuntu20.04システムで最初にシェルアプリケーションを起動することから始まります。 Ctrl + Alt + Tを使用して、それを開き、aptupdate命令でシステムの更新を開始しました。 現在ログインしているユーザーのパスワードを追加すると、更新プロセスが開始され、完了します。

システムを更新した後、システムとその内部パッケージが最新バージョンにアップグレードされていることを確認する必要があります。 そのため、以下に示すように、aptアップグレード命令を使用してパッケージをアップグレードしています。

システムの更新とアップグレードに成功したら、ターミナルシェル内でSQLiteデータベースを起動する方向に進みます。 開始するには、単一のキーワード「sqlite3」を使用する必要があります。 SQLiteシェルが画面に表示され、データのクエリに使用できます。

それを開いた後、「。tables」命令を使用してデータベースのテーブルをリストしましたが、データベースにはこれまでのところテーブルがないことがわかりました。

列の名前を変更するには、データベースにテーブルが必要です。 したがって、CREATE TABLE命令を使用して、現在のSQLiteデータベース内に「Test」というタイトルのテーブルを作成しています。 このテーブル内には、IDと名前の2つの列があります。 ID列には、NULLであってはならないテーブルの主キーを表す整数型の値が含まれます。[名前]列はテキストタイプであり、NULLであってはなりません。 これで、「。tables」命令に従って、テーブルのリスト内に「test」テーブルができました。 テストテーブルのレコードを選択すると、テーブルが空であり、その中にいくつかのレコードを挿入する必要があることがわかりました。

したがって、VALUESキーワードを使用したINSERT INTO命令を使用して、テーブル「Test」のIDおよびName列に5つのレコードを挿入し、その後に挿入するレコードを挿入しました。 5つのレコードは一意であり、重複する値はありません。 レコードを挿入した後、SELECT命令、アスタリスク「*」文字、およびテーブル名「Test」を使用してテーブルレコードをチェックしています。 このクエリは、「|」で区切られたIDおよびName列のこのテーブルの5つのレコードすべてを返します。 キャラクター。

テストテーブルの列名は「ID」と「Name」です。 RENAMECOLUMN命令を使用して列名の名前を変更してみましょう。 ALTER TABLE命令を使用して列の名前を「Name」から「Fname」に変更し、続いてテーブル名「Test」と「TO」キーワードを使用して「RENAMECOLUMN」に名前を変更します。 以下に示すように、クエリは成功しました。

sqlite>> ALTER テーブル テスト 名前を変更 名前 Fname;

テーブル「Test」の列名を変更した後、SELECT命令を使用して、テーブルのすべてのレコードを表示します。 以下に示すように、合計5つのレコードが表示されています。

sqlite>> 選択する * から テスト;

新しい名前の更新がどのように機能するかを見てみましょう。 テーブルTestの列と同じ元の名前を使用して、テストテーブル内にレコードを挿入してみましょう。 したがって、「ID」列と「Name」列の元の名前に続いてVALUESキーワードと6番目のレコード(6、「Barak」)を使用してINSERTINTO命令を試しました。 この命令を実行すると、「テーブルテストに「名前」という名前の列がありません」というエラーが返されます。 このエラーは、新しい列名「Fname」の代わりに元の列名「Name」が使用されたために発生しました。

ターミナルでのINSERTINTO命令の使用法を使用して、元の列名「Name」ではなく、新しい列名「Fname」で同じレコードを挿入してみましょう。 今回は、この挿入コマンドを実行してもエラーは発生しませんでした。 SELECT命令の後にアスタリスク「*」文字を使用して、テストテーブルのすべてのレコードを表示しました。 合計6つのレコードが表示されています。つまり、最後のレコードは、新しい列名「Fname」で挿入された最新のレコードです。

INSERT命令と同様に、SELECT命令を使用してテーブルのレコードをフェッチし、その中の列名を使用して、新しい名前がテーブル列に正常に追加されたことを表示することもできます。 そのため、指定されたWHERE句条件を追加しながら、SELECT命令を使用してテストテーブルレコードを表示しています。 このため、元の列の名前「Name」を使用して、Name列の値が「Ana」であるテーブルのレコードのみを表示しています。 このクエリを実行すると、「そのような列はありません:名前」というエラーが表示されました。 このエラーの理由は、新しく更新された列の名前が「Fname」であるためです。 新しい列名「Fname」で同じクエリを実行して、「Fname」列に値「Ana」が含まれているすべてのレコードをフェッチしてみましょう。 テーブルから単一のレコードを表示し、エラーを削除しました。

sqlite>> 選択する * から 俳優 どこ 名前 = 「アナ」;

sqlite>> 選択する * から 俳優 どこ FName = 「アナ」;

結論

この記事では、ALTERTABLE命令内でRENAMECOLUMN句を使用して、テーブルの特定の列の名前を更新または変更する方法について説明しました。 例も修正できます。 これまでのところ、可能な限り簡単な方法でそれを行ってきました。あなたがそれを気に入ってくれることを願っています。

The post SQLiteの名前変更列 appeared first on Gamingsym Japan.