MySQL--基础篇

这里写目录标题

  • 总览
    • MySQl各个阶段
    • 基础篇总览
  • MySQL概述
    • 数据库相关概念
    • 查看本机MySQL版本号
    • 启停mysql
      • 打开windows服务管理
      • windows命令行启停
    • 连接mysql客户端
    • mysql运行逻辑
      • 数据模型
      • 关系型数据库
    • 总结
  • SQL
    • 总览
    • SQL通用语法
    • SQL语句分类
    • DDL
      • 数据库操作
      • 表操作
        • 查询表
        • 创建表结构
        • 数据类型
          • 数值类型
          • 字符串类型
          • 日期类型
          • 案例
        • 对表:修改&删除
          • 表修改
          • 表删除

总览

MySQl各个阶段

在这里插入图片描述

基础篇总览

在这里插入图片描述

MySQL概述

数据库相关概念

在这里插入图片描述
数据库是数据的仓库,存储数据
数据库管理系统,是一个大型软件,他操作着数据库,是人与数据库沟通的桥梁
SQL,是数据库编程语言,通过他可以通过数据库管理系统操作数据库

查看本机MySQL版本号

win + r
cmd
mysql --version
(侧面可以查看本机是否安装了mysql)

启停mysql

打开windows服务管理

在这里插入图片描述
在这里插入图片描述

windows命令行启停

在这里插入图片描述
在这里插入图片描述
注意,本机MySQL注册服务就叫MySQL(通过services.msc就可以看到)

连接mysql客户端

在这里插入图片描述
在这里插入图片描述
配置好环境变量之后,cmd以管理员身份运行,输入
mysql -u -root -p
(-h -p选项可以不写,默认是127.0.0.1 3306,即本机IP的3306端口)
之后输入密码
即可进入到mysql客户端,通过这个窗口输入sql语句,就可以操作mysql数据库了

mysql运行逻辑

数据模型

在这里插入图片描述
客户端就是我们的sql语句输入窗口,
而当我们安装了mysql之后,我们的计算机就变成了mysql数据库服务器
mysql整个服务自带dbms(即数据库管理系统),他可以翻译sql语句,去操作数据库中的数据

在一个数据库服务器中,可以创建多个数据库,而一个数据库又可以创建多个表

关系型数据库

在这里插入图片描述
即多张二维表,且,二维表之间有关系

总结

在这里插入图片描述

SQL

总览

在这里插入图片描述

SQL通用语法

在这里插入图片描述
可以多行可以单行
SQL语句可以使用空格/缩进来增强语句可读性
不区分大小写
注释:–单行注释
/* */ 多行注释

SQL语句分类

在这里插入图片描述
DDL针对数据库,用来制作数据库、删除数据库,制作表的字段
DML针对数据库表中的数据,用来操作数据库表中的数据,进行增删改
DQL针对数据库表中的数据,查询数据库中表的数据
DCL针对数据库的控制,创建数据库用户、控制数据库访问权限

DDL

数据库操作

在这里插入图片描述
几个注意点:
查询:
1、查询所有数据库时,要加database要加s
创建:
2、创建数据库时,database不用加s 且有几个可选项,第一个可选项是if not exists 加上之后的意思是:如果这个数据库名不存在,我再创建这个数据库,如果名称被占用,那么不会再创建,如下是加选项的语句:
在这里插入图片描述
3、使用字符集时,如果想要使用utf8,那么可以使用utf8mb4,因为默认的utf8是3字节,utf8mb4是四字节(同时这也是默认的字符集),存储的数据范围要更大一些
在这里插入图片描述
删除:
4、关于删除,可以加上选项if exists 表示如果存在再进行删除
使用:
5、使用数据库,我们有许多的数据库,我们要进入一个数据库里,进行相关数据的操作,进入数据库就使用use语句
6、当我们进入了数据库,执行了许多sql语句,我们突然忘了当前在哪个数据库了,想要查询当前在哪个数据库,就可以使用查询数据库:select database();,如下图:
在这里插入图片描述

切换数据库:
7、同时如果现在在一个数据库内,可以直接使用use切换到其他数据库

表操作

查询表

在这里插入图片描述
进入数据库之后
使用show tables; 即可查看当前所在数据库所有的表

当我们有一个表之后,可以使用desc来查询表结构
但是使用该语句获得的信息较少,可以使用show create table 表名 查询到具体的建表语句,可以查看相关注释等等,如下图:

上图中标出来的地方 可以忽略 这是默认配置

创建表结构

在这里插入图片描述
其中的字段1、2、3… 都是表头名称 ,后面跟上表头所引领数据的类型

