MySQL:基本操作与常用函数


基本操作

这里的基本操作为添加、修改、删除数据表中的记录。

INSERT语句

-- 通用INSERT:
INSERT INTO 表名 (字段1, 字段2, ...)
VALUES (值1, 值2, ...), (值1, 值2, ...) ;

-- MySQL方言版INSERT:
INSERT [INTO] 表名 SET 字段1=值1, 字段2=值2, ... ;

--使用IGNORE关键字可以忽略冲突记录(使用REPLACE IGNORE INTO则会覆盖冲突记录)
INSERT [IGONRE] INTO 表名 ...;
  • 插入时建议带上字段名,不然MySQL还需要额外查询表结构

  • VALUES中的值可以使用子查询的结果


UPDATE语句

UPDATE [IGNORE] 表名
SET 字段1=值1, 字段2=值2, ...
[WHERE ...]
[ORDER BY ...]
[LIMIT ...];
  • 由于UPDATE语句先查询出记录再修改,ORDER BY 子句可以对查询到的数据先排序再修改,避免有些字段修改后与还未修改的记录产生冲突。

  • LIMIT 子句可以只筛选出首页的前几条数据,这里的LIMIT子句中只能有一个参数。

使用表连接修改多张表的记录:

# 内连接:
UPDATE 表1 
JOIN 表2 [ON 条件]
SET 字段1=值1, 字段2=值2, ...;

# 外连接
UPDATE 表1 [LEFT/RIGHT] JOIN 表2
SET 字段1=值1, 字段2=值2, ...;

DELETE语句

DELETE [IGNORE] FROM 表名
[WHERE ...]
[ORDER BY ...]
[LIMIT ...];

使用表连接删除多张表的记录:

# 内连接
DELETE 表1, 表2 FROM 表1 JOIN 表2 ON 条件
[WHERE ...]
[ORDER BY ...]
[LIMIT ...];

# 外连接
DELETE 表1, 表2 FROM 表1 [LEFT/RIGHT] JOIN 表2 ON 条件...;

快速删除全部记录:

# 绕过事务机制删除,速度远超DELETE语句

TRUNCATE TABLE 表名;

常用内建函数

文本处理函数:

函 数 说 明
Left() 返回串左边的字符
Length() 返回串的长度
Locate() 找出串的一个子串
Lower() 将串转换为小写
LTrim() 去掉串左边的空格
Right() 返回串右边的字符
RTrim() 去掉串右边的空格
Soundex() 返回串的SOUNDEX
SubString() 返回子串的字符
Upper() 将串转换为大写

日期处理:

函 数 说 明
AddDate() 增加一个日期(天、周等)
AddTime() 增加一个时间(时、分等)
CurDate() 返回当前日期
CurTime() 返回当前时间
Date() 返回日期时间的日期部分
DateDiff() 计算两个日期之差
Date_Add() 高度灵活的日期运算函数
Date_Format() 返回一个格式化的日期或时间串
Day() 返回一个日期的天数部分
DayOfWeek() 对于一个日期,返回对应的星期几
Hour() 返回一个时间的小时部分
Minute() 返回一个时间的分钟部分
Month() 返回一个日期的月份部分
Now() 返回当前日期和时间
Second() 返回一个时间的秒部分
Time() 返回一个日期时间的时间部分
Year() 返回一个日期的年份部分

数值处理:

函 数 说 明
Abs() 返回一个数的绝对值
Cos() 返回一个角度的余弦
Exp() 返回一个数的指数值
Mod() 返回除操作的余数
Pi() 返回圆周率
Rand() 返回一个随机数
Sin() 返回一个角度的正弦
Sqrt() 返回一个数的平方根
Tan() 返回一个角度的正切
原文地址:https://www.cnblogs.com/bqzzz/p/14420276.html