MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLビューの定義を削除せずに変更するにはどうすればよいですか?


ALTER VIEWステートメントを使用して、MySQLビューの定義を変更できます。この場合、ドロップする必要はありません。構文は次のようになります-

構文
ALTER VIEW view_name AS
SELECT column1,column2…
FROM table
WHERE conditions;

これを説明するために、次のデータを持つ「Info」という名前のビューの定義を変更しています-

mysql> Select * from Info;
+------+---------+------------+
| Id   | Name    | Subject    |
+------+---------+------------+
| 101  | YashPal | History    |
| 105  | Gaurav  | Literature |
| 125  | Raman   | Computers  |
| 130  | Ram     | Computers  |
+------+---------+------------+
4 rows in set (0.01 sec)

ここで、このビューにもう1つの列を追加する場合は、ALTERVIEWステートメントを使用して次のように実行できると仮定します-

mysql> Alter view info AS SELECT ID, NAME, SUBJECT, ADDRESS from student_info;
Query OK, 0 rows affected (0.07 sec)

mysql> Select * from info;
+------+---------+------------+------------+
| ID   | NAME    | SUBJECT    | ADDRESS    |
+------+---------+------------+------------+
| 101  | YashPal | History    | Amritsar   |
| 105  | Gaurav  | Literature | Chandigarh |
| 125  | Raman   | Computers  | Shimla     |
| 130  | Ram     | Computers  | Jhansi     |
+------+---------+------------+------------+
4 rows in set (0.00 sec)

上記の結果セットは、列ADDRESSがビュー「情報」に追加されたことを示しています。


  1. MySQLで設定したインデックスを表示するにはどうすればよいですか?

    インデックスを表示するには、SHOWコマンドを使用できます。 以下は構文です- show index from yourTableName; まずテーブルを作成しましょう- mysql> create table DemoTable    (    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    FirstName varchar(20),    LastName varchar(20)    ); Query OK, 0 rows aff

  2. MySQLでカスケードを表示するにはどうすればよいですか?

    カスケードを表示するには、MySQLでSHOWCREATETABLEを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1378    -> (    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> EmployeeId varchar(20),    -> EmployeeFirstName varchar(20),    -> EmployeeLa