中括号里都是可选内容,即加上comment 后面可以写注释
每个字段语句之间用逗号隔开,最后一个无需加逗号

如下图创建了表的表结构
在这里插入图片描述
需要注意的是:
1、注释要用单引号引起来
2、在sql语句中字符串用varchar表示,之后加括号,括号里是字符串的长度,varchar(50)是表示五十位的字符串,一位代表一个汉字(注意这里的位不是大小,一个汉字的大小是两个字节)

创建完表之后,可以使用上面的show tables查看所有的表
然后可以使用desc 表名,查看一个表的表结构
在这里插入图片描述

数据类型
数值类型

在这里插入图片描述
上图是数值类型的各个类型,其中有许多小整数类型。可以对于一些范围不大的业务,可以适当选取小整数,节省空间

如下案例:
在这里插入图片描述
对于年龄age:一个人的年龄绝对在(0,255)范围内,所以可以使用tinyint类型,同时在后面标注无符号类型unsigned(不加unsigned默认有符号位)
对于分数score:一般是0到100,小数一位,那么double(参数一,参数二) ,参数一:算上小数位最多有几位数字,参数二:小数位占其中的几位

字符串类型

在这里插入图片描述
一般只有char 和 varchar 常用
第一个char 是定长字符串 他的空间一旦被规定就不再改变,因此性能较高
varchar 是变长字符串 他的空间只是规定上限,他会根据具体的内容进行空间匹配,是变长的,因此性能较低

而对于char 和varchar 都有一个参数 表示该字符串的长度
对于用户名,使用varchar合适
对于性别,使用char(1)合适

日期类型

在这里插入图片描述
其中标出来的三个较为常用

DATE YYYY-MM-DD 表示年月日,表示一个日期
TIME HH:MM:SS 时间值或计时 小时:分钟:秒
DATETIME YYYY-MM-DD HH:MM:SS 年月日时分秒

案例

在这里插入图片描述
在这里插入图片描述
注意 字节中的位数不区分汉字还是数字或者字母,只看字符数

对表:修改&删除
表修改

添加字段:
在这里插入图片描述
修改一个字段的数据类型:
以及修改字段名和字段的数据类型:
在这里插入图片描述
修改一个表的表名:
在这里插入图片描述

表删除

表的字段的删除:
在这里插入图片描述

删除一张表:
以及 删除表后重新创建该表:
在这里插入图片描述
对于删除表后重新创建表的功能:删除表后,表中的数据会被清空,然后重新创建表的话,数据不再了,但是表的结构还在的,相当于数据重置了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/298986.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Web开发】会话管理与无 Cookie 环境下的实现策略

🍎个人博客:个人主页 🏆个人专栏: Web开发 ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 问题: 思路: 方法: 结语 我的其他博客 前言 在当今Web应用程序中,会话…

C语言-第十八周做题总结-数组3

id:454 A.字符串逆序 题目描述 输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。 输入 输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。 输出 在一行中输出逆序后的字符串。 输入样例 输出样例 题解 先用一个while…

gRCP - 面向未来的第二代 RPC 技术,解析 HTTP2.0 和 Protobuf

目录 一、gRCP - 面向未来的第二代 RPC 技术 1.1、gRPC 简介 1.1.1、gRPC 是个啥? 1.1.2、gRPC 核心设计思路 1.1.3、gRPC 和 ThriftRPC 区别 1.1.4、为什么使用 gRPC?(好处) 1.2、HTTP2.0 协议 1.2.1、回顾 HTTP1.0 和 H…

C# Entity Framework 中不同的数据的加载方式

延迟加载 延迟加载是指在访问导航属性时,Entity Framework 会自动查询数据库并加载相关数据。这种方式在我们需要访问导航属性时比较方便,因为我们无需手动加载相关数据,而且只会在需要时才会进行查询,从而减少了不必要的开销。但…

基于商品列表的拖拽排序后端实现

目录 一:实现思路 二:实现步骤 二:实现代码 三:注意点 一:实现思路 后台实现拖拽排序通常需要与前端进行配合,对商品的列表拖拽排序,前端需要告诉后端拖拽的元素和拖动的位置。 这里我们假…

【远程计算机,这可能是由于 Credssp 加客数据库修正】解决方案

1、winR打开运行窗口 输入gpedit.msc命令,若找不到,可以进行如下文件编辑格式为cmd echo offpushd "%~dp0"dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txtdir /b C:\Win…

Linux stm32串口下载程序

