mysql中从大表中快速选择随机行

从大型mysql表中选择随机行的快速方法是什么 我从事php工作,但我对任何解决方案都感兴趣,即使它是用另一种语言编写的。也许您可以做如下操作: SELECT * FROM table WHERE id= (FLOOR(RAND() * (SELECT COUNT(*) FROM table) ) ); 这是假设您的ID号都是连续的,没有间隔。在每行中添加一列,其中包含计算出的随机值,并在排序子句中使用该列,在选择时限制为一个结

MySQL查询:显示每个独特城市的帖子数量

我不太擅长数据库查询。需要一个简单查询的帮助 数据库:MYSQL Zipcode[表] 职位[表格] 我需要显示每个独特城市的帖子数量。我会这样做。这将在输出中显示城市名称,并显示不存在帖子的城市 SELECT count(*) FROM post LEFT JOIN zipcodes ON post.zip = zipcodes.zip GROUP BY city; SELECT city,count(*) as "num_posts" FROM zipcodes LEFT JOIN pos

MySQL CHAR()函数和UTF8输出? +--------------------------+--------------------------------------------------------+ |变量名称|值| +--------------------------+--------------------------------------------------------+ |字符集客户机utf8| |字符集连接utf8| |字符集数据库utf8| |字符集文件系统二进制| |字符集结果utf8| |字符集服务器utf8| |字符集系统utf8| |character_sets_dir |/usr/local/mysql-5.1.41-osx10.5-x86_64/share/charsets/| +--------------------------+--------------------------------------------------------+ 一组8行(0.00秒) mysql>选择版本(); +-----------+ |版本(| +-----------+ | 5.1.41 | +-----------+ 一行一组(0.00秒) mysql>选择字符(0x00FC); +--------------+ |字符(0x00FC)| +--------------+ | ? | +--------------+ 一行一组(0.00秒)

需要实际的utf8字符-->“ü”而不是“?”也尝试了字符(使用utf8的0x00FC),但没有成功 使用mysql版本5.1.41 在谷歌上到处都是,找不到这方面的任何东西。MySQL文档简单地说,在MySQL版本5.0.14之后,如果值大于255,则需要多字节输出 谢谢你把UTF-8和Unicode混淆了 0x00FC是u的Unicode代码点: +--------------------------+---------------------------------------------

Mysql 更新连接另一个表的表

更新一个表并连接一个或多个表 UPDATE t1 SET t1.col1 =1 FROM table1 t1 JOIN table2 t2 ON t1.ID=t2.ID WHERE t1.Name='Test' AND t2.Age=25; 我得到这个错误,你的SQL语法有一个错误;查看与您的MySQL服务器版本对应的手册,了解使用“FROM table1 t1 JOIN table2 t2”的正确语法 有什么想法吗 谢谢。语句中不应该有FROM子句,而SET子句应该跟在全套表格引用之后

为什么MySQL在web开发中经常使用?

我经常想知道为什么MySQL如此流行。你知道为什么吗?它的成功背后有什么具体的原因吗?(请保持答案的分析性) 它是免费的,这意味着它在个人项目以及提供DMBS解决方案的托管平台上有更多的用途 这是少数几个可以运行的解决方案之一 它使用基本SQL而不是专门的变体,这意味着它需要较少的专门知识来使用 与大多数其他选项相比,设置和配置更直接,耗时更少 它是opensouce和免费的(社区版)。添加了更多香料,对myisam来说非常快 免费意味着什么 如果您使用oracle,并且希望在不同的箱子上设置多

MySQL:计算列

我刚开始使用SQL,遇到了一个问题 在我的数据库中,我目前有两张桌子,电影院和剧院。 我正在尝试在Cinemas表中创建一列“#of theaters”,该列统计Theaters表中与Cinemas表中的电影院具有相同CinemaID(外键)的影院数量。我将其用作SQL查询: SELECT cinemas.CinemaID,Town,COUNT(*) AS '# of Theatres' FROM cinemax.cinemas,cinemax.theatres WHERE cinemas.Ci

Mysql 优化5表SQL查询(存储=>;项=>;单词) 桌子

存储(100000行):id(主键)、名称、lat、lng等 存储项目(9000000行):存储id(fk)、项目id(fk) 项目(200000行):id(主键)、名称 项目单词(1000000行):项目id(fk)、单词id(fk) 单词(50000行):id(主键),单词VARCHAR(255) 注意:所有ID都是整数 ======== 索引 在存储项上创建唯一索引storeitems\u storeid\u itemid\u i(存储项id,项目id) 在item_words(word_

MySQL哈希索引的良好文档/参考?

MySQL文档提到了在某些情况下使用哈希索引的可能性,例如: 也就是说,内存表(和NDB;另请参阅)上支持哈希索引,如果有益的话,InnoDB可以自适应地使用哈希索引 然而,上面的文档有点稀疏。对于MySQL中哈希索引的特殊用途/细节,是否还有其他好的文档/参考?基本的散列行为是隐含的,但更多的细节会更好。您可以阅读以下内容: 假设您了解哈希是什么以及哈希表是如何工作的,那么文档似乎就足够了。特别是,你希望发现什么是维基百科没有涵盖的?好问题。在关于自适应散列索引的一节中,它说“I

Mysql,数据分布在两个表中,独立的行

我的数据分布在两个不同结构的MySQL表上 一张桌子有DVD,另一张桌子有CD DVD表如下所示: PUBLISHER STOCK DVD_INFO EXTRA_DVD_INFO PUBLISHER STOCK CD_INFO CDs表如下所示: PUBLISHER STOCK DVD_INFO EXTRA_DVD_INFO PUBLISHER STOCK CD_INFO 您如何在一次查询中获得同一发行商订购的所有CD和DVD,并按库存 每种产品一行 如果是CD,则DVD特定字段应为空

MySQL优先级

可以在MySQL中设置优先级吗 在一台服务器上,我有一个应用程序从主服务器或主服务器接收数据,并将其存储到数据库以供进一步使用。另一方面,我有网站和手机应用程序。我想做的是为用户(网络和电话)设置优先级,以确保他们始终拥有更好的访问权限。由于数据是由crontab完成的,因此需要花费更多的时间 您可以在查询时动态设置系统变量。它将优先选择SELECT语句,而不是INSERT、UPDATE和DELETE语句。虽然如果您使用InnoDB表,这将不起作用。可以设置,但它们不会设置优先级。相反,它们允许

mysql通配符%vs%%

在mysql where子句中使用带有“LIKE”的“%”和“%”有什么区别 select * from `wp_users` u where u.user_nicename like "%lastuser%" VS 在mysql中,当涉及到模式匹配时,%%和%%之间没有区别 我看到开发人员在尝试匹配文本%%并因此编写%%时对此感到困惑。这通常是因为经常使用双精度%表示希望将其视为精确的文字 类似于的MySQL文档 这根绳子的起源是什么?它往哪里走? 如果字符串被传递给一个函数,比如

Rails应用程序无法连接到mysql,可以';t通过套接字连接到本地MySQL服务器'/var/run/mysqld/mysql.sock';(2) (Mysql2::错误)

我目前正陷入rails项目的问题(我希望是新手)(这是我的第一个rails项目,如果我错过了任何重要的东西,我道歉)。我已经做了几个小时了,似乎找不到任何解决办法。我尝试了以下线程的解决方案,但没有结果 名单还在继续,不管怎样,有些线索与我的情况相似,其他的只是抓住了救命稻草。让我给你简要介绍一下我的情况 该项目是在mac上开发的 我最近设置了一个测试服务器,作为学习部署过程的一种手段 服务器正在运行Ubuntu服务器12.04 我按照一些教程进行了设置,包括部署教程,直到: $

仅允许对具有多种权限的MySQL用户进行选择

我正在创建一个数据库应用程序,它提供任何数据库的动态视图。对于安全功能,我只希望允许选择。这可以简单地通过检查第一个单词是否为select来完成吗?我知道我应该创建另一个权限有限的用户,但我正试图避免这样做,以便我的应用程序易于使用 基本上,有人能给我一个示例查询,其中SELECT是第一个单词,但数据实际上可以更改吗 有人能给我一个示例查询SELECT在哪里是第一个单词吗 但是数据实际上可以被改变吗 没有这样的事选择仅用于数据读取。当然,除非您选择的函数改变了数据。见@spencer7593答案

Mysql 在from中使用子查询优化SQL

我想优化一个SQL语句,下面是原始语句 SELECT DISTINCT p.productID, p.filename, p.model, p.code, p.manufacturerID, f2.manufacturerName, m.manufacturerName, CONCAT('INSERT INTO distribItems(productID, manufacturer, code, distributorText)

MYSQL使用加载数据填充从csv导入数据

我正在将一个CSV文件中的20000行数据导入Mysql CSV中的列与MySQL表中的列的顺序不同。如何自动分配Mysql表列对应的列 当我执行 LOAD DATA INFILE'abc.csv' INTO TABLE abc 此查询将所有数据添加到第一列 请建议将数据导入Mysql时使用自动语法。您可能需要设置以“,”或任何分隔符结尾的字段 对于CSV文件,您的声明应如下所示: LOAD DATA INFILE 'data.csv' INTO TABLE tbl_name FIELDS T

使用Codeigniter和MySQL处理多对多关系的最佳方法?

我真的找不到任何有用的东西。我正在用Codeigniter和MySQL制作我自己的管理面板,除了多对多关系之外,一切都完成了 主表是产品表。我有5个多对多关系(类别、材质、颜色、标签、城市)。每个表都有5个表,其中包含这些列(ID和类别/标签/城市的名称…),当然,在这两个表之间有一些表同时包含产品ID和另一个表ID 首先,我想在一个表中列出所有产品,在我想有类别、材料、标签等列的列中,在对应的单元格中,用逗号列出所有项目 下面是一排应该是什么样子 |ID |名称|描述|类别1、类别2、材料1T

Mysql &引用;'中的未知列;字段列表'&引用;,但该列确实存在

我已经在这段代码中隔离了我的问题。当我运行它时,我得到一个错误: [查询3中的错误]字段列表中的未知列“购买日期” 有人有想法吗?在INSERT语句中的purchase\u date和“之间插入了一个不可打印的字符30(RecordSeparator)。只需删除文本('purchase_date'),然后手工重写就可以了。我花了一天的大部分时间来解决这个问题。我的问题是一样的:不可见字符阻塞查询并返回“未知列”错误 我涉水回到Windows,用记事本++清除垃圾,解决了这个问题 首先,垃圾是怎么

Mysql邻接列表模型,我的查询结果不是我想要的

昨天,我问了一个问题。我决定改变我的方法,尝试一些新的东西。在开始之前,请看下面我的表格结构 我有一个名为People的表: id | name |parent_id ---+------+--------- 1 | John | 0 2 | Jane | 1 3 | James| 1 4 | Jack | 0 5 | Jim | 4 6 | Jenny| 4 7 | Mike | 0 所以约翰是简和詹姆斯的父母。这棵树是这样的 John -Jane -James Jack -

Mysql ";无法添加,因为它没有主键;NetBeans中的bug

我尝试从MySQL数据库创建一个实体类。Netbeans中的向导给我错误消息“无法添加,因为它没有主键”。但我的表中有一个主键。这似乎是其他人在本论坛中遇到的一个bug: 我尝试过线程中的建议,但没有得到它的工作。我错过了什么?我可以强制Netbeans导入实体类吗 我正在使用NetBeans7.3 这是我的桌子: CREATE TABLE IF NOT EXISTS `estelle`.`FrasVal` ( `ID` INT(11) NOT NULL AUTO_INCREMENT , `

MySQL过程循环错误

运行查询时,我得到以下信息: 错误: #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 '' at line 3 DROP PROCEDURE IF EXISTS insertPromos; CREATE PROCEDURE insertPromos() BEGI

MySQL语法错误(这是全新的)

当我运行以下查询时: SELECT MONTHNAME( start_date_time ) AS MONTH, SUM ( CASE WHEN YEAR( start_date_time ) = '2011' AND YEAR( u.registered) = '2011' THEN oi.qty END ) AS '2011', SUM ( CASE WHEN YEAR( start_date_time ) = '2012' AND YEAR( u.registered) = '2012

Mysql 使用同一表中的计数进行更新

我有一个表1,它的列父项id是来自同一表中其他记录的列id的值。 我想设置另一个列,列中的记录数以该表的id作为其父级id。 我试过这个: UPDATE table_1 p1 SET p1.out_degree = ( SELECT COUNT(*) FROM table_1 p2, table_1 p1 WHERE p

Mysql 向SQL中已联接的表添加其他联接

我有一个现有的查询,我正在使用连接(感谢)来获取数据 工作SQL 更新 在Joe的帮助下,这里有一个小小的更新: SELECT IFNULL(f.field_full_name_value, 'No Value'), GROUP_CONCAT(r.name), u.name, u.uid, n.title, n.nid, a.timestamp, d.field_video_duration_value AS duration FROM db_node_view_count a join db

Mysql 如何搜索两个表

我得到了一个查询,可以按标题、演员、描述等搜索电影,并按标题中有搜索词的电影排序结果 select movie.id, movie.title from movie where title like '%searchTerm%' or cast like '%searchTerm%' or director like '%searchTerm%' or FullPlot like '%searchTerm%' order by (title like '%searchTerm%')

mysql为小值集提供多个索引

例如,我有一个记录数据的表 TABLE IF NOT EXISTS `message_log` ( `id` int(8) NOT NULL AUTO_INCREMENT, `user_id` int(8) unsigned NOT NULL, `channel` tinyint(8) unsigned NOT NULL DEFAULT '0', `type` tinyint(4) NOT NULL DEFAULT '0', `message` varchar(255) NOT NULL, `t

如何计算非空列数?mysql

我有这张桌子: id col1 col2 col3 1 '' '' bla 2 '' bla bla 3 bla '' '' 我想构建一个查询,该查询将返回每个id有多少列不是空的 因此,结果将是: id sum 1 1 2 2 3 1 怎么做 select id, ((col1 != '') + (col2 != '') + (col3 != '')) as non_empty_count from tab

MySQL:选择一个条目';父母和祖父母的名字

在我的网站上,我有几篇文章,每篇文章都被分配到一个带有类别的位置。这是它的设置方式已经有相当一段时间了,所以我不能改变它的工作方式 在两个表(类别和类别职位)中设置了它们之间的关系: 因此,分类文章包含所有文章的条目id的列表,以及它们被分配的类别。然后,categories表列出所有类别,包括它们的父类别和它们的URL标题 我试图做的是编写一个查询,对于任何文章条目id,返回其类别名称和url标题,以及其父母和祖父母的名称和url标题 例如,如果我使用999作为条目id,这就是我想要的结果:

Mysql 两类用户&请求者和技术员的数据库设计

我有两个表可以登录所有用户(tbl\u技师和tbl\u请求者)。我不得不将用户分为两个表,因为我有第三个表(tbl_request)同时使用外键。我的模型是这样的: tbl_technician ------------ id name username password role_id 及 及 现在我该怎么办?应该是两个单独的表中,还是一个表中有一个名为“user_type”的列,我可以将其标记为技术人员和请求者?两者的利弊是什么?这方面有最佳实践吗?还要注意回答中的tbl\u请求 谢谢明天

Mysql2::错误:where子句中的列未知

我是rails 4的新手,我想在我的应用程序中添加多个图像。我尝试了本文中给出的修复。结果出现了新的错误 Mysql2::Error: Unknown column 'pictures.product_id' in 'where clause': SELECT pictures.* FROM pictures WHERE pictures.product_id = 9 schema.rb create_table "products", force: :cascade do |t| t.d

Mysql 如何与属性值为零的表进行联接?

我有一个表,我定义了一列来接收0作为值。我这样做是因为0代表所有的值。该表的名称为agents,其列为turmas\u id,该列与turmas表有关系,但agents中的turmas\u id不是外键,因为我可以按前面所述添加0 问题是当我使用这些表进行连接时,因为我需要返回表turmas中添加了零值和有效键的所有属性 我尝试使用左连接和内连接,但结果不是我等待的结果。如果id存在于表turmas和表agents中,我可以使用JOIN,因为它是有效的外键,但我不能在agents属性turmas

Mysql 更新不同单元格的SameID

这是我的代码,我将在其中更新库存数量。有人知道其他类似的代码吗 我想多个更新,但不同的细胞 这是我的存货,它有不同的到期日,正如您在BatchID 2中看到的,它有188个数量,而BatchID 3有70个数量 这是我的事务,您可以在第二张图片库存中看到,我的事务中有2个BatchID 2和3,BatchID 2和3已经合并。现在库存批次ID 2中的数量为188个,批次ID 3中的数量为70个,总计258个,正如您在交易中看到的,现在我想购买 200件Biogesic 258-200=58 现在

Mysql 获取其他表中的所有用户及其记录数

我有两个表users(user\u id,name)和license(license\u id,user\u id) 我想获取许可证表中所有用户的记录数。 这个问题似乎很简单,但我无法理解它的疑问 我试着 SELECT * FROM `users` a left join license b on a.user_id=b.user_id 但这给了我a表的所有行和b表的匹配行,而我希望a表的所有行和另一列的行数在b表中匹配 请帮助我如何获取此信息。如果需要匹配用户的数量,请使用计数和分组方式 S

使用COUNT语句选择多个mysql字段

我正在尝试选择具有相同会话id的记录,以下mysql语句有效: SELECT session_id, COUNT(session_id) AS NumOccurrences FROM my_table GROUP BY session_id HAVING COUNT(*) > 0 然而,我只能访问会话id,不能访问任何R字段。我试过这样的方法: SELECT session_id, other_filed COUNT(session_id) AS NumOccurrences FROM

mysql代理明文密码

我有一个MySQL代理在运行,我有一个LUA,它有一个函数用于read\u auth(),但是身份验证过程中传递的密码是散列的(正如预期的那样) 我要求他们在一个格式,我可以工作和张贴,所以清晰的文本。在MySQL客户机上启用明文插件没有效果,我怀疑MySQL代理没有要求客户机以明文发送它,所以默认为哈希 基本上:你对我如何在MySQL proxy的read\u auth()函数中获取明文身份验证细节有什么想法吗 注意:我的最终目标是使用LDAP进行身份验证,但是我获得密码(哈希或非哈希)的唯一

Mysql 基于字符串匹配插入行

我在名为tb\u price +----+---------+---------+ | id | pair_id | price | +----+---------+---------+ | 1 | | 318.18 | +----+---------+---------+ | 2 | | 15.24 | +----+---------+---------+ | 3 | | 5963.13 | +----+---------+---

Mysql 如何添加';超级';Aurora数据库的权限?

虽然之前有人问过这个问题的一个变体,但它没有帮助。对任何感兴趣的人 mysql>将**上的超级权限授予由“密码”标识的根@“%” 我运行了上述命令,但收到以下错误,即使我是root用户: 拒绝用户“root”@“%”的访问(使用密码:是) 我还创建了一个自定义参数组,设置了log\u bin\u trust\u function\u creators=1,并重新启动了实例,但我仍然没有超级权限。有什么想法吗?您不能在极光(或任何RDS)数据库上授予SUPER 一些需要SUPER的东西可以通过参数

如何将sql触发器转换/更改为MYSQL触发器

我有一个SQL触发器,我想把它转换成MYSQL触发器 下面是我的SQL触发器的代码: Create TRIGGER Trigger_INSERT_Student on [Student] AFTER INSERT AS BEGIN declare @S_Id int; declare @First_Name var char(255); declare @Last_Name var char (255);

优化和加速MySQL查询选择

我试图找出哪种方法是优化MySQL数据库上当前选择查询的最佳方法 我有两个关系为一对多的MySQL表。一个是user表,它包含唯一的用户列表,大约有22krows。一个是linedata表,该表包含每个用户的所有可能坐标,大约49000行 在这种情况下,我们可以假设两个表之间的外键是id值。对于用户表,id也是自动递增主键,而在linedata表中,它不是主键,因为同一用户可以有更多行 创建STMT结构 选择查询 例如,如果我为筛选单个用户添加了另一个WHERE条件,则选择查询将起作用。假设我只

Mysql 无法重置根密码-Windows 10

Windows force昨天在设置了MySQL和popSQL之后重新启动,现在,MySQL告诉我我的密码——我知道是正确的——不正确。我试图重置根密码,但实际上没有一个指南有效 我试过这里的官方指南,但我有几个错误,它没有重置名称 错误是: C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqld --init-file=C:\\mysql-init.txt 2019-02-19T16:44:49.460933Z 0 [System] [MY

使用docker compose的Rails应用程序无法连接到mysql容器

正在尝试使用docker compose运行rails应用程序。我运行docker compose构建,它完成时没有错误。然后我运行docker compose,两个容器都启动。然后我运行docker compose运行web rake db:create db:migrate并遇到错误: 雷克流产了! Mysql2::错误::ConnectionError:无法连接到“127.0.0.1”上的MySQL服务器(111“连接被拒绝”) 我的Dockerfile: FROM ruby:2.5.3

架构和表的MySQL命名约定(小写字母)?

在MySQL Workbench 8.0中,我将该表命名为Smartphone Brand 但它在创建后会自动在smartphonebrand中命名,这非常烦人,而且如果没有大写字母或空格字符,很难找到名称 有人对MySQL中的架构和表有任何命名约定吗?使用小写(a-z),数字(0-9)和下划线字符()作为表名 此约定提供了最佳的可用性和可移植性。这在MySQL参考手册中有记录,如下所示: 摘录: 为了避免这些差异造成的问题,最好采用一致的约定,例如始终使用小写名称创建和引用数据库和表。建议使

Mysql 如何基于表X上的查询结果返回表Y的行?

我正在使用一个具有多个表的mysql数据库。假设我想使用以下命令检索表X中具有column1值“C”的所有行: select * from X where column1="C"; 这将返回一个行列表,在这些行的不同列2中有一组不同的值。调用所有这些值的集合S。如何检索某些不同表Y的所有行,以便对于Y中的某些列3,只返回S中有column3值的行?您可以使用中的表达式执行此操作: SELECT * FROM Y WHERE column3 IN (SELECT column2 FROM X W

使用MySQL获取具有多个列的不同记录,而无需分组

我有一个数据集 CREATE TABLE `dailytrades` ( `dailytrades_date` date NOT NULL, `dailytrades_symbol` varchar(125) DEFAULT NULL, `dailytrades_qty` int(12) DEFAULT '0', `dailytrades_price` float(12,2) DEFAULT '0.00', `dailytrades_price_qualifier` varc

流畅的mysql流,避免GC和OOM问题

在从DB查询指定日期范围的记录时,我遇到了GC问题,因为返回的记录总数非常大。作为slick的新手,我没有意识到使用流媒体。有人能帮忙把下面的方法翻译成流逻辑吗- val res = query.filter { row => (row.category === ServiceConstants.CATEGORY_TYPE.name ) && (row.ftrxDate >= trxDateLowerLimit && row.f

我可以使用SQLite并切换到MySQL吗?德扬戈

我想开始一个项目,这将最终需要MySQL。不过,现在不使用MySQL,而是使用SQLite对我来说要容易得多。是否可以使用SQLite编写代码,最后切换到MySQL?这有多困难?是的,你可以。如果不这样做,你只需要保持干净,你会丢失数据,特别是如果数据很大的话。是的 您可以转换为任何类型的数据库,如 (MySql/MongoDb/PostGrees)可以。一旦感觉足够好,您就可以轻松地从一个数据库转储内容并将其移动到另一个数据库。Django为此提供了一些特性。例如SQLite与postgres

上一页   1   2    3   4   5   6  ... 下一页 最后一页 共 6822 页