Questions tagged «mysql»

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

5
如何在MySQL中从DATETIME分离DATE和TIME
我将DATETIME字段存储 在表中。每个值如下所示: 2012-09-09 06:57:12。 我正在使用以下语法: date("Y-m-d H:i:s"); 现在我的问题是,在获取数据时,如何使用单个MySQL查询分别获取日期和时间? 日期如2012-09-09,时间如06:57:12。
82 php  mysql  sql  datetime 

9
MySQL中的UUID性能?
我们正在考虑将UUID值用作MySQL数据库的主键。所插入的数据是由数十,数百甚至数千台远程计算机生成的,并且以每秒100-40,000次插入的速度插入,我们将永远不会进行任何更新。 在我们开始选择数据之前,数据库本身通常将获得约5000万条记录,因此不是庞大的数据库,也不是很小的数据库。我们也计划在InnoDB上运行,但是如果我们有更好的引擎来进行我们的工作,我们愿意改变它。 我们已经准备好使用Java的Type 4 UUID,但是在测试中已经看到了一些奇怪的行为。一方面,我们将其存储为varchar(36),但现在我意识到使用Binary(16)会更好-尽管我不确定有多少更好。 更大的问题是:当我们拥有5000万条记录时,此随机数据对索引的破坏有多严重?如果我们使用例如类型1的UUID标记最左边的比特,我们会更好吗?还是我们应该完全放弃UUID并考虑使用auto_increment主键? 我正在寻找有关不同类型的UUID在MySQL中作为索引/主键存储时的性能的一般想法/提示。谢谢!

10
获取直方图的数据
有没有一种方法可以指定MySQL中的bin大小?现在,我正在尝试以下SQL查询: select total, count(total) from faults GROUP BY total; 生成的数据足够好,但是行太多。我需要的是一种将数据分组到预定义的bin中的方法。我可以从脚本语言执行此操作,但是有没有办法直接在SQL中执行此操作? 例: +-------+--------------+ | total | count(total) | +-------+--------------+ | 30 | 1 | | 31 | 2 | | 33 | 1 | | 34 | 3 | | 35 | 2 | | 36 | 6 | | 37 …

11
在一个查询中从两个表中删除
我在MySQL中有两个表 #messages table : messageid messagetitle . . #usersmessages table usersmessageid messageid userid . . 现在,如果我想从邮件表中删除就可以了。但是,当我通过messageid删除消息时,该记录仍然存在于usersmessage上,我必须立即从这两个表中删除。 我使用以下查询: DELETE FROM messages LEFT JOIN usersmessages USING(messageid) WHERE messageid='1' ; 然后我测试 DELETE FROM messages , usersmessages WHERE messages.messageid = usersmessages.messageid and messageid='1' ; 但是这两个查询不能完成此任务。
82 sql  mysql 


5
mysql索引太多?
我花了一些时间来优化当前数据库。 我正在专门查看索引。 有几个问题: 索引太多了吗? 索引将加速什么? 索引会减慢什么? 什么时候添加索引是个好主意? 什么时候添加索引是个坏主意? 多个索引与多列索引的优缺点
82 sql  mysql  indexing 

3
在MySQL中使用选择索引创建临时表
我有一个使用临时表的存储函数。出于性能原因,我需要在该表中创建一个索引。不幸的是,我无法使用,ALTER TABLE因为这会导致隐式提交。 所以我在寻找的语法来添加INDEX对tempid创建过程中。谁能帮忙? CREATE TEMPORARY TABLE tmpLivecheck ( tmpid INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY ) SELECT * FROM tblLivecheck_copy WHERE tblLivecheck_copy.devId = did;
82 mysql  ddl  temp-tables 

