MySQLでストアドプロシージャを作成し、特定の数のレコードのみを表示するように制限を設定します
まずテーブルを作成しましょう-
mysql> create table DemoTable1368 -> ( -> ClientId int, -> ClientName varchar(20) -> ); Query OK, 0 rows affected (0.58 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable1368 values(101,'Adam'); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable1368 values(102,'Bob'); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable1368 values(103,'John'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable1368 values(104,'Sam'); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable1368 values(105,'Mike'); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable1368 values(106,'Carol'); Query OK, 1 row affected (0.11 sec)>
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select * from DemoTable1368;
これにより、次の出力が生成されます-
+----------+------------+ | ClientId | ClientName | +----------+------------+ | 101 | Adam | | 102 | Bob | | 103 | John | | 104 | Sam | | 105 | Mike | | 106 | Carol | +----------+------------+ 6 rows in set (0.00 sec)
以下は、ストアドプロシージャを作成し、MySQLLIMITを使用して表示されるレコードの数を制限するクエリです-
mysql> DELIMITER // mysql> CREATE PROCEDURE limit_Demo(IN limitValue int) -> BEGIN -> DECLARE limValue int; -> SET limValue =limitValue ; -> SELECT * FROM DemoTable1368 LIMIT limValue; -> END -> // Query OK, 0 rows affected (0.17 sec) mysql> DELIMITER ;
これで、callコマンドを使用してストアドプロシージャを呼び出すことができます-
mysql> CALL limit_Demo(3);
これにより、次の出力が生成されます-
+----------+------------+ | ClientId | ClientName | +----------+------------+ | 101 | Adam | | 102 | Bob | | 103 | John | +----------+------------+ 3 rows in set (0.00 sec) Query OK, 0 rows affected (0.03 sec)
-
MySQLのストアドプロシージャからのテーブルレコードを表示する
まずテーブルを作成しましょう- mysql> create table DemoTable1933 ( ClientName varchar(20) ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1933 values('Chris Brown'); Query OK, 1 row affected (0.00 sec) mysql
-
MySQL regexpは、文字列または数値が混在する文字列を含むレコードのみを表示します。番号レコードのみを無視する
このために、REGEXPを使用できます。以下は構文です- select yourColumnName from yourTableName where yourColumnName REGEXP '[a−zA&minu;Z]'; テーブルを作成しましょう- mysql> create table demo41 −> ( −> name varchar(40) −> ); Query OK, 0 rows affected (0.64 sec) 挿入コマンド-を使用して、いくつかのレコードをテーブ