Questions tagged «mysql»

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

5
计算不同的值
我有一个数据集,询问客户例如他们有多少只宠物。有一个方法可以查询不同的值(1、2、3等)吗?谢谢! +----------+------+ | Customer | Pets | +----------+------+ | 20 | 2 | | 21 | 3 | | 22 | 3 | | 23 | 2 | | 24 | 4 | +----------+------+ 我要的是一个清单说: 2人养了2只宠物 2人养了3只宠物 1只养了4只宠物
78 mysql  sql 

4
以分钟为单位计算两个日期之间的时差
我的MySQL数据库中有一个Timestamp字段,它映射到DATEbean中的数据类型。现在,我想要一个查询,通过该查询可以获取数据库中的所有记录,这些记录的当前时间戳和存储在数据库中的时间戳之间的差异> 20分钟。 我该怎么做? 我想要的是: SELECT * FROM MyTab T WHERE T.runTime - now > 20 minutes 是否有任何MySQL函数可用于此目的,或有任何方法可以在SQL中做到这一点?
78 mysql  sql  timestamp 

13
MySQL在Windows上的哪里存储数据库文件,文件的名称是什么?
因此,我不小心格式化了硬盘,重新安装了Windows,却忘记了备份MySQL服务器中的重要数据库。我正在尝试使用某些软件来抢救文件,但我不知道要寻找什么。 文件的存储路径是什么,文件的名称是什么(我应该使用什么命名约定或文件扩展名)? 我相信我的服务器正在使用MyISAM,但不是100%肯定。 任何意见,将不胜感激!

7
无法将mysql识别为内部或外部命令,可运行程序或批处理
我已经设置了MySQL路径,但是仍然遇到相同的错误。请让我知道我是否遵循正确的方法。 MySQL的位置是: C:\Program Files\MySQL\MySQL Server 5.0\bin 在Windows中,我将系统变量设置为: 变量名称: MYSQL_HOME 可变值: C:\Program Files\MySQL\MySQL Server 5.0\bin 对于PATH设置: 变量名称: PATH 可变值: .;%JAVA_HOME%\bin;%MYSQL_HOME%\bin... 如果不是正确的路径,请告诉我正确的路径及其设置。


10
在MySQL INSERT INTO文本中添加换行符
有人可以告诉我如何在MySql表中输入的文本中添加新行吗? 我尝试'\n'在与INSERT INTO语句一起输入的行中使用,但'\n'按原样显示。 实际上,我已经在MS Access中创建了一些数据表。MS Access用添加新行'\n'。我正在将MS Access表数据转换为MySql。但是,当我进行转换时,'\n'当我从PHP表单上的MySql表中显示文本时,它将被忽略并且所有文本都显示在一行中。 谁能告诉我MySQL如何在文本中添加新行?等待回应,谢谢!

3
mysqldump仅导出一张表
我正在使用mysqldump导出数据库,如下所示: mysqldump -u root -ppassword my_database > c:\temp\my_database.sql 不知何故,它只导出一张表。我做错什么了吗?

14
mysqld:无法将dir更改为data。服务器无法启动
我使用安装程序安装了MySQL服务器,然后启动了该服务器。重新启动后,我尝试再次启动它并得到错误: D:\Program Files\MySQL\MySQL Server 5.7\bin>mysqld -u root -p mysqld: Can't change dir to 'D:\Program Files\MySQL\MySQL Server 5.7\data\' (Errcode: 2 - No such file or directory) 2015-11-17T08:30:18.822962Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2015-11-17T08:30:18.822962Z 0 [Warning] Insecure configuration …
78 mysql 


