Tag: MySQL

更快的方法来删除匹配的行?

谈到数据库,我是一个相对的新手。 我们正在使用MySQL,目前我正在尝试加速SQL语句,似乎需要一段时间才能运行。 我环顾了一下类似的问题,但没有find一个。 目标是删除表A中与表B中匹配的所有行。 我目前正在执行以下操作: DELETE FROM a WHERE EXISTS (SELECT b.id FROM b WHERE b.id = a.id); 表a中约有100K行,表b中约有22K行。 列'id'是两个表的PK。 这个陈述需要大约3分钟的时间运行在我的testing盒 – 奔腾D,XP SP3,2GB内存,MySQL 5.0.67。 这对我来说似乎很慢。 也许不是,但我希望能加快速度。 有没有更好/更快的方法来完成这个? 编辑: 一些额外的信息,可能会有所帮助。 表A和B具有相同的结构,我已经做了以下创build表B: CREATE TABLE b LIKE a; 表a(也就是表b)有几个索引来帮助加快对它的查询。 再次,我是DB工作的相对新手,仍然在学习。 我不知道这对事物有多大影响,如果有的话。 我认为它也有效果,因为索引也必须清理,对吧? 我也想知道是否有任何其他数据库设置,可能会影响速度。 另外,我正在使用INNO DB。 以下是一些可能对您有帮助的其他信息。 表A有一个类似的结构(我已经消毒了一下): DROP TABLE IF EXISTS `frobozz`.`a`; CREATE TABLE `frobozz`.`a` ( `id` […]

MySql:授予只读选项?

我有一个用户,我想授予所有数据库架构的读取权限。 一种方法是: GRANT SELECT, SHOW_VIEW ON test.* TO 'readuser'@'%'; 有没有办法将所有读取操作分组?

如何使用mysql将查询结果存储在variables中

SET @v1 := SELECT COUNT(*) FROM user_rating; SELECT @v1 当我用setvariables执行这个查询时,显示这个错误。 Error Code : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT count(*) FROM user_rating' at line 1 Execution Time : 00:00:00:000 Transfer Time : 00:00:00:000 Total […]

使用PHP存储在MySQL数据库中的IP地址

什么是正确的字段types的IP地址在MySQL? 什么是使用PHP存储它的正确方法?

MySQL和PHP – 插入NULL而不是空string

我有一个MySQL语句插入一些variables到数据库中。 我最近添加了两个可选的字段($ intLat,$ intLng)。 现在,如果这些值没有input,我会传递一个空string作为值。 如何将一个显式的NULL值传递给MySQL(如果为空)? $query = "INSERT INTO data (notes, id, filesUploaded, lat, lng, intLat, intLng) VALUES ('$notes', '$id', TRIM('$imageUploaded'), '$lat', '$long', '$intLat', '$intLng')"; mysql_query($query);

MySQL删除整个列中的所有空格

有没有办法从所有值的特定列中删除所有的空格?

通过GROUP BY查询获取行数

我有一个查询的效果 SELECT t3.id, a,bunch,of,other,stuff FROM t1, t2, t3 WHERE (associate t1,t2, and t3 with each other) GROUP BY t3.id LIMIT 10,20 我想知道很多总行这个查询将返回没有极限(所以我可以显示分页信息)。 通常情况下,我会使用这个查询: SELECT COUNT(t3.id) FROM t1, t2, t3 WHERE (associate t1,t2, and t3 with each other) GROUP BY t3.id 然而,GROUP BY改变了COUNT的含义,而我得到了一组代表每个组中唯一t3.id值的数目的行。 当我使用GROUP BY时,有没有办法获得总数的计数? 我想避免必须执行整个查询,并只计算行数,因为我只需要行的一个子集,因为值分页。 我正在使用MySQL 5,但我认为这很通用。

如何在MySQL Workbench中生成整个数据库脚本?

我想采取整个数据库。 我在哪里可以find数据库文件? 有没有办法将整个数据库的所有数据写入一个文本文件(如SQL Server中的)?

Pentaho数据集成SQL连接

我正在使用Pentaho数据集成,我试图通过MySQL连接到我的数据库,但是当我这样做,我得到这个错误….. Error connecting to database [devdb2] : org.pentaho.di.core.exception.KettleDatabaseException: Error occured while trying to connect to the database Exception while loading class org.gjt.mm.mysql.Driver org.pentaho.di.core.exception.KettleDatabaseException: Error occured while trying to connect to the database Exception while loading class org.gjt.mm.mysql.Driver at org.pentaho.di.core.database.Database.normalConnect(Database.java:368) at org.pentaho.di.core.database.Database.connect(Database.java:317) at org.pentaho.di.core.database.Database.connect(Database.java:279) at org.pentaho.di.core.database.Database.connect(Database.java:269) at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.java:86) at org.pentaho.di.core.database.DatabaseMeta.testConnection(DatabaseMeta.java:2464) at org.pentaho.ui.database.event.DataHandler.testDatabaseConnection(DataHandler.java:533) at sun.reflect.GeneratedMethodAccessor55.invoke(Unknown Source) at […]

MySQL – 连接

我正在使用MySQL和MySQL Workbench 5.2 CE。 当我尝试连接2列, last_name和first_name ,它不起作用: select first_name + last_name as "Name" from test.student