Mysql 基础脑图笔记
Mysql 基础脑图笔记
- MySQL 数据库简介
- Windows下安装MySQL
- 配置初始化文件(win)
- 初始化 MySQL(win)
- Linux 下安装 MySQL
- 步骤
- MySQL 配置文件(linux)
- 与 MySQL 建立连接
- MySQL 创建数据库
- MySQL 操作数据库
- MySQL 的数据类型
- MySQL 设计数据表
- ALTER 命令修改表
- 修改表字段数据类型
- 新增表字段
- 删除表字段
- 修改表字段名称
- 修改表字段默认值
- 删除数据表
- INSERT 插入数据
- 向数据表插入一条数据
- 向数据表插入多条数据
- SQL 简介
- 聚合函数
- GROUP BY HAVING 举例
- 条件判断函数
- CASE条件判断举例
- 系统函数
- MySQL 中使用正则表达式
- MySQL 存储引擎
MySQL 数据库简介
Windows下安装MySQL
配置初始化文件(win)
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=G:\WWW\mysql
# 设置mysql数据库的数据的存放目录
datadir=G:\WWW\mysql\data
# 允许最大连接数
max_connections=200
#允许连接失败的次数。防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
初始化 MySQL(win)
cd /d G:\WWW\mysql\bin #管理员身份运行 cmd ,进入 bin 目录
mysqld --initialize --console #初始化MySQL环境,需耐心等待几分钟
mysqld install #安装 MySQL 服务
net start mysql # 启动命令
net stop mysql # 关闭命令
mysqld remove #卸载 MySQL
Linux 下安装 MySQL
步骤
MySQL 配置文件(linux)
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
#允许连接失败的次数。防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
与 MySQL 建立连接
MySQL 创建数据库
MySQL 操作数据库
MySQL 的数据类型
MySQL 设计数据表
ALTER 命令修改表
修改表字段数据类型
ALTER TABLE `new_student`MODIFY COLUMN `name` char(50)CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '无名' AFTER `id`;
新增表字段
ALTER TABLE `new_student`ADD COLUMN `sex` tinyint(2) UNSIGNED NOT NULL DEFAULT 1 COMMENT '性别 : 1:男 2:女' AFTER `id_number`;
删除表字段
ALTER TABLE `new_student`DROP COLUMN `sex`;
修改表字段名称
ALTER TABLE `new_student`CHANGE COLUMN `name` `new_name` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '无名' AFTER `id`;
修改表字段默认值
ALTER TABLE `new_student`MODIFY COLUMN `new_name` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '小花' AFTER `id`;
删除数据表
DROP TABLE new_student;
需要删除数据表一定要谨慎,删除数据表之前最好做备份
INSERT 插入数据
向数据表插入一条数据
INSERT INTO teacher (name, age, id_number)
VALUES ('秦小贤', 18, '42011720200604088X');
向数据表插入多条数据
INSERT INTO teacher (name, age, id_number)
VALUES ('王小花', 19, '42011720200604077X'),('张晓丽', 18, '42011720200604099X'),('刘美丽', 20, '42011720200604020X'),('吴帅', 21, '42011720200604022X'),('张平', 22, '42011720200604033X')
SQL 简介
聚合函数
GROUP BY HAVING 举例
SELECT a.course_id, c.course_name, AVG(age)
FROM student_course aINNER JOIN student b ON a.student_id = b.idINNER JOIN course c ON a.course_id = c.id
GROUP BY a.course_id, c.course_name
HAVING AVG(age) >= 20;
条件判断函数
CASE条件判断举例
SELECT *, CASE nameWHEN 'Tom' THEN '汤姆'WHEN 'Jack' THEN '杰克'WHEN 'Mary' THEN '玛丽'WHEN 'Timo' THEN '提莫'WHEN 'Bob' THEN '鲍勃'WHEN 'Judy' THEN '朱蒂'ELSE '未定义'END AS "chinese_name"
FROM teacher;
系统函数
函数名 | 说明 |
---|---|
CONCAT(str0,str1) | 将两个字段的值拼接在一起 |
CONCAT_WS(“拼接符”,str0,str1) | 将两个字段的值使用指定拼接符拼接在一起 |
GROUP_CONCAT(expr) | 将指定分组的字段内容拼接在一起 |
UPPER(str) | 将字符串包含的英文字符小写转化成大写 |
lOWER(str) | 将字符串包含的英文字符大写转化成小写 |
INITCAP(str) | 将字符串的首字母变成大写 |
LENGTH(str) | 获取字符串的长度 |
SUBSTR(str FROM pos FOR len) | 截取字符串,其中 pos 表示其实位置,len 表示结束位置 |
TRIM(str) | 去除字符串两边空格 |
INSTR(str,substr) | 查找指定字符在字符串的中的位置,其中 substr 表示需要查找的字符,例如 ‘Tom’ 中 ‘T’ 的位置为 1,‘m’ 的位置为 3 |
LPAD(str,len,padstr) | 左填充,其中 len,表示字符串总长度,padstr 表示填充的字符 |
RPAD(str,len,padstr) | 右填充,其中 len,表示字符串总长度,padstr 表示填充的字符 |
LEFT(str,len) | 取一个字符串的前多少位 |
RIGHT(str,len) | 取一个字串的后多少位 |
CEIL(X) | 向上取整 |
FLOOR(X) | 向下取整 |
MOD(N,M) | 取余,例如 MOD(age,5),将字段 age 除以 5,除不尽的取余数 |
POWER(X,Y) | 幂运算,例如 MOD(age,2),获取字段 age 值的 2 次方的值 |
NOW() | 获取当前日期和时间 |
CURDATE() | 获取当前日期,不包含时间 |
CURTIME() | 获取当前时间,不包含日期 |
YEAR(now()) | 获取当前的年份 |
HOUR(NOW()) | 获取当前时间的小时数 |
MINUTE(now()) | 获取当前时间的分钟数 |
SECOND(NOW()) | 获取当前时间的秒数 |
MONTHNAME(now()) | 获取当前日期的英文月份 |
MONTH(NOW()) | 获取当前日期的数字月份 |
DATE_ADD(date,INTERVAL expr unit) | 查询日期的变化,例如 DATE_ADD(‘2020-03-03’,INTERVAL 10 day) 表示 2020-03-03 十天之后的日期 |
DATEDIFF(expr1,expr2) | 日期差,例如 DATEDIFF(‘2019-12-29’,‘2019-12-01’) 表示 2019-12-29 距离 2019-12-01 的天数 |
DATE_FORMAT(date,format) | 将指定日期转化为自定义格式,例如 DATE_FORMAT(‘2019-12-29’,’%m/%d/%y’) ,其中 %m 表示前面对应的月份,%d 表示前面对应的日期的天数,%y 表示前面对应的年份 |
STR_TO_DATE(str,format) | 将指定日期转化为自定义格式,例如 DATE_FORMAT(‘12-29-2019’,’%m/%d/%y’) |
DATE_FORMAT(date,format) | 将指定日期转化为自定义格式,例如 DATE_FORMAT(‘2019/12/29’,’%m/%d/%y’) |
MD5(str) | 对字符串进行 MD5 转换 |
UNIX_TIMESTAMP() | 将指定日期转化为时间戳 |
COUNT() | 获取查询结果集条数 |
AVG(expr) | 获取指定列平均值 |
SUM(expr) | 获取指定字段值的总和 |
MIN(expr) | 获取指定字段值的最小值 |
MAX(expr) | 获取指定字段值的最大值 |
MySQL 中使用正则表达式
示例
SELECT * FROM student WHERE name REGEXP '^王';
手机号正则
^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$
域名网址正则表达式
^(?=^.{3,255}$)(http(s)?:\/\/)?(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+\.\w+)*$
日期+时间正则表达式
^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\s+(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d$
MySQL 存储引擎
查看所有存储引擎开启状态
SHOW ENGINES;
Mysql 基础脑图笔记相关推荐
- 《谷歌数据分析方法》脑图笔记
目录 壹.脑图笔记 贰.<谷歌数据分析方法>脑图文稿[^1] 一. 反思数据分析 二.选择数据分析工具的最佳策略 第一步:选择数据分析工具前要回答的3个关键问题 第二步:选择数据分析工具前 ...
- 尚硅谷_2019互联网大厂高频重点面试题(第二季)思维导图脑图笔记完整版
尚硅谷_互联网大厂高频重点面试题第2季思维导图笔记下载,git部分未记录(尚硅谷周阳老师的视频脑图) ,内容包括JUC多线程并发.JVM和GC等目前大厂笔试中会考.面试中会问.工作中会用的高频难点知识 ...
- 尚硅谷MySQL基础部分的笔记
今天终于把尚硅谷MySQL基础看完了,这是我敲了一遍的代码笔记https://github.com/nn-mm/practice-demo/blob/main/MySQL.md MySQL 开启服务和 ...
- 吴恩达与 OpenAI 强强联手,《ChatGPT 提示工程》中英教程,来了!(附脑图笔记)
大家好,我是 Kevin. 不知道五一你去哪玩耍还是怎么安排了呢?吴恩达老师在五一前发布了新课程,于是我花了些时间来学习这个重磅大礼.课程虽然只有短短 90 分钟,但是干货十足!比起那些必备提示词什么 ...
- mysql基础命令学习笔记
这里不会涉及一些mysql数据库安装之类的知识,但是会将自己学习以及使用mysql一些最常用的mysql语句总结到本篇文章,作为自己的学习记录和笔记.基本的环境为CentOS 6.5 数据库为mysq ...
- MySQL基础部分学习笔记
怎么理解数据库 本质:就是个放数据的仓库 数据存放 萌芽阶段 放在内存里--瞬时:程序结束,上次的数据就没啦 放在文件里--持久:进步了!能一直保存了(比如放在.txt文件里),但还是存在问题 不安全 ...
- 深入浅出mysql基础篇读书笔记
版本8.0.25 1.p19 int(2)已经不推荐了 2.p28 无序排列改为按原表顺序排列会更好,无序也没错,但是容易被误解为随机排列(类似HashMap),但其实是按照原表顺序排列 3.p29 ...
- 【小学】综合素质脑图笔记
文章目录 目录 1.教育观 2.学生观 3.教师观 4.职业道德 5.教师与学生的权利 6.教育法 7.义务教育法 8.教师法 9.未成年人保护法 10.预防未成年人犯罪法 11.学生伤害事故处理办法 ...
- 阿里巴巴参谋长曾鸣的《智能商业》读书笔记—附思维脑图
经过近20天左右的空闲时间,断断续续读完了阿里巴巴集团总参谋长曾鸣的新书<智能商业>.这本书并不厚,但是自己的业余时间比较少,所以断断续续的,读比较慢,不过也读的比较仔细. 这本书主要是对 ...
最新文章
- Android shape 画的圆角带四个黑变 问题
- Web SCADA 电力接线图工控组态编辑器
- 转 mac svn用法
- 7 虚拟磁盘恢复虚拟机
- 【物联网】 Ubuntu中生成交叉编译器xtensa-lx106-elf
- [C++11]字符串原始字面量
- 冷藏温度范围_食品冷藏冷冻温度要求与管理规范
- linux下spark的python编辑_Linux下搭建Spark 的 Python 编程环境的方法
- Python使用chardet包自动检测编码
- 三维点云学习(3)4-Expectation-Maximization (EM)
- 推荐三个不错的开源项目
- 染色问题 —— 扇形涂色
- 雨后小故事动态邪恶_当您遇到“邪恶”的问题时,使故事变小
- 【YbtOJ 线段树 - 2】公园遛狗
- 计算机联锁系统工程设计论文,计算机联锁控制系统论文
- 2022情人节脱单相亲文档
- python剪切文件
- 全球十大最受欢迎的猫咪品种排行榜公布,布偶猫连续三年排名第一
- 吐血整理,2023年最新【阿里、头条、美团】【软件测试】面试题(持续更新)
- 压死了,压死了。。。