找到 4379 篇文章 关于 MySQL

解决 ERROR 1111 (HY000): 在 MySQL 中无效使用分组函数?如何在 where 子句中正确使用聚合函数?

karthikeya Boyini
更新于 2019-07-30 22:30:25

2K+ 次浏览

要在 MySQL 的 where 子句中正确使用聚合函数,语法如下: select * from yourTableName where yourColumnName > (select AVG(yourColumnName) from yourTableName);为了理解以上概念,让我们创建一个表。创建表的查询如下: mysql> create table EmployeeInformation -> ( -> EmployeeId int, -> EmployeeName varchar(20), -> EmployeeSalary int, -> EmployeeDateOfBirth datetime -> ); 现在您可以使用 insert 命令在表中插入一些记录。查询如下: mysql> insert into EmployeeInformation values(101, 'John', 5510, '1995-01-21'); ... 阅读更多

如何在 MySQL 中选择表中除最后一行以外的所有行?

Samual Sam
更新于 2019-07-30 22:30:25

2K+ 次浏览

您需要将 != 运算符与子查询一起使用。语法如下: select * from yourTableName where yourIdColumnName != (select max(yourIdColumnName) from yourTableName );为了理解上述语法,让我们创建一个表。创建表的查询如下: mysql> create table AllRecordsExceptLastOne -> ( -> Id int NOT NULL AUTO_INCREMENT, -> UserName varchar(10), -> UserAge int -> , -> PRIMARY KEY(Id) -> ); 现在您可以使用 insert 命令在表中插入一些记录。查询如下: mysql> ... 阅读更多

检查 MySQL 中读写比率的命令?

karthikeya Boyini
更新于 2019-07-30 22:30:25

627 次浏览

要检查读写比率,您需要使用 SHOW STATUS 命令。这将给出所有比率。案例 1 - 获取读写比率的语法如下: SHOW STATUS LIKE ‘Com_%’;案例 2 - 如果您想要插入、更新、选择和删除比率,请使用以下语法: SHOW GLOBAL STATUS WHERE Variable_name = 'Com_insert' OR Variable_name = 'Com_select' OR Variable_name = 'Com_Update' OR Variable_name = 'Com_delete';这里不需要对上述语法进行任何更改。查询如下: mysql> SHOW GLOBAL STATUS WHERE Variable_name = 'Com_insert' OR Variable_name = 'Com_select' OR -> ... 阅读更多

如何在 MySQL 查询中选择时间戳的一部分?

Samual Sam
更新于 2019-07-30 22:30:25

138 次浏览

要在查询中选择时间戳的一部分,您需要使用 YEAR() 函数。MySQL 中的语法如下。 select YEAR(yourTimestampColumnName) as anyAliasName from yourTableName;为了理解上述语法,让我们创建一个表。创建表的查询如下: mysql> create table SelectPartOfTimestampDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> ShippingTime TIMESTAMP -> ); 现在您可以使用 insert 命令在表中插入一些记录。查询如下: mysql> ... 阅读更多

使用 MySQL 中的会话变量仅对字符的第一次出现执行搜索/替换

karthikeya Boyini
更新于 2019-07-30 22:30:25

185 次浏览

要仅对第一次出现执行搜索/替换,请使用 CONCAT 和 REPLACE() 函数。设置用户定义会话变量的查询如下: mysql> set @Sentence='Thks ks is a my string'; 在这里,k 将只被替换为 i 一次。查询如下。我们还使用了 INSTR(): mysql> select @Sentence as NewString ,CONCAT(REPLACE(LEFT(@Sentence, INSTR(@Sentence, 'k')), 'k', 'i'), -> SUBSTRING(@Sentence, INSTR(@Sentence, 'k') + 1)) as ChangeOnlyOneTime;以下是仅替换字符第一次出现的输出: +------------------------+------------------------+ | NewString ... 阅读更多

MySQL 数据库中所有行的精确计数?

Samual Sam
更新于 2019-07-30 22:30:25

351 次浏览

要精确计算所有行,您需要使用聚合函数 COUNT(*)。语法如下: select count(*) as anyAliasName from yourTableName;为了理解上述语法,让我们创建一个表。创建表的查询如下: mysql> create table CountAllRowsDemo -> ( -> Id int, -> Name varchar(10), -> Age int -> ); 现在您可以使用 insert 命令在表中插入一些记录。查询如下: mysql> insert into CountAllRowsDemo values(1, 'John', 23); ... 阅读更多

MySQL 中用于插入的 ROW_NUMBER() 等效项?

karthikeya Boyini
更新于 2019-07-30 22:30:25

647 次浏览

MySQL 中没有用于插入的 ROW_NUMBER() 的等效项,但您可以借助变量实现此目的。语法如下: SELECT (@yourVariableName:=@yourVariableName + 1) AS `anyAliasName`, yourColumnName1, yourColumnName2, ...N FROM yourTableName ,(SELECT @yourVariableName:=0) AS anyAliasName;为了理解上述语法,让我们创建一个表。创建表的查询如下: mysql> create table RowNumberDemo -> ( -> UserId int, -> UserName varchar(20) -> ); 使用 insert 命令在表中插入一些记录。 ... 阅读更多

将列值设置为 MySQL 查询结果中的列名?

Samual Sam
更新于 2019-07-30 22:30:25

4K+ 次浏览

要将列值设置为查询结果中的列名,您需要使用 CASE 语句。语法如下: select yourIdColumnName, max(case when (yourColumnName1='yourValue1') then yourColumnName2 else NULL end) as 'yourValue1', max(case when (yourColumnName1='yourValue2') then yourColumnName2 else NULL end) as 'yourValue2', max(case when yourColumnName1='yourValue3') then yourColumnName2 else NULL end) as 'yourValue3’, . . N from valueAsColumn group by yourIdColumnName order by yourIdColumnName;为了理解上述语法,让我们创建一个表。创建表的查询如下: mysql> create table valueAsColumn -> ( -> UserId int, -> UserColumn1 varchar(10), -> ... 阅读更多

合并 MySQL 选择语句?

karthikeya Boyini
更新于 2019-07-30 22:30:25

152 次浏览

要合并选择语句,您需要使用 GROUP BY 子句。为了理解这个概念,让我们创建一个表。创建表的查询如下: mysql> create table MergingSelectDemo -> ( -> RoomServicesId int, -> RoomId int, -> ServiceId int -> ); 现在您可以使用 insert 命令在表中插入一些记录。查询如下: mysql> insert into MergingSelectDemo values(10, 10, 10); mysql> insert into MergingSelectDemo values(20, 10, 20); ... 阅读更多

即使授予权限后,MySQL 新用户的访问也仍然被拒绝?

Samual Sam
更新于 2019-07-30 22:30:25

342 次浏览

创建用户并授予用户所有权限后,您需要 FLUSH PRIVILEGES 以设置并希望新的设置正常工作。语法如下: FLUSH PRIVILEGES;以下是在我的情况下创建名为“Bob”的新用户的查询。创建新用户的查询如下: mysql> CREATE USER 'Bob'@'%' IDENTIFIED BY '123456'; 现在将所有权限授予用户 Bob: mysql> GRANT ALL PRIVILEGES ON *.* TO 'Bob'@'%' WITH GRANT OPTION; 现在刷新权限。 ... 阅读更多

广告