一、工具 使用stm32flash进行串口下载 二、stm32flash安装 sudo apt-get install stm32flash 三、查看串口设备名称 先拔掉串口运行下面指令,获得所有设备名称,插上串口再运行一次,新增的就是串口设备名称,记住串口设备名称,以…

Linux目录结构及路径描述方式

1.Linux目录结构 Linux与Windows不同,Linux没有盘符这个概念, 只有一个根目录 /, 所有文件都在它下面 2.Linux路径的描述方式 在Linux系统中,路径之间的层级关系,使用:/ 来表示 在Windows系统中,路径之间的层级关系…

echarts图表会残留上一条数据的折线 setOption参数的第二个坑

记一下小坑 因为我的echarts图表的 series 是循环渲染上去的 所以他可能会有一条 或多条 我展示完多条的图表后 关闭 打开单条数据的图表 发现 他会残留上一个图表的数据 显示多条 之前我还以为是后端返回错了 但是log打印和查看请求数据 确实发现是我这边的问题 原因&#…

第二百四十三回 再分享一个Json工具

文章目录 1. 概念介绍2. 分析与比较2.1 分析问题2.2 比较差异 3. 使用方法4. 内容总结 我们在上一章回中介绍了"分享三个使用TextField的细节"相关的内容,本章回中将再 分享一个Json插件.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我…

系列二、GitHub中的Alpha、Beta、RC、GA、Release等各个版本

一、GitHub中的Alpha、Beta、RC、GA 1.1、概述 1.2、参考 https://www.cnblogs.com/huzhengyu/p/13905129.html

软件测试/测试开发丨Pytest结合数据驱动

安装yaml pip install pyyaml pytest结合数据驱动yaml 工程目录结构 数据准备 读取excel文件 openpyxl库的安装 openpyxl库的操作 pytest结合csv实现数据驱动 csv文件介绍 pytest结合json实现数据驱动 最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的&…

第15课 利用openCV实现人脸识别

这节课,我们再来看一个简单且实用的例子:人脸识别。这个小例子可以让你进一步领略openCV的强悍。 1.复制demo14并改名为demo15。 2.修改capImg函数: int fmle::capImg() {// 加载人脸检测分类器cv::CascadeClassifier faceCascade;faceCas…

RT_Thread 调试笔记:时间相关,时钟管理函数,延时,定时器、 毫秒转换为时分秒 等

说明:记录日常使用 RT_Thread 开发时做的笔记。 持续更新中,欢迎收藏。 1. 延时函数 1. us延时函数 rt_hw_us_delay(rt_uint32_t us);//输如数据是us rt_hw_us_delay(200);//输入数据是us 2. ms延时函数 rt_thread_mdelay(1000);//输入数据是ms 2…

Java:IO流详解

文章目录 基础流1、IO概述1.1 什么是IO1.2 IO的分类1.3 顶级父类们 2、字节流2.1 一切皆为字节2.2 字节输出流 OutputStream2.3 FileOutputStream类2.3.1 构造方法2.3.2 写出字节数据2.3.3 数据追加续写2.3.4 写出换行 2.4 字节输入流 InputStream2.5 FileInputStream类2.5.1 构…

特征工程筛选重要变量

特征筛选主要分为3个方法:过滤法、嵌入法(经典的一些树模型比如xgboost)、包裹法(经典的RFECV,RFE递归特征消除法) 过滤法更快速,但更粗糙。 包装法和嵌入法更精确,比较适合具体到算…

自动驾驶:低阶可部署的单目测距算法-基于YOLO与透视变换

一、开发环境 部署平台:英伟达的Jetson Nano 环境:Linux ROS 语言:C 设备:1920*1080像素的摄像头、开发板。 模型:yolo-v8s 二、单目测距实现思路 0、标定相机和车辆(假设已经标定完成) 1、通…

Linux习题6

解析:排序必须得是rwx,所以B不对 解析: /etc/resolv.conf:是DNS配置文件。在网卡配置文件中进行配置,默认情况下,网卡配置文件DNS优于/etc/resolv.conf。 /etc/hostname:在centos7,配置主机名…

【ZooKeeper高手实战】ZAB协议:ZooKeeper分布式一致性的基石

🌈🌈🌈🌈🌈🌈🌈🌈 欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术 的推送 发送 资料 可领取 深入理…

小白入门基础 - Restful

一:REST与RESTful: REST:表现层状态转移,资源在网络中以某种形式进行状态转移。 RESTful是基于REST理念的一套开发风格,是具体的开发规则。 服务器端只返回数据,以json或者xml的格式。 RESTful开发规范&a…