MySQL总结(一)

news/2024/11/30 20:49:29/

MySQL

文章目录

  • MySQL
    • MySQL的安装
    • MySQL组成架构
      • 连接池
      • 软件层
      • 引擎层
      • 储存层
    • 库的操作
      • 创建库
      • 修改数据库
      • 删除数据库
      • 备份数据库
      • 还原数据库
      • 查看链接情况
    • 表操作
      • 创建表
      • 查看表结构
      • 修改表结构
        • 添加字段
        • 修改字段类型长度
        • 更改表名
        • 修改属性
        • 删除表
      • 数据类型
      • 表的约束
        • 空属性(not null)
        • 默认值
        • 列描述
        • zerofill
        • 主键
        • image-20230418204637770
        • 复合主键
        • 唯一键
        • 外键
      • 表的增删改查
        • 数据的插入

MySQL的安装

按照mysql最简单的方法使用宝塔面板进行安装(需要直接安装宝塔面板,非常方便)

image-20230416085421427

选择mysql版本进行安装

IMG_1045AF0237A2-1

这样设置mysql密码,

IMG_65918F05D133-1

使用XShell进行连接,root可以更改用户名称,使用不同的用户进行登陆。

MySQL组成架构

mysql本质就是一个数据管理的软件

分成四成,对应数据进行控制。

c463af8e092da063e8aff443b58aa061

连接池

客户端与用户端连接,直接需要安全验证等内容,防止被攻击,出现危险情况,防止数据pass掉。

软件层

对应搜索引擎语句进行控制,进行输入MySQL语句的修改(进行修饰)。

其他的图在上面有解释

引擎层

根据使用频率等相关的操作,设置不同的储存引擎

create table student(
id int(10)
)engine = Merge;

比如这里把引擎设置成为Merge,可以使用其他的搜索引擎搜索。

储存层

将数据储存到硬盘之中的数据,进行相应的处理。

库的操作

创建库

create database if no exists databases_name charset=utf8 collate=utf8_general_ci;

后面的charset与collate为设置字符集与校验集,一般系统默认生产(决定性元素 :浅黄色文字:数据库本身的字符集,到OS本身的字符集 )。设置仅仅在需要更换操作系统的时候。

修改数据库

这一件事情最主要的时间就是alter(修改的意思),专门对应数据库内容的修改(不是 表的内容修改,是数据库的属性修改)。

alter database database_name/*数据库名称*/ charset= gbk;

这里将字符集将更改为gbk。数据库其他的属性也可以进行设置。

删除数据库

drop database if exists databases_name;

直接删除所有的数据的东西,包括对应的联机删除,里面的数据全部都被删除

备份数据库

mysqldump -P3306/*端口,可以自己进行设置*/ -uroot -p  password/*需要自己进行属性*/ -B database_name/*数据库名称*/ > 储存位置/*以.sql为结尾*/

image-20230416171210209

这里的.sql储存,之前书写过的sql语句

还原数据库

source 储存位置/*以.sql结尾*/ 

可以直接还原数据库的内容,这里的操作是在mysql数据库里面,

查看链接情况

IMG_0F5C55CEA4A6-1

表操作

创建表

create table if not exit table_name(
属性...
)character=utf8 engine=MyISAM;

不同的储存引擎,创建表的文件不相同。

查看表结构

image-20230416185131799

desc table_name;

IMG_52BFB7AD47A7-1

这里查看属性信息,具体的信息上面都进行解释。

修改表结构

这里最经常使用的alter(改变)进行表的结构改变。

添加字段

alter table table_name add id int(100) after id1;

这里增添一个名字叫做id,类型为int,大小为100字节,其他的类型添加也差不多。把id的字段添加到id1字段后面(after),也可以使用before设置咋某一个字段前面。

修改字段类型长度

alter table table_name modify column_name 类型长度

修改column 的类型长度与类型

image-20230416193719980

更改表名

alter table t1 rename to name2;

更改名字从t1变成name2。

修改属性

alter table table_name column1 change name column2 varchar(32); 

把column1改成 column2 类型为varchar(32)。

删除表

drop table table_name 

删除表名为table_name进行删除。

数据类型

IMG_77AA7371CBA3-1

tinyint 有符号的整形(-128 - 128),tinyint[unsigned]无符号整形,(255),bit[m] 表述有m个比特位。

flost(m,d) [unsinged]m为总的位数,小数点后面d位 进行标准

decimal比较flost之前有非常多区别,decimal精度更高char(L)固定的字符串,L为字符数量

char字符串为255 varchar()动态字符串类型 可以动态决定插入的字符串的范围。数据长度都是相同的就是使用定长,数据长度不相同使用变长(效率低)。

date类(日期类)yyyy-mm-dd

timestamp时间戳

datastamp 时间日期格式 yyyy-mm-dd HH:ii:ss 表示范围从1000到9999 自动获取现在的时间

enum枚举只可以属性选择其中的一个这里面储存的是相应的数字,而不是属性。

set集合可以选择多个属性使用位图进行储存相关的信息为0就是这个属性不存在,为就是这个属性存在。find_in_set(s)。

表的约束

空属性(not null)

create table table_name(
id int(10) not null
);

这里将id设置不为空,如果插入的时候为空,没有办法进行插入

默认值

IMG_CFBC6B893BCD-1

