Questions tagged «mysql»

MySQL是使用结构化查询语言(SQL)的免费,开放源代码关系数据库管理系统(RDBMS)。请勿将此标签用于其他数据库,例如SQL Server,SQLite等。那些是不同的数据库,它们都使用自己的SQL方言来管理数据。

10
获取每组分组结果的前n条记录
以下是最简单的示例,尽管任何解决方案都应能够扩展到需要许多n个顶级结果的地方: 给定下面的表格,其中包含“人员”,“组”和“年龄”列,您将如何获得每个组中年龄最大的2个人?(组内的关系不应产生更多结果,而应按字母顺序给出前2个) + -------- + ------- + ----- + | 人 集团| 年龄| + -------- + ------- + ----- + | 鲍勃| 1 | 32 | | 吉尔| 1 | 34 | | 肖恩| 1 | 42 | | 杰克 2 | 29 | | 保罗| 2 | 36 | …

7
从表中删除数据行后,MySQL InnoDB无法释放磁盘空间
我有一个使用InnoDB存储引擎的MySQL表;它包含大约2M数据行。当我从表中删除数据行时,它没有释放分配的磁盘空间。运行该optimize table命令后,ibdata1文件的大小也没有减小。 有什么办法可以从MySQL回收磁盘空间? 我处境很糟;该应用程序在大约50个不同的位置运行,现在几乎所有位置都出现磁盘空间不足的问题。
140 mysql  innodb  delete-row 


3
如何转义用作列名的保留字?MySQL /创建表
我正在从.NET中的类生成表,一个问题是类可能具有一个字段名key,这是保留的MySQL关键字。如何在创建表语句中对其进行转义?(注意:下面的另一个问题是文本必须是固定大小才能被索引/唯一) create table if not exists misc_info ( id INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL, key TEXT UNIQUE NOT NULL, value TEXT NOT NULL)ENGINE=INNODB;
139 mysql  escaping 

10
如何在MySQL中删除唯一性?
Create Table: CREATE TABLE `fuinfo` ( `fid` int(10) unsigned NOT NULL, `name` varchar(40) NOT NULL, `email` varchar(128) NOT NULL, UNIQUE KEY `email` (`email`), UNIQUE KEY `fid` (`fid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 我想将唯一键放在上email,如何?
139 mysql  indexing  sql-drop 

14
如果主服务器和从服务器具有不同的数据库(如果进行Mysql复制),如何重新同步Mysql DB?
Mysql Server1以MASTER运行。 Mysql Server2作为SLAVE运行。 现在,数据库复制正在从MASTER到SLAVE进行。 Server2从网络中删除,并在1天后重新连接。此后,主服务器和从服务器中的数据库不匹配。 将数据库从主服务器还原到从服务器后,如何再次重新同步数据库也不能解决问题?

8
从物理文件还原MySQL数据库
是否可以从物理数据库文件还原MySQL数据库。我的目录具有以下文件类型: client.frm client.MYD client.MYI 但要多出约20张桌子。 我通常使用mysqldump或类似的工具在1个SQL文件中获取所有内容,那么如何处理这些类型的文件呢?
139 mysql  backup  restore 

8
MySQL日期格式DD / MM / YYYY选择查询?
我对如何按日期格式排序有些困惑。 对于格式,YYYY-MM-DD您可以这样做:...ORDER BY date DESC... 您如何订购 DD/MM/YYYY? 这不起作用: SELECT * FROM $table ORDER BY DATE_FORMAT(Date, '%Y%m%d') DESC LIMIT 14
139 mysql 

15
获取MySQL中现有行的插入语句
使用MySQL我可以运行查询: SHOW CREATE TABLE MyTable; 然后它将返回特定表的create table语句。如果您已经创建了一个表,并且想在另一个数据库上创建相同的表,这将很有用。 是否可以为一个已经存在的行或一组行获取insert语句?有些表有很多列,因此能够获得一条插入语句以将行转移到另一个数据库而不必写出插入语句,或者无需将数据导出到CSV然后再导入相同的数据,这对我来说将是很好的。到另一个数据库。 为了澄清,我想要的是可以按如下方式工作的东西: SHOW INSERT Select * FROM MyTable WHERE ID = 10; 并为我返回了以下内容: INSERT INTO MyTable(ID,Col1,Col2,Col3) VALUES (10,'hello world','some value','2010-10-20');
139 mysql  syntax 

7
MySQL-在一个查询中更新具有不同值的多行
我试图了解如何用不同的值更新多行,但我不明白。解决方案无处不在,但对我来说似乎很难理解。 例如,将三个更新更新为1个查询: UPDATE table_users SET cod_user = '622057' , date = '12082014' WHERE user_rol = 'student' AND cod_office = '17389551'; UPDATE table_users SET cod_user = '2913659' , date = '12082014' WHERE user_rol = 'assistant' AND cod_office = '17389551'; UPDATE table_users SET cod_user = '6160230' , date = '12082014' WHERE user_rol …
139 mysql  sql  sql-update 

9
mysql更新查询中的增量值
我已将此代码用于提供+1分,但无法正常工作。 mysql_query(" UPDATE member_profile SET points= ' ".$points." ' + 1 WHERE user_id = '".$userid."' "); 在$点变量是user's点现在..我希望它加一个吧..所以举例来说,如果他有一个像5分,应该是5 + 1 = 6 .. 但它不,它只是改变到1 我做错了什么?谢谢
138 php  mysql  sql  sql-update 

10
在MySQL查询中将文本转换为数字
是否可以在MySQL查询中将文本转换为数字?我有一列带有标识符的列,该标识符由名称和数字组成,格式为“名称-数字”。该列具有VARCHAR类型。我想按数字(行名相同)对行进行排序,但按执行字符顺序对列进行排序,即 name-1 name-11 name-12 name-2 如果我减少了数字,是否可以将“ varchar”数字转换为“真实”数字并用它对行进行排序?我想获得以下订单。 name-1 name-2 name-11 name-12 我无法将数字表示为单独的列。 编辑2011-05-11 9:32 我发现以下解决方案... ORDER BY column * 1。如果名称不包含任何数字,是否可以保存使用该解决方案?
138 mysql  sql 


6
左联接仅第一行
我读了许多关于仅获得左联接的第一行的主题,但是由于某种原因,这对我不起作用。 这是我的结构(当然是简化的) 提要 id | title | content ---------------------- 1 | Feed 1 | ... 艺人 artist_id | artist_name ----------------------- 1 | Artist 1 2 | Artist 2 feeds_artists rel_id | artist_id | feed_id ---------------------------- 1 | 1 | 1 2 | 2 | 1 ... 现在我想获取文章并仅加入第一位艺术家,我想到了这样的事情: SELECT * FROM …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.