DataBase【MySQL基础夯实使用说明(中)】

MySQL数据库

🏆当领导问你忙不忙,您怎么回复?
🔔要让领导知道你很忙,但是你的事情紧急,我可以优先处理!


文章目录


前言

在信息技术飞速发展的当下,数据的价值日益凸显,如同深埋地下的宝藏,等待着被挖掘和利用。而数据库管理系统,就像是开启这座宝藏的钥匙,其中 MySQL 更是这把钥匙中的佼佼者。它凭借自身独特的优势,在开源数据库领域中占据着举足轻重的地位,广泛应用于从个人网站到大型企业级应用的各个角落。本文将深入剖析 MySQL,从它的诞生背景、核心特性,到存储引擎的奥秘,以及丰富多样的应用场景,带你全方位认识这款备受瞩目的数据库管理系统,探寻它在数据管理世界中长盛不衰的秘诀。


提示:以下是本篇文章正文内容,下面案例仅供学习参考:

一、SQL(Structured Query Language)

SQL(Structured Query Language)是用于访问和处理数据库的标准语言,MySQL 使用 SQL 来管理和操作数据库!

1.1.DCL语句

数据控制语言(DCL,Data Control Language):用于控制数据库的访问权限和事务处理。GRANT语句用于授予用户权限,如GRANT SELECT, INSERT ON mydb. TO 'user'@'localhost';可授予user用户在本地对mydb数据库的查询和插入权限;REVOKE语句用于收回用户权限,如REVOKE INSERT ON mydb.* FROM 'user'@'localhost';可收回该用户的插入权限;COMMIT语句用于提交事务,ROLLBACK语句用于回滚事务,保证数据的一致性和完整性。*


1.1.1.管理用户

1.1.1.1.查询用户
sql 复制代码
USE mysql;
SELECT * FROM user;

1.1.1.2.创建用户
sql 复制代码
CREATE USER '用户名'@'主机名'IDENTIFIED BY '密码';

1.1.1.3.修改用户密码
sql 复制代码
ALTER USER '用户名'@'主机名'IDENTIFIED WITH mysql_native_password BY '新密码';

1.1.1.4.删除用户
sql 复制代码
DROP USER'用户名'@'主机名;

⚠️

  • 主机名可以用%符号进行通配。
  • 此类语句在实际中使用较少,主要是DBA(DataBase Administrator 数据库管理员)使用。

1.1.2.权限控制

在MySQL中定义了很多种权限,常用的如下:

权限 说明
ALL, ALL PRIVILEGES 所有数据
SELECT 查询数据
INSERT 添加数据
UPDATE 修改数据
DELETE 删除数据
ALTER 修改表
DROP 删除表/数据/视图
CREATE 创建数据库/表

1.1.2.1.查询权限
sql 复制代码
SHOW GRANTS FOR '用户名'@'主机名';

1.1.2.2.授予权限
sql 复制代码
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';

1.1.2.3.撤销权限
sql 复制代码
REVOKE 权限列表 ON 数据库名.表名 FROM'用户名'@'主机名';

二、函数

函数是指一段可以直接被另一段程序调用的程序或代码!

2.1.字符串函数

函数 功能
CONCAT(S1,S2,...Sn) 字符串拼接,将S1,S2,...Sn拼接成一个字符串
LOWER(str) 将字符串str全部转为小写
UPPER(str) 将字符串str全部转为大写
LPAD(str,n,pad) 左填充,用字符串pad对str的左边进行填充,达到n个字符串长度
RPAD(str,n,pad) 右填充,用字符串pad对str的右边进行填充,达到n个字符串长度
TRIM(str) 去掉字符串头部和尾部的空格
SUBSTRING(str,start,len) 返回从字符串str从start位置起的len个长度的字符串

语法:

sql 复制代码
SELECT 函数(参数)

2.2.数值函数

函数 功能
CEIL(x) 向上取整
FLOOR(x) 向下取整
MOD(x,y) 返回x/y的模
RAND() 返回0~1内的随机数
ROUND(x,y) 求参数x的四舍五入的值,保留y位小数

2.3.日期函数

函数 功能
CURDATE() 返回当前日期
CURTIME() 返回当前时间
NOW() 返回当前日期和时间
YEAR(date) 获取指定date的年份
MONTH(date) 获取指定date的月份
DAY(date) 获取指定date的日期
DATE ADD(date,INTERVAL expr type) 返回一个日期/时间值加上一个时间间隔expr后的时间值
DATEDIFF(date1,date2) 返回起始时间date1 和 结束时间date2之间的天数

2.4.流程函数

实现在SQL语句中进行条件筛选!

函数 功能
IF(value ,t, f) 如果value为true,则返回t,否则返回f
IFNULL(value1 ,value2) 如果value1不为空,返回value1,否则返回value2
CASE WHEN [val1 ]THEN [res1] ... ELSE [default] END 如果val1为true,返回res1,.否则返回default默认值
CASE [expr ] WHEN [val1 ] THEN [res1] ... ELSE [ default] END 如果expr的值等于val1,返回res1,...否则返回default默认值

彩蛋

👑领导,有什么工作,如果急的话,我优先处理!

相关推荐
w23617346011 小时前
深入解析布尔注入:原理、实战与防御
数据库·网络安全·sql注入·布尔注入·数据库注入
Elastic 中国社区官方博客4 小时前
如何在不同版本的 Elasticsearch 之间以及集群之间迁移数据
大数据·数据库·elasticsearch·搜索引擎·全文检索·logstash
qq_366086225 小时前
union all几个常见问题及其解决方案
数据库
搞不懂语言的程序员7 小时前
备忘录模式深度解析与实战案例
数据库·python·备忘录模式
手揽回忆怎么睡9 小时前
mongodb学习
数据库·学习·mongodb
LL1681999 小时前
SSM考研助手管理系统
java·服务器·开发语言·数据库·学习
luoluoal11 小时前
Java项目之基于ssm的QQ村旅游网站的设计(源码+文档)
java·mysql·mybatis·ssm·源码
luoluoal11 小时前
Java项目之基于ssm的学校小卖部收银系统(源码+文档)
java·mysql·毕业设计·ssm·源码
veminhe12 小时前
Node.js 数据库 CRUD 项目示例
数据库·node.js
HX科技12 小时前
树莓派_利用Ubuntu搭建gitlab
数据库·ubuntu·gitlab