某一个属性的后面增加default 可以设置默认值,t1没有被填充的时候会自动填充为“空人”

列描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tkzlUX64-1681990945043)(https://raw.githubusercontent.com/assibe/Drawing-bed/master/%E6%88%AA%E5%B1%8F2023-04-18%2020.35.44.png)]

这里的comment进行注释,使用desc查看不到comment之后的注释。对应程序员进行限制。

show create table table_name ;

image-20230418203826112

zerofill

IMG_21D0954BB444-1

这里直接将id的所有的东西补充满

主键

一个表只有一个主键,主键对应的元素不可以重复,可以后序进行追加主键

这个一般是与其他的表无关的

image-20230418204637770

这里使用的primary key进行修饰id

这里与唯一键的最大是在业务上的,不是在语法上吗的区别

复合主键

image-20230418212328285

这里使用primary key(column1,column2),组成了复合主键,只要插入的元素与这两个同时不同就可以了。

image-20230418212617178

自增长

在这里插入图片描述

这里使用了自增长要与primary key(主键)进行联合使用。

这里插入数据之后缺少主键的值,就会自动进行增长。(缺省插入)

image-20230418214028126

如果插入与主键不同顺序的数字,之后的增长就会从自己插入的数字进行增长。

唯一键

image-20230418214357893

与主键的不同之处在于,这个唯一键为了满足业务本身而生成的唯一键,主键本身与业务无关。其他基本相同。

外键

定义主表与从表之间的关系,进行分表,增加查询的速度。

要保证使用的都是同一个数据库,主表必须是有主键或者唯一键约束。

image-20230419085715629

这里创建两个表,t1为第一个表,t2为第二个从表。他们相连的元素是主表(t1)的id,从表(t2)的pid。

这里利用的是他们的进行约束,基本上就是业务上面进行相连,例如

一个学校的班级表,与学校里面的学生表。学生表里面的班级就可以上学校的班级做为约束。

表的增删改查

数据的插入

简单的数据插入

image-20230420193034465

对应有主键的数据表进行插入,与普通插入不同,下面总结具体的插入的过程。

insert into table_name values(数据) ON DUPLICATE KEY UPDATE 数据;

这里既是是主键相同也可以进行插入,进行同步更新

replace into table_name(类型) values(数据);

主键重复(或者唯一键)没有冲突,则直接插入

主键重复(或者唯一键)有冲突,删除之后再插入


http://www.ppmy.cn/news/46530.html

相关文章

常见网络故障排错思路

常见网络故障排错思路 OSPF排错思路总结: 1.检查设备之间的IP地址是否互通 2.检查设备是否可以发送ospf 报文 3.检查设备是否可以接收ospf 报文 4.检查设备之间的ospf 报文的关键参数 router-id : 不能相同区域号 :必须相同特殊标记位 :必…

OpUtils网络端口扫描

网络端口扫描程序使 IT 管理员能够密切监视端口,这些端口是网络通信的端点。网络端口支持不同实体之间的数据传输,并支持运行各种服务或应用程序。在日常工作中,网络管理员的任务是扫描和监控数百个交换机端口。网络端口扫描程序工具通过帮助…

学了半个月js 感觉一点都不会 ,怎么办?

前言 结合你的提问的具体情况,我想说如果你不是天才,那仅仅只靠半个月的学习就想掌握js那是绝无可能的,至于你说的感觉一点都不会在我看来是夸大了,极大可能是因为你没有去整合回顾知识,脑里的知识点相当的混乱&#…

摄影知识整理

目录 焦距 焦距分类 对焦 相机的MF与AF 自动对焦操作 自动对焦方式 镜头防抖 防抖模式 景深 景深的作用 影响景深的因素 景深预览 摄影三大元素 光圈 光圈的作用 光圈与景深的关系 感光度(ISO) 注意 感光度的作用 快门 B门与T门 快门速度 闪…

Adobe有哪些软件?

Adobe是一家知名的软件公司,其产品广泛应用于图像处理、视频制作、网页设计等领域。以下是Adobe公司旗下的一些主要软件: Photoshop:图像处理软件,用于编辑和处理照片、图像等。Illustrator:矢量图形编辑软件&#xf…

危中蕴机:Oi! Network展现出的勇气和决心

众多社交媒体应用平台出现用户大量控诉—项目官方处理,用户逐渐冷静——二次信任建立,用户支持力度增强:一段魔幻情节就发生在了Oi! Network上。 本文将对以上情节将从四个方面进行分解:Oi! Network是什么?—Oi! Netw…

BP神经网络和RBF神经网络的区别

本站原创文章,转载请说明来自《老饼讲解-BP神经网络》 bp.bbbdata.com 有些同学只学过BP神经网络,想了解RBF神经网络 或者只学过RBF神经网络,想了解BP神经网络 那么本文就非常适合这些同学阅读,帮助大家快速将相关知识迁移到BP/RB…

【Qt 一个简易画板的实现(Graphics View)】

Qt 一个简易画板的实现(Graphics View Qt 一个简易画板的实现(Graphics View)mainwindow.cpppaintwidget.hpaintwidget.cppshape.hline.hrect.h Qt专栏 Qt 一个简易画板的实现(Graphics View) Qt 学习之路(32): 一个简易画板的实现(Graphics View) 这一次将介绍如何使用 Graph…