找到 4379 篇文章 适用于 MySQL
7K+ 浏览量
要循环遍历表的所有行,请在 MySQL 中使用存储过程。语法如下:delimiter // CREATE PROCEDURE yourProcedureName() BEGIN DECLARE anyVariableName1 INT DEFAULT 0; DECLARE anyVariableName2 INT DEFAULT 0; SELECT COUNT(*) FROM yourTableName1 INTO anyVariableName1; SET anyVariableName2 =0; WHILE anyVariableName2 < anyVariableName1 DO INSERT INTO yourTableName2(yourColumnName, ...N) SELECT (yourColumnName1, ...N) FROM yourTableName1 LIMIT anyVariableName2, 1; SET anyVariableName2 = anyVariableName2+1; END WHILE; End; //为了理解上述语法,让我们创建两个表,即一个表有记录,第二个表将使用存储过程从循环中获取记录。以下查询... 阅读更多
2K+ 浏览量
now() 函数返回一个常量时间,该时间表示任何语句开始执行的时间。sysdate() 函数从 MySQL 5.0.13 开始返回执行语句的确切日期时间。假设您正在使用 now() 在触发器或存储过程中更新 datetime,则 now() 方法返回触发器和存储过程开始执行的时间。以下是使用 now() 更新的演示。让我们首先创建一个表。创建表的查询如下:mysql> create table NowDemo -> ( -> DueDateTime datetime -> ); 查询 OK,0 ... 阅读更多
8K+ 浏览量
使用 CASE WHEN/ THEN/ ELSE 进行批量更新的语法如下:UPDATE yourTableName set yourColumnName=case when yourColumnName=Value1 then anyUpdatedValue1 when yourColumnName=Value2 then anyUpdatedValue2 when yourColumnName=Value3 then anyUpdatedValue3 when yourColumnName=Value4 then anyUpdatedValue4 else yourColumnName end;为了理解上述语法,让我们首先创建一个表。创建表的查询如下:mysql> create table CaseUpdateDemo -> ( -> Id int, -> Name varchar(100) -> ); 查询 OK,0 行受影响 (0.78 秒)使用 insert 命令在表中插入一些记录。查询如下:mysql> insert into CaseUpdateDemo values(1, 'John'); 查询 OK,1 行受影响 ... 阅读更多
3K+ 浏览量
每当您的列具有自动递增的主键时,您就不需要在 INSERT 命令中为该列提供值,这是一个优势。这意味着 MySQL 将为该列提供值。为了理解上述概念,让我们首先创建一个表。创建表的查询如下:mysql> create table AutoIncrementedPrimary -> ( -> Id int auto_increment, -> Name varchar(100), -> Age int, -> Primary key(Id) -> ); 查询 OK,0 行受影响 (0.56 秒)现在为 Name 和 Age 列插入记录 ... 阅读更多
164 浏览量
MySQL CASE 的工作原理类似于 switch 语句。CASE 的语法如下:情况 1 - 比较语句情况当 anyCompareStatement 则 value1 当 anyCompareStatement 则 value2 . . N 否则 anyValue 结束作为 anyVariableName;情况 2 - 条件当您只选择一列时,可以使用第二个语法。语法如下:case yourColumnName 当 condition1 则 result1 当 condition1 则 result2 . . N 否则 anyValue 结束;为了理解上述概念,让我们使用 select 语句。情况 1查询如下:mysql> select -> case when 45 < 55 then '55 大于 ... 阅读更多
172 浏览量
您可以使用 MySQL 中的 date-format() 函数获取每个对应月份的第一天。语法如下:select DATE_FORMAT(yourDatetimeColumnName ,'%Y-%m-01') as anyVariableName from yourTableName;为了理解上述语法,让我们首先创建一个表。创建表的查询如下:mysql> create table getFirstDayOfMonth -> ( -> DueDatetime datetime -> ); 查询 OK,0 行受影响 (1.16 秒)使用 insert 命令在表中插入一些记录。查询如下:mysql> insert into getFirstDayOfMonth values(date_add(now(), interval 3 month)); 查询 OK,1 行受影响 ... 阅读更多
3K+ 浏览量
要进行 base64 编码,您可以使用两种功能:TO_BASE64()FROM_BASE64()base64 编码的语法如下:SELECT TO_BASE64(anyValue) as AnyVariableName;base64 解码的语法如下:SELECT FROM_BASE64(encodeValue) as anyVariableName为了理解上述概念,让我们使用上述语法:情况 1 - 编码要编码值,请使用 to_base64()。查询如下:mysql> select TO_BASE64('Password') as Base64EncodeValue;输出+-------------------+ | Base64EncodeValue | +-------------------+ | UGFzc3dvcmQ= | +-------------------+ 1 行在集合中 (0.00 秒)情况 2 - 解码要解码值,请使用 from_base64()。查询如下:mysql> select FROM_BASE64('UGFzc3dvcmQ=') as Base64DecodeValue;输出+-------------------+ | Base64DecodeValue | +-------------------+ | ... 阅读更多
3K+ 浏览量
您可以使用内置函数 from_unixtime() 将 INT 转换为 DATETIME。语法如下:SELECT FROM_UNIXTIME(yourColumnName, ’%Y-%m-%d') as AnyVariableName from yourTableName;为了理解上述语法,让我们首先创建一个表。创建表的查询如下:mysql> create table IntToDateDemo -> ( -> Number int -> ); 查询 OK,0 行受影响 (0.59 秒)使用 insert 命令在表中插入一些记录。插入记录的查询如下:mysql> truncate table IntToDateDemo; 查询 OK,0 行受影响 (4.11 秒) mysql> insert ... 阅读更多
3K+ 浏览量
在 BIGINT(8) 中,数字 8 表示数据将如何显示。它不影响存储。该数字用于显示宽度。BIGINT 占用 8 个字节,即 64 位。带符号范围为 -9223372036854775808 到 9223372036854775807,无符号范围取正值。无符号范围为 0 到 18446744073709551615。为了理解 bigint(8),让我们创建一个带有 BIGINT(8) 和 zerofill 列的表:mysql> create table BigIntDemo8 -> ( -> Number1 BIGINT(8) not null, -> Number2 BIGINT(8) unsigned zerofill not null -> ); 查询 OK,0 行 ... 阅读更多
3K+ 浏览量
要获取给定字符串中最后一个子字符串的索引,请使用 char_length() 函数。首先,我们需要计算字符串长度,并从整个长度中减去最后一个子字符串长度。长度的差异是子字符串的索引。语法语法如下:select CHAR_LENGTH(yourColumnName) - LOCATE('yourDelimiter ', REVERSE(yourColumnName))+1 as anyVariableName from yourTableName;为了理解上述语法,让我们首先创建一个表。创建表的查询如下:mysql> create table SubStringIndexDemo -> ( -> Words varchar(200) -> ); 查询 OK,0 行受影响 (0.57 秒)在表中插入一些记录 ... 阅读更多