14
我怎么知道我的docker mysql容器何时启动并且mysql准备好进行查询?
我正在部署几个不同的Docker容器,第一个是mysql。我想在数据库启动后立即运行脚本,然后继续构建其他容器。该脚本已失败,因为它试图在设置mysql(从此正式mysql容器)的入口点脚本仍在运行时运行。 sudo docker run --name mysql -e MYSQL_ROOT_PASSWORD=MY_ROOT_PASS -p 3306:3306 -d mysql [..] wait for mysql to be ready [..] mysql -h 127.0.0.1 -P 3306 -u root --password=MY_ROOT_PASS < MY_SQL_SCRIPT.sql 有没有一种方法可以等待docker容器内的进入MySQL设置脚本完成的信号?重击睡眠似乎是次佳的解决方案。 编辑:像这样的bash脚本。不是最优雅,最蛮力的,但就像一种魅力。也许有人会觉得有用。 OUTPUT="Can't connect" while [[ $OUTPUT == *"Can't connect"* ]] do OUTPUT=$(mysql -h $APP_IP -P :$APP_PORT -u yyy --password=xxx …
78 mysql  bash  shell  docker 

3
MySQL select语句是CASE还是IF ELSEIF?不确定如何获得结果
我有两个桌子。一个拥有制造商信息,并包括他们可以销售的区域。另一个有他们的产品出售。我们必须根据地区来限制产品的可见性。这就像Netflix的系统中的视频只能在任何地方(1),在加拿大(2),在美国(3)都可以观看。 我正在尝试进行查询,以告诉我可以根据制造商表中的设置在哪里查看产品。 例如,在制造商表中,有两个字段称为Exposure_new和Exposure_used,每个字段的值为1,2或3,以限制可以看到其新视频或使用过的视频的位置。 添加视频后,不会为它们分配“曝光”值,这是根据当前制造商的Exposure_new或Exposure_used值在将它们添加到我们的索引中时即时进行的。 我要获取的是项目详细信息以及根据其是新产品还是二手产品以及可以将其所有新产品或二手产品分配给制造商的规则/值在哪里可以看到的计算值。 我需要根据每个产品使用此数字以有条件地将其显示在列表中。 以下内容不起作用,但是您将了解我正在尝试做的事情。我已经使用CASE语句和以下WRONG IF / ELSEIF语句尝试了此操作。 任何调试器的帮助,并指出正确的方向,将不胜感激。 SELECT t2.company_name, t2.expose_new, // 1,2 or 3 t2.expose_used, // 1,2 or 3 t1.title, t1.seller, t1.status, //can be new or used (SELECT IF(status ='New', (select expose_new from manufacturers where id = t1.seller),1 ) ELSEIF(t1.status ='Used', (select expose_used from manufacturers where …
78 mysql  select  case 

11
使用CodeIgniter的活动记录将NOW()插入数据库
我想在Codeigniter的活动记录中使用mySQL函数NOW()在数据库中插入当前时间。以下查询将不起作用: $data = array( 'name' => $name , 'email' => $email, 'time' => NOW() ); $this->db->insert('mytable', $data); 这是因为CodeIgniter的ActiveRecord类自动转义输入。 通过调用set()并传递peratmeter FALSE,以下代码可以正常工作,以使它不会逃脱NOW()。 $data = array( 'name' => $name , 'email' => $email, ); $this->db->set('time', 'NOW()', FALSE); $this->db->insert('mytable', $data); 但是,我的问题是,除此之外还有其他方法吗?例如,如果我可以通过仅添加数据数组中的所有内容来以某种方式使用?例如,类似: $data = array( 'name' => $name , 'email' => $email, 'time' => NOW(), …
78 php  mysql  codeigniter 

12
错误1148:此MySQL版本不允许使用的命令
我正在尝试使用以下方式将数据加载到mysql数据库中 LOAD DATA LOCAL INFILE A.txt INTO DB LINES TERMINATED BY '|'; 这个问题的主题是我得到的答复。我了解默认情况下将关闭本地数据卸载,因此我必须使用命令启用它,local-infile=1但是我不知道在何处放置此命令。
78 mysql  sql  import 

4
SET autocommit = 1和mysql中的START TRANSACTION之间的区别(我错过了什么吗?)
我正在阅读MySQL中的事务,并且不确定是否正确掌握了某些特定内容,并且想确保我理解正确,所以请继续。我知道事务应该做什么,只是不确定我是否理解语句的语义。 因此,我的问题是,以下内容是否有错((如果是这种情况,错了)): 默认情况下,MySQL中启用了自动提交模式。 现在,SET autocommit=0;将开始事务,SET autocommit=1;将隐式提交。这是可能的COMMIT;,以及ROLLBACK;,在两个自动提交仍设置为0之后(和一个新的隐式启动事务)的情况下。 START TRANSACTION;基本上会SET autocommit=0;一直到COMMIT;或ROLLBACK;发生。 换句话说,START TRANSACTION;和SET autocommit=0;是等效的,除了以下事实:START TRANSACTION;等效地隐式添加了SET autocommit=0;afterCOMMIT;或ROLLBACK; 如果是这种情况,我不理解http://dev.mysql.com/doc/refman/5.5/en/set-transaction.html#isolevel_serializable-认为具有隔离级别意味着存在事务,意味着应始终关闭自动提交功能? 并且,如果在开始事务和设置自动提交之间还有另一个差异(上述差异除外),那是什么?

7
我可以在SELECT查询中重用计算字段吗?
有没有一种方法可以重用mysql语句中的计算字段。我收到以下错误信息:“ unknown column total_sale”: SELECT s.f1 + s.f2 as total_sale, s.f1 / total_sale as f1_percent FROM sales s 还是我必须重复计算,如果我添加了所有需要的计算,这将导致很长的SQL语句。 SELECT s.f1 + s.f2 as total_sale, s.f1 / (s.f1 + s.f2) as f1_percent FROM sales s 当然,我可以在我的php程序中进行所有计算。

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.