您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

mysql利用中间值来暂时性存储值_MySQL

2025/6/14 5:19:25发布19次查看
bitscn.com
mysql利用中间值来暂时性存储值
mysql在查询数据的时候,有时候后面的语句会用到查出来的某个值,
这时候你会考虑怎么把这个值存起来,有两个方法来达到目的:
一。利用自定义值。二。利用中间表。
下面会分别说一下这两个方法如何调用:
1.如何把某张表的某个值存到自定义变量上
这个利用内存来存值
sql代码
#定义@amax_price为常量值  
mysql> set @amax_price=(select max(fscorecount) from tbl_user);  
query ok, 0 rows affected (0.00 sec)
mysql> select * from tbl_user where fscorecount= @amax_price;  
+---------+-----------+-------+------+-------------+------------+--------------+  
--------+--------+---------+---------+---------+---------+--------------+-------  
-------+---------+---------------------+------------+--------------+------------  
---------+----------------+-------+  
| fuserid | fqq       | fnick | fpwd | fscorecount | fvotecount | finvitecount |  
 fbtype | fltype | fenable | fvalue1 | fvalue2 | fvalue3 | fvalue4      | fvalue  
5      | fvalue6 | ftime               | fdate      | fip          | flastlogint  
ime      | flastlogindate | fmemo |  
+---------+-----------+-------+------+-------------+------------+--------------+  
--------+--------+---------+---------+---------+---------+--------------+-------  
-------+---------+---------------------+------------+--------------+------------  
---------+----------------+-------+  
|       1 | 455342107 |       |      |          22 |          0 |            2 |  
      0 |      0 |       0 |       1 |       0 |         | 2011-08-15_3 | 2011-0  
8-10_2 |         | 2011-08-10 10:02:40 | 2011-08-10 | 192.168.1.34 | 2011-08-16  
14:30:18 | 2011-08-16     |       |  
+---------+-----------+-------+------+-------------+------------+--------------+  
--------+--------+---------+---------+---------+---------+--------------+-------  
-------+---------+---------------------+------------+--------------+------------  
---------+----------------+-------+  
2.如何把某张表的某个值存到临时表
sql代码
#查出tbl_user表中所有值  
mysql> select fqq,fscorecount from tbl_user;  
+-----------+-------------+  
| fqq       | fscorecount |  
+-----------+-------------+  
| 455342107 |          22 |  
| 24222     |           0 |  
| 345333    |           5 |  
| 664444    |           5 |  
| 234324    |           0 |  
| 137543511 |           5 |  
| 519422206 |           5 |  
| 234222    |           0 |  
| 14234     |           5 |  
| 1242354   |           5 |  
| 111565    |           5 |  
| 342323    |           0 |  
| 234322    |           0 |  
| 543244    |           0 |  
+-----------+-------------+  
14 rows in set (0.00 sec)  
#把最大值存储到临时表tmp上  
mysql> create table tmp select max(fscorecount) as max_score from tbl_user; 
query ok, 1 row affected (0.05 sec)  
records: 1  duplicates: 0  warnings: 0  
#查出临时表结构  
mysql> select * from tmp;  
+-----------+  
| max_score |  
+-----------+  
|        22 |  
+-----------+  
1 row in set (0.00 sec)
mysql> show tables;  
+----------------------------------+  
| tables_in_db_nissansunny_2011_08 |  
+----------------------------------+  
| tbl_code                         |  
| tbl_comment                      |  
| tbl_file                         |  
| tbl_invitehistory                |  
| tbl_lotterycount                 |  
| tbl_lotteryhistory               |  
| tbl_qqshow                       |  
| tbl_score                        |  
| tbl_scoredetail                  |  
| tbl_user                         |  
| tbl_useraward                    |  
| tbl_userprofile                  |  
| tbl_votehistory                  |  
| tmp                              |  
+----------------------------------+  
14 rows in set (0.00 sec)  
两张方法各有差异:自定义变量是利用了内存,临时表利用了数据库空间。。哈哈,建议数据量大还是用临时表好一点。。。
bitscn.com
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product