3
毫秒精度的时间戳:如何将其保存在MySQL中
我必须使用MySQL开发应用程序,并且必须保存“ 1412792828893”之类的值,该值代表时间戳,但精度为毫秒。即,自1970年1月1日起的毫秒数。我声明该行为,timestamp但不幸的是,这行不通。所有值均设置为0000-00-00 00:00:00 CREATE TABLE IF NOT EXISTS `probability` ( `id` int(11) NOT NULL AUTO_INCREMENT, `segment_id` int(11) NOT NULL, `probability` float NOT NULL, `measured_at` timestamp NOT NULL, `provider_id` int(11) NOT NULL, PRIMARY KEY (`id`) ) ; 为了能够以这种精度保存时间戳记值,如何声明?

1
MySQL:将NULL强制类型转换为0
让我们假设下表(例如,几个内部join语句的结果): id | column_1 | column_2 ------------------------ 1 | 1 | 2 | 2 | 2 3 | | 3 例如,您可以从以下语句中获取: select a.id, t1.column_1, t2.column_2 from a left join t1 on a.id = t1.id left join t2 on a.id = t2.id 现在,如果我想将t1.column_1和t2.column_2总结如下 select a.id, t1.column_1, t2.column_2, (t1.column_1 + t2.column_2) as …
81 sql  mysql  casting 

1
MySQL将行透视成动态列数
可以说我有三个不同的MySQL表: 表products: id | name 1 Product A 2 Product B 表partners: id | name 1 Partner A 2 Partner B 表sales: partners_id | products_id 1 2 2 5 1 5 1 3 1 4 1 5 2 2 2 4 2 3 1 1 我想得到一个表格,其中行和产品列为合作伙伴。到目前为止,我已经能够获得如下输出: name | name | …
81 mysql  sql  pivot 

4
MySQL数据库在两个数据库之间同步
我们正在多家商店中运行带有MySql后端的Java PoS(销售点)应用程序。我想保持商店中的数据库与主机服务器上的数据库同步。 商店中发生某些更改时,应在主机服务器上对其进行更新。我该如何实现?
81 mysql  database 

16
Tinyint vs Bit?
我不想在这里引发一场宗教战争,但是在如何表示数据库中的布尔值方面似乎有两种思路。有人说bit是合适的数据类型,而另一些人则认为tinyint更好。 我知道的唯一区别是: bit:存储大小为1位,可能的值为0或1 tinyint:存储大小为1个字节,可能的值为0-255 当您需要表示布尔值时,哪种数据类型更好?是tinyint值得的额外开销“以防万一”你需要值> 1?
81 sql  mysql  sql-server  types 

14
找不到mysql.sock
我只需要重新安装mysql,我就无法启动它。它找不到套接字(mysql.sock)。问题是我不能。在我的Mac OS X 10.4终端中,键入:locate mysql.sock,然后返回/private/tmp/mysql.sock。套接字文件存在于该位置是有道理的,但实际上并不存在。 如何找到套接字文件? 如果locate返回错误的位置,则它必须具有某种内存,并且可能具有索引。如何刷新该索引?

7
#1025-将'./database/#sql-2e0f_1254ba7'重命名为'./database/table'时出错(错误号:150)
因此,我试图向数据库中的一个表添加主键。现在,它具有这样的主键: PRIMARY KEY (user_id, round_number) 其中user_id是外键。 我正在尝试将其更改为: PRIMARY KEY (user_id, round_number, created_at) 我在phpmyadmin中通过单击表结构视图中的主键图标来执行此操作。 这是我得到的错误: #1025 - Error on rename of './database/#sql-2e0f_1254ba7' to './database/table' (errno: 150) 它是带有InnoDB表引擎的MySQL数据库。

7
MySQL命令行客户端中的自动补全
在Linux和许多其他系统中,在浏览终端时,可以按Tab以自动完成目录或文件名。 我想知道MySQL终端中是否有类似的东西。例如,如果我想获得对someTableWithRidiculousLongName我的描述,则可以输入describe someTableWthen Tab,它将自动完成其余的内容。 MySQL终端中是否存在类似的东西?

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.