MySQL表数据操作

MySQL数据操作: DML

在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括

  1. 使用INSERT实现数据的插入
  2. UPDATE实现数据的更新
  3. 使用DELETE实现数据的删除
  4. 使用SELECT查询数据以及。

插入数据insert

1. 插入完整数据(顺序插入)
    语法一:
    INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n);

    语法二:
    INSERT INTO 表名 VALUES (值1,值2,值3…值n);

2. 指定字段插入数据
    语法:
    INSERT INTO 表名(字段1,字段2,字段3…) VALUES (值1,值2,值3…);

3. 插入多条记录
    语法:
    INSERT INTO 表名 VALUES
        (值1,值2,值3…值n),
        (值1,值2,值3…值n),
        (值1,值2,值3…值n);
        
4. 插入查询结果
    语法:
    INSERT INTO 表名(字段1,字段2,字段3…字段n) 
                    SELECT (字段1,字段2,字段3…字段n) FROM 表2
                    WHERE …;

更新数据update

语法:
    UPDATE 表名 SET
        字段1=值1,
        字段2=值2,
        WHERE CONDITION;

示例:
    UPDATE mysql.user SET password=password(‘123’) 
        where user=’root’ and host=’localhost’;

删除数据delete

语法:
    DELETE FROM 表名 
        WHERE CONITION;

示例:
    DELETE FROM mysql.user 
        WHERE password=’’;

练习:
    更新MySQL root用户密码为mysql123
    删除除从本地登录的root用户以外的所有用户

查询数据 search

单表查询

单表查询(https://www.cnblogs.com/he734613955/articles/14021179.html)

联表查询

多表查询(https://www.cnblogs.com/he734613955/articles/14021778.html)

MySQL中的常见函数

函数可以帮助用户便捷的完成很多事情,因此,MySQL中有很多内置的函数:字符串函数、日期函数、数值函数等

字符串函数

字符串函数是最常用的一种函数,以下列出常用的字符串函数,以供参考;

函数 功能
CONCAT(s1,s2...sn) 字符串 s1,s2 等多个字符串合并为一个字符串
INSERT(s1,x,len,s2) 字符串 s2 替换 s1 的 x 位置开始长度为 len 的字符串
LOWER(s) 将字符串 s 的所有字母变成小写字母
UPPER(s) 将字符串转换为大写
LEFT(s,n) 返回字符串 s 的前 n 个字符(最左边的n个字符)
RIGHT(s,n) 返回字符串 s 的后 n 个字符(最右边的n个字符)
LPAD(s1,len,s2) 在字符串 s1 的开始处填充字符串 s2,使字符串长度达到 len
RPAD(s1,len,s2) 在字符串 s1 的结尾处添加字符串 s2,使字符串的长度达到 len
LTRIM(s) 去掉字符串 s 开始处的空格
RTRIM(s) 去掉字符串 s 结尾处的空格
TRIM(s) 去掉字符串 s 开始和结尾处的空格
REPEAT(s,n) 将字符串 s 重复 n 次
REPLACE(s,s1,s2) 将字符串 s2 替代字符串 s 中的字符串 s1
REVERSE(s) 将字符串s的顺序反过来
STRCMP(s1,s2) 比较字符串 s1 和 s2,如果 s1 与 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1<s2 返回 -1
SUBSTRING(s, start, length) 从字符串 s 的 start 位置截取长度为 length 的子字符串

 

数值函数

MySQL中常见的数值函数
序号 函数 功能
1 ABS(x) 返回 x 的绝对值
MOD(x,y) 返回 x 除以 y 以后的余数
SQRT(x) 返回x的平方根
POW(x,y) 返回 x 的 y 次方 
EXP(x) 返回 e 的 x 次方  
LOG(x) 返回自然对数(以 e 为底的对数) 
2 MAX(expression) 返回字段 expression 中的最大值
MIN(expression) 返回字段 expression 中的最小值
SUM(expression) 返回指定字段的总和
COUNT(expression) 返回查询的记录总数,expression 参数是一个字段或者 * 号
AVG(expression) 返回一个表达式的平均值,expression 是一个字段
3 CEIL(x) 返回大于或等于 x 的最小整数 
FLOOR(x) 返回小于或等于 x 的最大整数
ROUND(x) 返回离 x 最近的整数
TRUNCATE(x,y) 返回数值 x 保留到小数点后 y 位的值(与 ROUND 最大的区别是不会进行四舍五入)
4 RAND() 返回 0 到 1 的随机数 

 

日期与时间函数

MySQL中常见的日期和时间函数
函数 功能
CURDATE() 返回当前日期
CURTIME() 返回当前时间
NOW() 返回当前日期和时间
UNIX_TIMESTAMP(date) 返回日期date的unix时间戳
FROM_UNIXTIME 返回unix时间戳的日期值
YEAR(date) 返回年份
MONTH(date) 返回日期date中的月份值,1 到 12
MONTHNAME(date) 返回日期当中的月份名称,如 Janyary
WEEK(date) 计算日期 date 是本年的第几个星期,范围是 0 到 53
HOUR(time) 返回 time中的小时值
MINUTE(time) 返回 time 中的分钟值
SECOND(time) 返回 time 中的秒钟值
DATE_FORMAT(date,fmt) 按表达式 fmt的要求显示日期 date
DATE_ADD(date,INTERVAL  expr  type) 计算起始日期 date 加上一个时间段后的日期
DATEDIFF(date1,date2) 计算日期 date1->date2 之间相隔的天数

流程函数

流程函数是很常用的一类函数,用户可以使用这类函数在一个SQL语句中实现条件选择,可提高语句的效率。

MySQL中的流程函数
函数 功能
IF(value,t,f) 如果value是真,返回t;否则返回f
IFNULL(value1,value2) 如果value1不为空,返回value1;否则返回value2
CASE WHEN[value1]THEN[result]…ELSE[default]END 如果value1是真,返回result1;否则返回default
CASE[expr]WHEN[value1]THEN[result]…ELSE[default]END 如果expr等于value1,返回result1;否则返回default

其他常用函数

MySQL中的其他常用函数
函数 功能
DATABASE() 返回当前数据库名
VERSION() 返回数据库的版本号
USER() 返回当前用户
INET_ATON(IP) 返回ip地址的数字表达式
INET_NTOA(num) 返回数字代表的ip地址
PASSWORD(str) 返回字符串str的加密版本
MD5 返回字符串的MD5值
posted @ 2020-11-13 19:57  he。  阅读(89)  评论(0编辑  收藏  举报