MySQL数据库基础
又名:学了就忘只能再看从头重学😣
01 phpstudy中MySQL的简单使用
在学用MySQL的时候发现自己和学习资料用的不是同一个集成环境,所以打开方式不一样,这种小问题还是难不倒我哒😎
首先开启MySQL服务 好了接下来就不会了
再去小皮官网看看
有一个模块是phpMyAdmin的使用。按照官方教程下载好打开我才发现这是在网页上操作,不是命令行。没关系,下载都下载了,学习一下。
001 图形化界面操作
在软件管理找到phpMyAdmin,点击下载。下载完之后点管理就会自动在浏览器打开,输入用户名和密码就可以使用啦。

用户名和密码没改过的话就都是root
在phpMyAdmin也可以用SQL查询语句嗷
输入SELECT id FROM test ;

使用其他界面操作内容时也可以预览SQL语句

总之就是很简单易上手辣😇
连我都可以无师自通
002 cmd操作
MySQL在phpstudy_pro文件下的Extensions文件夹里
进入bin目录后在此处打开cmd
输入mysql -u[用户名] -p[密码] -h [数据库服务器地址]进入

用户名和密码没改过的话就都是root,打开本地数据库可以不加服务器地址
进入mysql之后就可以快乐使用了
02 关于MySQL
001 MySQL常见符号
->

表示当前命令没有命令执行符或者等待命令执行符;或\g,也可以输入\c取消命令直接输入;回车即可执行命令。
‘>或”>

表示当前命令缺少'或"
002 MySQL编码规范
关键字与函数名称全部大写;(不大写也可以执行命令)
数据库名称、表名、字段名称全部小写;
必须以分号结尾
003 结构化查询语言
主要分为四类
DDL-数据库定义语言(CREATE DROP ALTER)
DML-数据库操作语言(INSERT DELETE UPDATE)
DQL-数据库查询语言(SELECT WHERE)
DCL-数据库控制语言
说了这么多也没什么用🤪
03 SQL语法
对库的操作
查找库
1 | |
创建库
1 | |
不知道即将创建的库是否存在时,可使用以下命令:如果库不存在就创建,存在则退出命令
CREATE DATABASE IF NOT EXISTS [database_name];
但不建议让MySQL来做判断
删除库
1 | |
数据库不能修改名字
对表的操作
查找表
1 | |

创建表
1 | |
name为创建的表格名,可自行更改
空格里填表格表头及数据信息
eg:
1 | |
创建新表后,可以使用
desc table_name查询表格信息

数据类型
| 数据类型 | 说明 |
|---|---|
| Int | 整数类型 |
| char(n) | 字符/字符串,固定长度 |
| varchar(n) | 字符/字符串,可变长度,最大长度为n |
| numeric(a,b) | 精确数值,总位数为a,精确到小数点后第b位 |
| date | 时间,存储年月日的值 |
字段约束
| 约束类型 | 说明 |
|---|---|
| UNSIGNED | 只能用于数值整型,设置无符号。最大值不能超过255 |
| ZEROFILL | 只能用于数值整形,自动用0补全不足位数。eg:001 |
| AUTO_INCREMENT | 设置字段的自动增量属性,只能用于设置数值类型。 |
| NULL/NOT NULL | 默认为NULL,即没有在此字段插入值。如果设置NOT NULL,则必须在此字段插入相应的值。 |
| DEFAULT | 通过此属性设置默认值 |
| PRIMARY KEY | 主键约束,主键自动为NOT NULL。 |
AUTO_INCREMENT必须和PRIMARY KEY一起用。自动增量必须为主键,但主键不一定要自动增量。
备份表
1 | |
修改表
1 | |
对字段的操作
添加字段
1 | |
位置参数可空默认加在表的最后,也可使用FIRST或AFTER[字段名]

修改字段
1 | |
MODIFY关键字只能改数据类型和完整性约束
删除字段
1 | |
对内容的操作
添加内容
1 | |
第二种方法必须严格按照表中顺序一一填写,自增字段可用null占位但不能为空
我的电脑输入字段名不能加引号不然会报错就离谱

查询内容
- 选择某一行或某一列
1 | |
- 选择整个表格
1 | |

删除字段
1 | |
删除可使用where条件。条件可空,为空时全部值被影响。
修改内容
1 | |
修改条件可空,全部值被影响。
查询语句
distinct
去除重复值
1 | |
where
where语句用于在表中选择指定符合条件的数据
1 | |
运算符
| 运算符 | 说明 |
|---|---|
| + | 加 |
| - | 减 |
| * | 乘 |
| /或DIV | 除 |
| %或MOD | 取余 |
比较运算符
| 运算符 | 说明 |
|---|---|
| = | 等于 |
| <>或!= | 不等于 |
| > | 大于 |
| < | 小于 |
| >= | 大于等于 |
| <= | 小于等于 |
| = | 等于 |
| between | 在某个范围内 |
| like | 模糊匹配 |
可以使用and或or连接多个条件
like符号举例
1 | |

between用法
between运算符包括起始值和结束值
用于选取两个数值范围之内的值,可以是字符串,数字或者日期
eg:
1 | |
逻辑运算符
| 符号 | 说明 |
|---|---|
| NOT或! | 逻辑非 |
| AND | 逻辑与 |
| OR | 逻辑或 |
| XOR | 逻辑异或 |
位运算符
| 符号 | 说明 |
|---|---|
| & | 按位与 |
| | | 按位或 |
| ^ | 按位异或 |
| ! | 取反 |
| << | 左移 |
| >> | 右移 |
in
in实际上是多个or的合并
1 | |
eg:
1 | |
subquery
subquery为子查询,用于嵌套在where子句中的查询
1 | |
子查询为一个完整的select语句
as
用as为查找对象起别名,但我没尝试成功🥲
1 | |

函数
count函数
count函数统计符合条件的记录数
统计表中的记录总数
1 | |
统计表中指定字段不为NULL的数据
1 | |
统计表中指定字段为NULL的数据
1 | |
max函数
max函数返回所选字段最大值
1 | |
min函数
min函数返回所选字段最小值
1 | |
avg函数
avg函数返回所选字段的平均值
1 | |
sum函数
sum函数返回所选按字段的合计值
1 | |
其他一些条件
having过滤分组
1 | |
group by分组
1 | |
排序
可分为正序asc和倒序desc两种方法
1 | |
限制查询数量
1 | |
多表联合
1 | |
jion连接
jion连接是基于多个表之间的共同字段把他们结合起来进行查询的一种方法
1 | |
内连接
列出两个表中都存在的数据jion

左连接
即使没有匹配也要列出左表的数据left jion

右连接
即使没有匹配也要列出右表的数据right jion

总结
SQL语句格式
1 | |
终于把这SQL语句搞完了
撒花🎉