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

MySQLストアドプロシージャのパラメータとしてテーブルの名前を渡すことにより、テーブルのすべてのレコードを取得するにはどうすればよいですか?


ストアドプロシージャのパラメータとして名前を渡すことでテーブルのすべてのレコードを表示したい場合、次の例では、次の名前を受け入れる'details'という名前のプロシージャを作成します。パラメータとしてのテーブル-

mysql> DELIMITER //
mysql> Create procedure details(tab_name Varchar(40))
   -> BEGIN
   -> SET @t:= CONCAT('Select * from',' ',tab_name);
   -> Prepare stmt FROM @t;
   -> EXECUTE stmt;
   -> END //
Query OK, 0 rows affected (0.00 sec)

次に、パラメータとしてテーブルの名前を指定してこのプロシージャを呼び出すと、そのテーブルのすべてのレコードが表示されます。

mysql> DELIMITER;
mysql> CALL details('student_detail');
+-----------+-------------+------------+
| Studentid | StudentName | address    |
+-----------+-------------+------------+
|       100 | Gaurav      | Delhi      |
|       101 | Raman       | Shimla     |
|       103 | Rahul       | Jaipur     |
|       104 | Ram         | Chandigarh |
|       105 | Mohan       | Chandigarh |
+-----------+-------------+------------+
5 rows in set (0.02 sec)
Query OK, 0 rows affected (0.03 sec)

  1. MySQLテーブル内のすべての重複レコードを削除するにはどうすればよいですか?

    テーブルから重複レコードを削除するには、DELETEコマンドを使用できます。テーブルを作成しましょう。 mysql> create table DuplicateDeleteDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.60 sec) テーブル「DuplicateDeleteDemo」へのレコードの挿入:ここでは、「John」を複製レコードとして3回追加しました。 mysql> insert into Duplicate

  2. MySQLテーブルの列の名前を取得するにはどうすればよいですか?

    これにはSHOWコマンドを使用できます。 以下は構文です- show columns from yourTableName; まずテーブルを作成しましょう- mysql> create table DemoTable (    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    StudentFirstName varchar(20),    StudentLastName varchar(20),    StudentAge int,