Py学习  »  DATABASE

使用MySQL存储过程编写九九乘法表

知无涯学无尽 • 5 年前 • 414 次点击  

进入数据库编写存储过程

mysql> use school;
Database changed

mysql> create table 乘法表(九九 varchar(666));
Query OK, 0 rows affected (0.01 sec)

mysql> delimiter $$
mysql> create procedure D ( )
    -> begin
    -> declare a int;
    -> declare b int;
    -> declare c varchar(1000);
    -> set a=1;
    -> while a<=9
    -> do
    -> set b=1;
    -> set c='';
    -> while b<=a
    -> do
    -> set c=concat(c,'   ',a,'*',b,'=',a*b);
    -> set b=b+1;
    -> end while;
    -> set a=a+1;
    -> insert into 乘法表 select c;
    -> end while;
    -> end $$
Query OK, 0 rows affected (0.00 sec)

mysql> delimiter ;


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

执行存储过程,并查看效果

mysql> call D();
mysql> select * from 乘法表;
+--


    
--------------------------------------------------------------------------------+
| 九九                                                                             |
+----------------------------------------------------------------------------------+
|    1*1=1                                                                         |
|    2*1=2   2*2=4                                                                 |
|    3*1=3   3*2=6   3*3=9                                                         |
|    4*1=4   4*2=8   4*3=12   4*4=16                                               |
|    5*1=5   5*2=10   5*3=15   5*4=20   5*5=25                                     |
|    6*1=6   6*2=12   6*3=18   6*4=24   6*5=30   6*6=36                            |
|    7*1=7   7*2=14   7*3=21   7*4=28   7*5=35   7*6=42   7*7=49                   |
|    8*1=8   8*2=16   8*3=24   8*4


    
=32   8*5=40   8*6=48   8*7=56   8*8=64          |
|    9*1=9   9*2=18   9*3=27   9*4=36   9*5=45   9*6=54   9*7=63   9*8=72   9*9=81 |
+----------------------------------------------------------------------------------+
9 rows in set (0.00 sec)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/74497