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

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)

  1. 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

  2. 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) 挿入コマンド-を使用して、いくつかのレコードをテーブ