找到 4379 篇文章 关于 MySQL
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'); ... 阅读更多
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> ... 阅读更多
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 -> ... 阅读更多
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> ... 阅读更多
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 ... 阅读更多
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); ... 阅读更多
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 命令在表中插入一些记录。 ... 阅读更多
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), -> ... 阅读更多
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); ... 阅读更多
342 次浏览
创建用户并授予用户所有权限后,您需要 FLUSH PRIVILEGES 以设置并希望新的设置正常工作。语法如下: FLUSH PRIVILEGES;以下是在我的情况下创建名为“Bob”的新用户的查询。创建新用户的查询如下: mysql> CREATE USER 'Bob'@'%' IDENTIFIED BY '123456'; 现在将所有权限授予用户 Bob: mysql> GRANT ALL PRIVILEGES ON *.* TO 'Bob'@'%' WITH GRANT OPTION; 现在刷新权限。 ... 阅读更多