我有两个问题:
首先,如果我在MySQL中有一个简单的视图,如下所示:
CREATE VIEW `peopleView` AS
SELECT id, name, surname FROM people
然后执行以下查询:
SELECT * FROM peopleView WHERE id = 5
MySQL服务器会在后台创建类似这样的东西吗?
SELECT id, name, surname FROM people WHERE id = 5
换句话说,它不会先执行视图,它可能会返回5000条记录,然后在这5000条记录上尝试过滤到id = 5的位置?这会使视图变得非常慢...
其次,我认为视图
现在我正在做一个库存数据库项目。因此,我想问一下什么是连接java到数据库( mysql )的正确方法--在本例中,我使用我从appserv安装的mysql,并通过phpmyadmin管理它。我正在使用Netbeans IDE
所以我上网:
要连接数据库:
我将jdbc库添加到库中。
我在netbeans中建立了新的连接(我已经用mysql建立了数据库)
我填满了我的港口等
测试连接
import java.sql.*;
public class connection {
public static void main(String[]args){
try
假设我想做UPDATE table SET name = 'bob'和UPDATE table SET age = 55 WHERE name = 'jim',如何在同一个mysql_query()中实现它们?
编辑:,因为这个问题有相当多的视图,我想指出的是,到PHP5.5、mysql_query和其他mysql_*函数已经过时,不应该使用。
我有一个连接到MySQL DB的spring boot应用程序,并且我已经能够使用这些表,但现在我创建了一个模型、存储库和服务来访问视图。我在控制器中创建了一个处理此视图的路由,并收到以下错误消息: java.sql.SQLException: The user specified as a definer ('root'@'%') does not exist 在MySQL工作台中,当我查看视图时,它看起来如下所示: CREATE
ALGORITHM = UNDEFINED
DEFINER = `root`@`%`
SQL SE
在使用JDBC时,我遇到了一个问题,我在mysql中创建了一个包含员工信息Employee_Id、名称、城市、工资和Year_of_joining的表,我还创建了一个存储过程到同一个数据库,该数据库接受两个输入,并根据加入年份更新员工的薪资。以下是存储过程:
CREATE PROCEDURE proc(IN var1, IN var2)
BEGIN
UPDATE "TABLE" SET Salary=var1+Salary WHERE Year_of_Joining= var2
END
现在,我通过java创建了一个数据库连接到mysql数据库(该连接正在成功地建立)。
但
我们已经尝试使用PHP和Java代码来运行MySQL数据视图。结果集与视图中的数据不匹配。
查询为
SELECT * FROM xxxx_v WHERE id = 19
在视图中,我们有以下结果: 19,3120,1618,1502
在PHP和/或Java结果集中,我们得到: 19,3121,1624,1497
数字怎么会不同呢?
我正在为我的大学建立一个带有发布消息选项的门户网站。因此,我使用LONGTEXT将消息存储在mysql中。但不知何故,LONGTEXT不接受撇号标记。每当我发布一些带有撇号的句子时,它都会显示以下错误:
"Error: 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 's open singles
tournament, will Electrical b
我正在尝试从使用别名创建的SQL视图更新MySQL中的行。我甚至不知道这是否可能。
原始SQL如下所示。这是我保存为视图"ProductVersion“。
SELECT e.entity_id AS id,
v1.value AS name,
e.sku,
d1.value AS version
FROM mguu_catalog_product_entity e
LEFT JOIN mguu_catalog_product_entity_varchar v1 ON e.entity_id = v1.entity_id
AND v1.store
我希望在MySQL中创建一个视图,以便数据分析用户能够轻松地过滤大量数据,但是当我创建一个具有任何分组的视图时,整个视图都会被扫描,使得该视图在性能上毫无用处。
一个简单的例子
值表-约35亿行,每月分区
SELECT
Timestamp,
DeviceId,
SUM(Entry)
FROM Value v
WHERE DeviceId = 123456 AND Timestamp >= '2020-08-01'AND Timestamp <= '2020-08-30'
GROUP BY Timesta
我将使用视图优化一个MySQL嵌入式查询,但我不确定它是否会产生效果:
SELECT id FROM (SELECT * FROM t);
我想将它转换为:
CREATE VIEW v AS SELECT * FROM t;
SELECT id FROM v;
我听说过SQL Server中的“索引视图”,但我对MySQL不太确定。任何帮助都将不胜感激。谢谢!