草庐IT

mysql - 如何找到表的当前大小(在内存中)?

我有一个使用engine=MEMORY指定的内存表。我可以运行什么命令来查明它当前占用了多少空间?最大尺寸如何? 最佳答案 SHOWTABLESTATUSLIKE'tablename'\G其中tablename是您要检查的表的名称。 关于mysql-如何找到表的当前大小(在内存中)?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3286061/

INNER JOIN 一次用于两个表的 SQL INSERT 语句

我有两个表hello和login_table下面是它们的结构user_info-------some_id|name|addresslogin_table-------id|username|passwordsome_id和id是自增索引。现在我如何在SQL中使用INSERT语句和INNERJOIN目前,我想添加以下具有相同some_id和id的数据`name`=John`address`=wallstreet`username`=john123`password`=passw123下面的代码显示了我到目前为止所做的尝试。insertintologin_tableltINNERJOIN

mysql从另一个表的多行插入信息

我正在使用MySQL5.6版。我有一个包含两个ID和一个日期的表event,还有一个包含列id的表student。我想在名称匹配(WHEREfirstname=..,ANDlastname=..,)时插入两个ID。但是,我不太清楚如何在一个插入命令中从两行中获取id。任何人都可以帮助我吗?谢谢,保罗 最佳答案 如果您尝试向表中插入数据,则需要使用insert。要从另一个表或查询中获取数据,您需要insert。..选择表单。从你所说的来看,这似乎是你想要的:insertintoevent(id1,id2,date)selects1.i

mysql - 包含引用同一个表的两个外键的复合主键 : SQL Server vs. MySQL

我已经阅读了很多关于常见的一对多/用户对friend场景的数据库表设计的帖子。一篇帖子包括以下内容:USERS*user_id(primarykey)*usernameFRIENDS*user_id(primarykey,foreignkeytoUSERS(user_id))*friend_id(primarykey,foreignkeytoUSERS(user_id))>Thiswillstopduplicates(IE:1,2)fromhappening,butwon'tstopreversalsbecause(2,1)isvalid.You'dneedatriggertoenfo

mysql - 根据另一个表的值对表的查询进行排序

场景如下:我想根据表2中的年龄对表1中的姓名进行排序。什么是SQL查询?表1ID|Name---|-----1|Jack2|Tony3|John这是表2ID|Age---|-----1|172|183|15两个表都与ID字段相关。 最佳答案 你需要连接两个表然后你可以按table2.Age排序SELECTt1.*FROMtable1t1JOINTable2t2ONt1.ID=t2.IDORDERBYAgeSeethisSQLFiddle 关于mysql-根据另一个表的值对表的查询进行排序

mysql - 内部连接与右表的空结果

我有2张table,餐厅和订单,每个餐厅可以有很多订单restaurantstableidnameorderstableidrestaurant_iddate我需要找到在某个日期范围内没有订单的餐厅。在订单表中,我将订单日期保存为-每行代表一天。因此,我需要进行内部联接,但订单表中没有结果。比如,我需要找到在2013-08-09到2013-08-11日期范围内免费的餐厅。我怎样才能做到这一点?如何进行查询,根据日期范围给出订单表中没有匹配项的餐厅?实际上,我可以将所有日期保存在状态为not_ordered的订单表中,并使用not_ordered=true条件进行内部连接,但在那种情况下

MySQL:将大表拆分成小表的最快方法

我有一个很大的表,里面有将近3亿条记录。由于select查询对我来说太慢了,我想将它拆分成大约800个小表。数据集如下所示:XXXXXXcolumn2column3column4...XXXXXXcolumn2column3column4...XXXXXXcolumn2column3column4...YYYYYYcolumn2column3column4...YYYYYYcolumn2column3column4...我想根据第一列的值拆分表(例如,将带有XXXXXX的记录拆分为表XXXXXX),最快的方法是什么?注意:我已经为它添加了10个分区,但它并没有很好地加速它。

sql - 是否可以使用 INSERT 命令将数据插入表的中间部分?

示例:索引|一些数据1|一些数据13|some_data34|一些数据45|some_data5我想做一个INSERT来添加--->2|some_data2。是否有SQL命令或某种方式来执行此操作?[编辑]好的。也许如果我解释了我想要完成的每一件事,你就会明白为什么我正在努力做我想做的事情。我在php中创建了一个Web管理页面,它只显示数据库表中的数据。现在这些显示的行是“可拖动的”。例如,您可以将第2行拖动到第4行。现在在“mouseup”事件上,我想将新订单保存在数据库中。1|数据1-------------------------->1|数据12|data2------拖动后--

mysql - 我怎样才能在 View 中有一个主键(一个不依赖于源表的键)

我正在用3个表创建一个View。每个TABLE都有它的主键。但是,在VIEW中为了拥有主键,我将不得不使用复合主键(3个表的主键的组合)。不过,我想在VIEW中添加一列作为主键,该列专为VIEW而创建。作为VIEW定义的一部分,它应该是唯一的(自动增量,因为它主要是一个INT)。我怎样才能做到这一点?我正在使用MySQL5.1 最佳答案 投票最高的答案使用SELECT@rownum:=@rownum+1asid,mytable.*FROM(SELECT@rownum:=0)r,mytable;不正确-您不能在mysql中创建一个在F

mysql - 在 MySQL 中插入和更新单行表的最佳方法是什么?

我有一个只有一行的MySQL表。第一次插入此行以及后续更新时,我的声明应该是什么?我尝试了一个主键等于1的插入,但这并没有说明第一次还没有行存在的情况。 最佳答案 如果您的表永远只有一行,您可以考虑在数据库创建脚本中将初始数据预加载到该行中。然后您的代码将只需要发出UPDATE语句。此外,您将不需要主键列,因为只有一行。然后,您也可以在不需要WHERE子句的情况下发出UPDATE语句。 关于mysql-在MySQL中插入和更新单行表的最佳方法是什么?,我们在StackOverflow上找