我过去经常跑步:
sometable有许多字段,这导致许多列试图显示在终端中。字段环绕到下一行,因此很难将列标题与字段值对齐
在终端中查看此类数据有哪些解决方案?
我没有也不想访问phpMyAdmin或任何其他GUI界面。我正在寻找这样的命令行解决方案:用\G代替终止查询。例如:
SELECT * FROM sometable\G
此查询垂直显示行,如下所示:
*************************** 1. row ***************************
我一生都在使用unix时间戳
我喜欢它,因为它很容易比较,它很快,因为我把它存储为一个整数。因为我使用的是PHP,所以我可以从unixtimestamp使用date()函数获取任何日期/时间格式
现在,有些人说最好使用DATETIME格式。但除了更合适的名字,我看不出有什么好处
使用DATETIME是否确实更好?如果是,其优点是什么
谢谢。使用的一个优点是能够更简单地使用
DATE类型的另一个优点是,它只存储日、月和年,因此不会浪费空间,也不会出现比大纪元时间后几秒钟内只关心日而不关心时间的情况
我有一个mysql查询,如下所示:
SELECT A.ID, A.NAME, B.ID, B.NAME
FROM table1 A
JOIN table2 B ON ( A.ID = B.TABLE1_ID )
WHERE
cond1, cond2, ..., condN
LIMIT 10
我在查询中有许多where子句。
如何改进此查询以获得完整的行数?
我不想无限制地再使用一个请求。在执行该查询时,可以使用来计算结果数。基本上,您只需在“SELECT”之后添加“SQL\u CALC
我曾经成功地将数据库查询的(经过大量处理的)结果存储在memcached中,并将基础表的上次更新时间作为缓存键的一部分。对于MyISAM表格,上次更改的时间可在显示表格状态中找到。不幸的是,InnoDB表通常为空
在MySQL 4.1中,InnoDB在其SHOW TABLE STATUS行中的ctime通常是其实际的上次更新时间,但在MySQL 5.1中似乎并非如此
表中有一个DATETIME字段,但它只显示行被修改的时间-它不能显示不再存在的行的删除时间!所以,我真的不能使用MAX(更新时间)
标签: Mysql
foreign-keysforeign-key-relationship
我已经设置了一个表,其中包含一个带有外键的列,在DELETE CASCADE上设置为(删除父项时删除子项)
要在删除限制时将其更改为,SQL命令是什么?(如果有子项,则不能删除父项)旧问题,但添加答案以便获得帮助
其两步流程:
假设一个table1有一个列名为fk\u table2\u id的外键,约束名为fk\u name,table2是用键t2引用的表(如下图所示)
第一步,删除旧约束:()
注意约束已删除,列未删除
第二步,添加新约束:
ALTER TABLE `table1`
ADD
如何在mysql中设置没有自动递增键的字段自动递增,或者如何在mysql中设置起始值为6000的字段自动递增
。。。如何在mysql中设置起始值为6000的字段自动递增
如果您的表已存在:
ALTER TABLE your_table AUTO_INCREMENT = 6000;
如果您是从头开始创建表:
CREATE TABLE your_table () AUTO_INCREMENT = 6000;
资料来源和进一步阅读:
测试用例:
CREATE TABLE users (
我正在尝试获取查询类型的结果
SELECT * FROM table WHERE id IN(2,4,6,1,1,2) ORDER BY field (id,2,4,6,1,1,2)
我希望得到与列表相同的结果,包括:重复项。上面的查询保留顺序,但删除重复项。我知道我可以对结果进行后期处理,但只是想知道是否有更简单的方法
谢谢您如何构建查询?如果您不反对做一些手工工作(稍后可以用一些代码进行包装),工会应该满足您的需要:
select id from table where id in (1,
比如说我有卖各种产品的供应商。因此,在基本层面上,我将有以下表格:供应商,产品,供应商产品
如果vendor-1将Widget 1添加到product表中,我只希望vendor-1看到该信息(因为该信息由vendor-1“拥有”)。供应商2也是如此。假设vendor-2添加了小部件2,则只有vendor-2可以看到该信息
如果供应商1试图添加供应商2已经输入的小部件2,则不应在产品表中重复输入小部件2。这意味着,不知何故,我需要知道供应商2现在也“拥有”widget2
一条信息有多个“所有者”的
我有,从表中选择DISTINCT(第一)、second、third
我不仅希望第一个是独特的,第二个是独特的,但第三个保持没有独特的,我试着这样做
SELECT DISTINCT (first,second),third FROM table
还有一些东西没用。你看过这篇文章吗
他们看起来很相似,也许你可以试试这样的
希望这有帮助
SELECT m.first, m.second, m.third -- and possibly other columns
FROM (
我有一个包含很多表的MySQL数据库,我有两个表,它们以多对多的关系相互链接,使用第三个表。下面是它的简化演示:
表1:书籍
第1行:ID:15标题:虚拟测试手册1
第2行:ID:18标题:虚拟测试手册4
第3行:ID:22标题:虚拟测试手册6
第4行:ID:10标题:虚拟测试手册8
第5行:ID:16标题:虚拟测试手册15
。。。
表2:作者
第1行:ID:4姓名:Dave
第2行:ID:8姓名:Robert
第3行:ID:12姓名:艾米
表3:书籍和作者
第1行:作者编号:4图书编号
我在MySQL中有一个很大的表(在MAMP中运行),它有2800万行,大小为3.1GB。这是它的结构
CREATE TABLE `termusage` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`termid` bigint(20) DEFAULT NULL,
`date` datetime DEFAULT NULL,
`dest` varchar(255) DEFAULT NULL,
`cost_type` tinyint
根据定义:
VARCHAR:长度范围为1到255个字符。除非给出BINARY关键字,否则VARCHAR值将以不区分大小写的方式进行排序和比较。x+1字节
TINYBLOB,TINYTEXT:最大长度为255(2^8-1)个字符x+1个字节的BLOB或文本列
基于此,我得出下表:
CREATE TABLE `user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255),
`lastname` tin
我找不到任何描述的数据库连接池效果的文档
Unicorn分叉几个工作进程。我配置了prefork,不在worker之间共享数据库连接很重要,所以我在fork之后重置了db连接
我的rails应用程序每台服务器有8个worker,database.yml中的池大小是5,然后我看到了45个到mysql的连接
每个工作线程都是单线程的,一次处理一个请求。SQL查询应该是阻塞的。看来其他4个连接都没用了?我可以将池大小设置为1以获得更好的性能吗?由于每个工作进程一次只能服务一个请求,因此每个工作进程一次
有人能解释一下为什么我不能在我的AS变量中使用WHERE子句(不知道它们到底叫什么)
如果我在同一个地方做了类似于a.n=gameone的事情
我能不能在像fra一样创建的AVG(b.r)的var上使用WHERE子句
如果我能,我怎么能
SELECT
a.id, a.n, a.t, a.d,
AVG(b.r) AS fra, COUNT(b.id) as tvotes
FROM `games` a
LEFT JOIN `games_ratings` b
ON a.id = b.id
WH
我正在使用drupal安装,它使用mysql创建一个新用户,必须将他的电子邮件放入要创建的位置(mysql中的类型是varchar(64)),然后转到实际的网页,该网页使用postgresql,用户必须将其电子邮件另存一次。实际上,新的用户表是在postgres中创建的,只要他放入电子邮件(主键)
我想要的是一个函数,或者是一个在mysql中创建新用户后,它会自动连接到postgres并将电子邮件保存在那里的函数。可能吗?如何做到这一点?您可能需要考虑一个“外部数据包装器”(FDW)。
标签: Mysql
mysql-workbench
在MySQL Workbench 5.2.37中尝试编辑表数据时,它处于只读模式
仅当表具有主键时,才可编辑
处理没有主键的表有什么修正吗
谢谢
作为建议之一,我尝试升级WB 5.2.40。但这个问题仍然存在。。
请任何人帮忙。根据,对于某些人来说,该问题已在Workbench 5.2.38中解决,对于其他人来说,可能是在Workbench 5.2.39中解决。您可以升级到最新版本(5.2.40)吗
或者,也可以通过以下方式解决:
SELECT *,'' FROM my_table
我假设这个
可能重复:
我想要一个函数,它可以将结果集当前行中的字段返回到关联数组中,并将结果指针移动到下一行
混淆
mysql_fetch_row()
mysql_fetch_assoc()
mysql_fetch_array()
我应该用哪一个?任何帮助都将不胜感激。
多谢各位
注意:使用mysql.*函数被认为是不推荐的,您应该改用提供更好安全性和更多功能的函数,例如或
这是怎么一回事?
您正在查找,顾名思义,它将返回一个关联数组(列名作为键,值作为行值)
不同的函数将返回什么?
所有提到的函数
有没有办法确定mysql索引是否完全适合可用内存?如果是,我将如何:
确定mysql索引的大小
确定应用程序的可用内存
确定索引是否完全适合内存
要查找MySQL可用的内存,请查看my.cnf,可能位于:/etc/MySQL/my.cnf
key_buffer_size = 264M
要查找表的索引大小:从[DBNAME]显示表状态取决于存储引擎
MyISAM(缓存.MYI文件中的索引页)
从键缓冲区大小中减去该值。如果答案>0,则为“是”
InnoDB(缓存数据和索引页)
从innodb\
我想在mysql中将时区从默认时区(“洛杉矶”)设置为我自己的时区(“亚洲/雅加特”)。我一直在使用query->更改时区
SET GLOBAL TIME_ZONE = 'ASIA/JAKARTA'
如果我使用上面的查询,时区将更改。但是如果我重新启动mysql,时区就会回到默认时区(洛杉矶)
如何将时区永久更改为亚洲/雅加达?在mysql服务器配置中添加以下内容(例如my.cnf)
请检查/etc/mysql/my.cnf中的
[mysqld_safe]
socket=/var/run/my
我有三张桌子A、B和C
表中有列辅助,Aname
B表有Bid、Aid、Aname、Cid、Cname
C表有Cid、Cname
C表是静态表,有6条记录(将来可能会增加)
要求是,当数据插入表A时,应使用Aid更新表B,并且所有CID的每一行的最大投标值均为+1
对于表中插入的每个记录,B表中应该插入6条记录(因为C表中有6条记录)
在MySQL中使用触发器可以实现这一点吗?是的,使用触发器可以实现这一点
CREATE TRIGGER b_update_trigger BEFORE INSER
我有两个表:A和B通过“组id”链接
我使用的两个变量:$关键字,$\u会话['user\u id']
A
组id
关键词
B
id
组id
用户id
我希望能够根据关键字搜索选择此用户不在的所有组
因此,我们的目标是选择用户id所在位置的所有行={$\u SESSION['user\u id'}对应于B中的组\u id,类似于关键字
这就是我所尝试的:
SELECT a.*
FROM a
LEFT JOIN b ON a.group_id=b.group_id
WHERE a.keywo
如果最初发送的值为零,我需要将2160000分配给fromDate
我现在拥有的代码是
CREATE PROCEDURE reportFreeCooling(
IN fromDate VARCHAR (50),
IN toDate VARCHAR (50),
IN timeZone VARCHAR (50)
)
BEGIN
DECLARE startDate VARCHAR (50);
DECLARE endDate VARCHAR (50);
DECLARE s
如何获得“尼克”的号码
我在数据库里有十个随机玩家。
我想显示所有玩家的号码。我想我知道你想要什么,但是你的帖子不太清楚
假设$player是唯一的,则在添加条件后,将只返回一行。如果要从该表中的所有行返回一个数字,则需要取消条件并使用COUNT()
例如:
PHP
只是一些建议-您应该避免使用mysql api,而是使用mysqli或PDO 你需要让你的帖子更清楚…你是想计算玩家总数,还是想得到他们的唯一数字(比如ID)?玩家总数酷,请看我的答案:)
<?php
$result
如果有两个表:
TABLE "deposit"
card | amount
------------
2 | 123.43
2 | 56.45
3 | 21.19
+
我要找的是卡号的剩余存款。
卡2示例:123.43+56.45-10.59-10.59(仅状态=完成)
或:金额(卡id为2的存款)-金额(卡id为2且状态为完成的付款)
我尝试了以下mysql选择:
SELECT(
IFNULL(SUM(deposit.amount),0) - IFNULL(SUM(paymen
我有一个MySQL数据库,它的表使用innodb引擎有200万行。我想添加另一列,但不断出现以下错误:
Error 1062: Duplicate entry '' for key 'PRIMARY' SQL Statement: ALTER TABLE `mydb`.`table` ADD COLUMN `country` VARCHAR(35) NULL DEFAULT NULL AFTER `email`
如何添加列而不出现此错误
编辑:表格定义
id int(11) NOT NUL
我有一个名为startdate的列,它是datetime类型。我必须获取当前月份的开始日期和结束日期之间的所有行,即从2014年11月1日到2014年11月30日 要获取日期之间的数据:
select * from your_table
where year(curdate()) = year(startdate)
and month(curdate()) = month(startdate)
SELECT * FROM table1 WHERE dateColumn BETWEEN STR_
我正在尝试实现一个个性化的新闻聚合器。我必须在数据库中保存用户的首选新闻源。我是否应该将用户喜欢的所有新闻源存储为JSON字符串,然后在检索后对其进行解码
feed|用户
或者每个新闻来源都有单独的专栏(新闻来源的数量大约为200个)
听起来像是一种多对多的情况。使用person表、newsfeed表和person\u newsfeed表的解决方案可能是合适的。网上有很多关于这方面的文章,任何一本好的数据库理论书(或类似于《甲骨文:完整参考》)都应该详细介绍这一点
这篇文章是一个很好(但很短)的
我正在尝试转换此表:
Date | Col1 | Col2 | Col3 | Col4 | Col5 | Col6 | Col7 | Col8
2015年2月15日|产品1 | MTD | 1 | 2 | 3 | 4 | 5 | 6
2015年2月15日|产品1 | QTD | 11 | 22 | 33 | 44 | 55 | 66
2015年2月15日|产品1 |年初至今| 111 | 222 | 333 | 444 | 555 | 666
为此:
Date | Col1 | Type |
我需要返回一个匹配多对多关系上所有WHERE语句的结果。解释:
我有一个这样的桌子结构
CREATE TABLE `product` (
`product_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`product_id`));
CREATE TABLE `product_has_tag` (
`product_id` INT UNSIGNED NOT NULL,
`tag_id` INT UNSIGNED N
我不熟悉sql Pivot。我有一个名为“设备”的表格,内容如下
+------------------------------+------------------
| device_id | serial_number | imei |
+------------------------------+------------------
| A1yLCM4xe9cn | PIE7JHgo8rLwG | 767523638130820 |
| A1yLCM4xe9c
学生存储学生姓名列表,朋友存储学生之间的关系
Create table Student (
id int NOT NULL AUTO_INCREMENT,
name varchar(35),
PRIMARY KEY (id)
);
insert into Student (name) values ('John');
insert into Student (name) values ('Kelly');
insert into Student (name) values ('Mary');
请礼貌一点,我第一次尝试MySQL和我的第一个SQL问题
我正在尝试将一些行从一个表复制到另一个表。旧表如下所示:
我的新表(已经存在)也有meta_键“_wpsc_sku”,并且在meta_值中也有相同的sku值
我想将旧表(wpsc_smaak、wpsc_kg-of-st、wpsc_inhoud)的底部3行复制到新表中,其中两个表中的元键都是具有相同值的wpsc_sku。我有多篇文章/产品要复制
到目前为止,我得到了这个(不工作),只是尝试复制1个字段:
INSERT INTO `test_
我有一个查询,用于获取各种输入以计算资产排名。为了获得基于用户输入计算资产等级的各种值,我对单个表使用了多个子查询。但这花费了太多的时间。有人能帮我临时提出这个问题吗
SELECT AssetId,
AssetName,
Isin,
(SELECT DClose
FROM eod_data
WHERE Isin=a.Isin
AND DDate >= now()-interval 12 MONTH
ORDER BY DDate
我有一个列likes,其中我将ID存储在逗号分隔的字符串中:76,88
我想从另一个id为78,88的表中选择行
我尝试使用MYSQLIN()函数,但它只获得第一个id78
那么如何在同一个查询字符串中解决它呢
SELECT u.user_id,
u.username,
u.firstname,
u.lastname,u.status
FROM users u WHERE u.user_id IN(
SE
我有如下两张表:
表介质:
+---------------------------------------------------------+
| media_id | media_name | media_category | media_status |
+---------------------------------------------------------+
| 1 | item1 | 2 | true
我的问题是:想象一个有数百万行的表,比如
CREATE TABLE a {
id INT PRIMARY KEY,
column2..,
column3..,
many other columns..
..
INDEX (column2);
还有这样一个查询:
SELECT id FROM a WHERE column2 > 10000 LIMIT 1000 OFFSET 5000;
我的问题是:mysql是否只使用索引“column2”(因此主键id隐式存储为其他索引中的引用),还是
我能写utf8mb4字符(例如Grrr…另一种第三方软件妨碍的情况)。
两张表:
CREATE TABLE `htmlcode_1` (
`global_id` int(11) NOT NULL,
`site_id` int(11) NOT NULL,
PRIMARY KEY (`global_id`),
KEY `k_site` (`site_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `htmlcode_2` (
`global_id` int(11) NOT NULL,
我正在尝试为我的Spring MVC演示应用程序使用GCP flexible environment。我在GCP上创建了一个MySQL数据库,我的应用程序通过pom.xml连接到它,如下所述。但是我找不到关于如何在这个MySQL数据库中使用Spring配置XML文件的信息我应该同时使用pom.xml和spring_config.xml数据源bean来连接它,还是只使用pom.xml?顺便说一句,我使用的是ComboPooledDataSource:
<bean id="myDataSour
我下载了适用于Windows 10或XMAPP的MAMP,安装了比数据表中所列版本更旧的MYSQL。我需要5.6分,我一直得到5.5分。怎么了?对于windows,请下载xampp或wamp而不是mamp,因为mamp用于mac;
您可以从以下链接下载带有php5.6的xampp:
默认情况下,MAMP有6.5.34版本的MySQL(如指定),XAMMP甚至没有MySQL,但是MariaDB有10.1.32版本(如所述),那么您是如何获得5.*版本的呢 尝试此链接:我仍然会遇到相同的错误。当我去
两张表:
a
id
b
id
a_id
url
表b中的URL具有如下模式:
.../en-us/...
.../en-gb/...
.../de-at/...
.../de-de/...
.../ja-jp/...
查询:
SELECT b.url
FROM a
JOIN b ON b.a_id = a.id
如果en-us不存在,我如何进一步缩小这些结果的范围,首先选择url,如%/en-us/%,然后选择%/en-%/%?换句话说,如果我有两个URL,一个用于en-u
表foo_bar
id | name | parent(foreign key)
------------------
1 | foo | null
2 | bar | 1
3 | sql | 1
如果外键列已知,如何选择行?
例如,我想选择父名称为“foo”的所有行,它应该输出bar和sql行您需要一个自联接:
select f1.*
from foo_bar f1 inner join foo_bar f2
on f1.parent = f2.id
where f2.name
假设我们有以下查询
SELECT b.user_name, c.user_name, msg
FROM user_messages a
JOIN users b ON b.user_id = a.user_from
JOIN users c ON c.user_id = a.user_to
WHERE a.user_from = 'ds4EpcrmUt'
OR a.user_to = 'ds4EpcrmUt'
当从NodeJS查询时,我将只收到一个用户名,因为两个返回值具有相同的名称
我通过docker与Symfony和MariaDB建立了一个开发环境
我在那里拍摄了bitman/symfony图像:
https://hub.docker.com/r/bitnami/symfony
这是我的docker compose.yaml
version: '2'
services:
myapp:
image: 'bitnami/symfony:1'
ports:
- '8000:8000'
volumes:
- '.:/app
我正在使用laravel 5.8,我有四个表:
客户:id |名称|代码
任务:id |名称
客户任务:id |客户id |任务id
月份:id |客户id |任务id |执行日期
其中,客户机和任务是多对多关系,客户机任务是数据透视表
我的想法是,我想像这样用html创建一个表
-------------------------------------------
|#|client name|task 1|task 2|task 3|task 4|
---------------------
我正在展示一套我已经掌握的语言,但有一件事我真的不应该问;SQL是不是一种文字编程语言?很多人都说这绝对是一种语言,其他人则完全不同意。SQL被认为是一种计算机语言。前三项基本上是:
机器代码
汇编代码
常用的通用语言,如C、C++、java、python等。
因此,基于计算机科学中常用的定义,它是一种编程语言。SQL是整个语言类的一个主要例子(也许是该类中使用最广泛的)
一个相关的问题是SQL是否——也就是说SQL是否可以模拟图灵机。我应该强调这确实是一个理论问题:没有一个有限机器是真正的图灵
标签: Mysql
summysql-workbench
我很难对两个不同表中不同列名的值求和
这是我的桌上理财师,有(姓名,赌注)
这是我的表格推广人,它有一列(姓名、赞助商和金钱)
我试过这个密码
SELECT SUM(bets + sponsor_money) AS allmoney from financer,promoter;
结果是205而不是125选择SUM(f.Bets+p.sandor\u money)作为allmoney,
来自出资人f,发起人p
--------------------------
|Name | sp
我有一个如上所述的数据框架,当更多数据可用时,预测会在特定日期持续出现
我想分别获得每个对象和组的需求和供应在特定日期的最新预测值
Forecast date date Value Object Demand or supply
01-01-2016 00:30 12-10-2019 00:00 85 Ice-cream Demand
04-07-2018 02:59 26-12-2019 00:00 83
我希望有人能帮我完成这个查询,我需要一个对最后一个日期的id进行分组的查询,但我希望有三列,其中有最后三个移动
因此,我尝试按id分组,并使用MAX(date)和LAG来获取最后三个移动,但我从(按id划分顺序按id…)中得到了一个错误
如果删除这两个滞后函数,则查询将运行。我不知道我是否错过了什么。我正在使用MySQL Workbench 8.0 C.E
SELECT
id,
MAX(t1.date),
LAG(Move, 2, NULL) OVER (PARTITIO
我正在node服务器上使用mysql2包。
我有一个迭代的值数组。在循环中,我构建了我的查询。我希望最终结果看起来像:
INSERT INTO table (url, caption, username, type, timestamp)
VALUES ("https://www.url.com/123", "my caption1", "user1", "image", "12423423"
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 6822 页