Mysql基本介绍以及安装

一、初识Mysql

1、为什么学习mysql

①岗位需求

②大数据时代

③被迫需求:存数据

④数据库是所有软件体系中最核心的存在

2、什么是数据库

数据库(DdataBase):安装在操作系统之上的软件,存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的

作用:存储数据,管理数据

3、数据库分类

关系型数据库(SQL):Mysql、Oracle、SQL Server、DB2。通过表和表之间,行和列之间的关系进行数据的存储,学院信息表、考勤表

非关系型数据库(NoSQL):Redis、MongDB。对象存储,通过对象的自身的属性来决定,数据存储方式 k,v键值对的形式

4、DBMS(数据库管理系统)

数据库的管理软件、科学有效的管理我们的数据,维护和获取数据。

5、msyql简介

MySQL是一个关系型数据库管理系统,在web应用方面,MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

前世:由瑞典MysqlAB 公司开发

今生:属于Oracle旗下产品

关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。

体积小、速度快、成本低,开放源码,一般中小型网站的开发都选择 MySQL 作为网站数据库。

7、安装建议

使用压缩包安装,5.7版本

8、在windows上安装mysql5.7

①下载以及解压安装包:链接:https://pan.baidu.com/s/1OM0PkP6iIT6Y8hBoE7mCtw   提取码:vp7b

②解压出来的文件命名:Mysql57、移动到D盘根目录下

③添加环境变量:D:\Mysql57\bin

④在Mysql57目录中新建my.ini文件,添加以下内容:

复制代码
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
# 设置mysql数据库的数据的存放目录
basedir=D:/Mysql57
datadir=D:/Mysql57/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
复制代码

⑤打开cmd命令,切换到bin目录下:

初始化:mysqld --initialize-insecure  

安装:mysqld -install (如果已存在,则删除:sc delete mysql 或者 mysql –remove)

开启:net start mysql

⑥初始化登录密码:

执行命令:mysqladmin -u root -p password,回车

出现Enter password:直接回车(未设置密码时默认没有密码)

接着出现“New password:”,输入新的密码:password,回车即可,

接着出现“Confirm new password:”,输入确认密码:password,回车即可。

登录mysql:mysql –uroot –ppassword

令所用用户可以访问

use mysql;

update user set host='%' where user ='root';

flush privileges;

⑧删除无用配置

delete from mysql.user where user='';  

delete from mysql.user where host='::1';

重启mysql,连接测试,如果成功那么,以上安装mysql5.7成功。

9、破解密码(密码忘记了解决方式):跳过密码登录再修改密码

①停止mysql服务

②以管理员身份打开cmd:mysqld --skip-grant-tables(跳过用户密码认证模式)

③打开新的cmd(管理员身份): mysql -uroot -p(没有密码也可以登进去)

④登进去修改密码:update mysql.user set password=password(3822515) where user='root' and host='localhost';

⑤启动mysql

⑥登录:mysql -uroot -p新密码

10、安装Navicat Premium 12

https://www.cnblogs.com/zhangguosheng1121/p/10877545.html

11、在Centos7上安装mysql5.7

https://www.cnblogs.com/zhangguosheng1121/p/14945963.html

 

二、增删改查

操作数据库 ——>>>操作数据库中的表——>>>操作数据库中的表的数据

mysql关键字不区分大小写

1、操作数据库

①增 create database db1 charset utf8;

②查 show create database db1;

③改 alter database db1 charset gbk;

④删 drop database db1;

2、操作表

查看创建数据库的语句:show create database school

查看student数据表的定义语句:show create table student

应该在具体某一个库下面创建表 

切换到指定的库内:use day41; 

查看当前所在的库 :select database();

①增:create table userinfo(id int,name char); 

②查 :

  show tables 

  show create table userinfo  (查看表的详细信息 )

  describe userinfo (查看表结构 )

③改:alter table userinfo modify name char(16); ( 在创建char类型字段的时候,建议加上数字char(32) )

④删:drop table userinfo;

3、操作数据

①增:insert into userinfo values (1,'egon'), (1,'egon'), (3,'echo'), (4,'eason') ; 

②查:select id,name from userinfo; 

      select * from userinfo;

③改:update userinfo set name='DSB' where id > 1;

   update userinfo set name='DSB' where id = 2 or id = 3; 

④删:delete from userinfo where id >3;

   delete from userinfo where name='egon';

 

三、存储引擎

1、为什么

文件格式有很多种,对应的软件也有很多种txt,pdf等

针对不同类型的文件,需要对应有不同的软件帮助我们去操作

2、在物理空间存在的位置

所有数据库文件都存在data目录下,一个文件夹对应一个数据库。本质还是文件的存储

3、查看所有的存储引擎

show engines;   

4、比较

默认使用:INNODB

早些年使用:MYISAM

  MYISAM INNODB
事物支持 不支持 支持
数据行锁定 不支持 支持
外键约束 不支持 支持
全文索引 支持 不支持
表空间大小 较小 较大,约为2倍

常规使用操作:

MYISAM:节约空间,速度较快

INNODB:安全性高,事物的处理,多表多用户操作

5、不同存储引擎存储表结构区别:

①create table t1(id int)engine=innodb;     (创了两个表:frm表结构 ibd存的真实的数据,在数据库表中只有一个*.frm文件,以及上级目录下的ibdata1文件)

②create table t2(id int)engine=myisam;    (三个表:frm表结构定义文件,MYD数据文件,MYI基于索引插数据,所以比innodb快 )

③create table t3(id int)engine=blackhole; (一个表:frm表结构 )

④create table t4(id int)engine=memory;   ( 一个表:frm表结构 为什么:这个引擎的数据是存在内存的,不是在硬盘里)

5、设计数据库表的字符集编码

charset=utf8

不设置的话,回事mysql默认的字符集编码(不支持中文)

 

 

四、MYSQL数据管理

数据库意义:数据存储、数据管理

1、DML语言(数据操作语言)

insert

update

delete

添加(insert)

修改(update)

 

删除(delete)

复制代码
delete from tb1; 删表中的数据
              强调:上面的这条命令确实可以将表里的所有记录都删掉,但不会将id重置为0,
                所以收该条命令根本不是用来清空表的,delete是用来删除表中某一些符合条件的记录
                  delete from tb1 where id > 10;

truncate tb1; 清空表
              作用:将整张表重置,id重新从0开始记录

清空含有外键的表:
            SET FOREIGN_KEY_CHECKS = 0;
            TRUNCATE TABLE 表名;
            SET FOREIGN_KEY_CHECKS = 1;

比较:
   相同点:都能删除数据,都不会删除表结构
   不同点:Truncate重新设计自增列id,id从0开始
       truncate不会影响事物
复制代码

 2、DQL:数据库查询语言

 https://www.cnblogs.com/zhangguosheng1121/p/10870552.html

 

posted @   困了就睡觉觉  Views(318)  Comments(0Edit  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示