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默认值 |
彩蛋
👑领导,有什么工作,如果急的话,我优先处理!