MySQL入门

MySQL基础

      • 1. 下载MySQL
        • 1.1 下载补丁
        • 1.2 下载MySQL
        • 1.3 确定下载路径
        • 1.4 创建配置文件
        • 1.5 初始化MySQL
      • 2. 启动MySQL
        • 2.1临时启动
        • 2.2 制作成Windows服务
        • 2.3 连接测试
        • 2.4 配置环境变量
      • 3. MySQL指令
        • 3.1 连接
        • 3.2 设置密码
        • 3.3 查看已有的的文件夹(数据库)
        • 3.4 退出(关闭连接)
      • 4. 忘记密码怎么办?
      • 5. MySQL指令
        • 5.1 数据库管理(文件夹)
        • 5.2 数据表的管理(文件)
        • 5.3 常用数据类型
        • 5.4 数据行操作
          • 5.4.1 新增数据
          • 5.4.2 删除数据
          • 5.4.3 修改数据
          • 5.4.4 查询数据

1. 下载MySQL

1.1 下载补丁

先下载Windows补丁dxwebsetup.exevcredist_x64.exe (Google搜直接官网下载即可)

vcredist_x64.exe

dxwebsetup.exe

1.2 下载MySQL

下载MySQL

1.3 确定下载路径

下载好的MySQL解压缩到一个你知道的文件夹下

我的路径:D:\Program Files\Mysql\mysql-5.7.31-winx64

1.4 创建配置文件

进入该文件下,添加配置文件my.ini

编辑该文件

[mysqld]port=3306basedir=D:\\Program Files\Mysql\\mysql-5.7.31-winx64datadir=D:\Program Files\Mysql\mysql-5.7.31-winx64\\data

注意:

  1. 第一个文件路径时你的MySQL安装所在的路径,第二个路径是你的MySQL数据库的数据存放的位置
  2. 要加多加一个\转义字符把\给转义

1.5 初始化MySQL

以管理员权限打开终端, 以下终端操作都要在管理员权限下进行

输入初始化命令

"MySQL路径\bin\mysqld.exe"  --initialize-insecure

执行后文件目录会新增data文件夹

2. 启动MySQL

2.1临时启动

"MySQL路径\bin\mysqld.exe"

这种启动在终端下允许,关闭终端,MySQL停止,一般不用

2.2 制作成Windows服务

"MySQL路径\bin\mysqld.exe"  --install mysql57

mysql57是自己命名,最好以mysql最为开头,57这里是我的版本

2.3 连接测试

"MySQL路径\bin\mysqld.exe" -h 127.0.0.1 -P 3306 -u root -p

说明: -h 后接的是要连接的服务器地址。 初始进入密码不需要,直接回车可进入

2.4 配置环境变量

path下添加一条MySQL的路径 即可 eg: D:\Program Files\Mysql\mysql-5.7.31-winx64\bin

至此: 终端在一般模式也可以使用MySQL啦

3. MySQL指令

3.1 连接

进入MySQL本地连接

mysql -u root -p

3.2 设置密码

set password = password('123456');

123456就是设置的密码

3.3 查看已有的的文件夹(数据库)

show databases;

3.4 退出(关闭连接)

exit;

4. 忘记密码怎么办?

默认情况下,启动MySQL时,需要输入账号、密码修改MySQL配置,重启MySQL服务(无账号模式)mysql -u root -p进去后重新设置密码退出再重新修改MySQL配置文件,重新启动MySQL(需要账号的模式)mysql -u root -p新密码
  • 停止服务

  • 修改MySQL配置文件(以无账号模式)

    配置文件my.ini

    初始配置文件:

    [mysqld]port=3306basedir=D:\\Program Files\Mysql\\mysql-5.7.31-winx64datadir=D:\Program Files\Mysql\mysql-5.7.31-winx64\\data
    

    加上一句话skip-grant-tables=1

    即:

    [mysqld]port=3306basedir=D:\\Program Files\Mysql\\mysql-5.7.31-winx64datadir=D:\Program Files\Mysql\mysql-5.7.31-winx64\\dataskip-grant-tables=1
    
  • 重新启动MySQL

  • 再次登录(无需密码进入)

  • 执行命令设置密码

    use mysql;
    
    update user set authentication_string = password('新密码'), password_last_changed=now() where user='root';
    
  • 重新修改配置文件(需要账号的模式登录)【停掉MySQL服务】

    删除skip-grant-tables=1 再保存即可

  • 重新启动,输入新密码

5. MySQL指令

5.1 数据库管理(文件夹)

  • 查看已有的数据库(文件夹)

    show databases;
    
  • 创建数据库(文件夹)

    create database 数据库名字 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    
  • 删除数据库(文件夹)

    drop database 数据库名字;
    
  • 进入数据库(进入文件夹)

    use 数据库名字;
    
  • 查看文件夹下的所有数据表(文件)

    show tables;
    

5.2 数据表的管理(文件)

  • 进入数据库(进入文件夹)

    use 数据库;
    
  • 查看当前数据库下的所有表(文件)

    show tables;
    
  • 创建表(文件名称)

    create table 表名称(列名称 类型,列名称 类型,列名称 类型
    ) default charset=utf8;
    

    例子:

    idnameage
    create table tb1(id int,name varchar(16),age int) default charset=utf8;
    

    varchar(16)表示字符串类型,最多存16个字符

    create table tb1(id int,name varchar(16) not null,	-- 不允许为空age int null 				-- 允许为空(默认)) default charset=utf8;    
    
    create table tb1(id int,name varchar(16),age int default 3			-- 插入数据时,age列的值默认是3) default charset=utf8;
    
    create table tb1(id int primary key,			-- 主键(不允许为空,不允许重复)name varchar(16),age int) default charset=utf8;
    

    主键一般用于表示当前行的数据的编号(类似人的身份证)

    create table tb1(id int auto_increment primary key,		-- 设置主键自增(内部维护)name varchar(16),age int) default charset=utf8;
    

    一般创建表时都这样写:【标准】

    create table tb1(id int not null auto_increment primary key,name varchar(16),age int) default charset=utf8;
    
  • 查看表内信息

    desc 表名;
    

    展示列名,每一列的类型,是否为空,是否为主键,默认值是什么,额外信息

  • 删除表

    drop table 表名称;
    
  • 向表中加数据

    # 插入数据
    insert into tb2(salary, age) values(10000, 18);		--  插入一行
    insert into tb2(salary, age) values(20000, 28);
    insert into tb2(salary, age) values(30000, 38), (40000, 48);	-- 插入两行
    

5.3 常用数据类型

整数:

  • tinyint

    有符号,取值范围:-128 ~ 127 (默认)	 tinyint
    无符号,取值范围:0 ~ 255			  tinyint unsigned
    
  • int

    有符号
    无符号:int unsigned
    
  • bigint

    有符号
    无符号
    

例子:

# 创建表
create table tb2(id bigint not null auto_increment primary key,salary int,age tinyint) default charset=utf8;# 插入数据
insert into tb2(salary, age) values(10000, 18);		--  插入一行
insert into tb2(salary, age) values(20000, 28);
insert into tb2(salary, age) values(30000, 38), (40000, 48);	-- 插入两行# 查看表中的数据(展示表中的内容)
select * from tb2;

小数:

  • float

  • double

  • decimal

    准确的小数值,8是数字的总个数是8位(符号不算),小数点后有2位。

    最大总共有65位,小数点后最多有30位

    总位数超过限制会报错,总位数不超&小数点后的位数太多会进行四舍五入

    create table, tb1(id int not null auto_increment primary key,salary decimal(8, 2)) default charset=utf8;
    

字符:

  • char(m) 查询速度快

    定长字符串,超过指定长度会报错

    char(11),固定按照11个字符串进行存储,没有11个也会按照11个存储

    m代表字符串的长度,最多可容纳255个字符

    create table, tb1(id int not null auto_increment primary key,mobile char(11)) default charset=utf8;
    
  • varchar(m) 节省空间

    变长字符串,超过指定长度会报错

    真实数据有多长就存储多少

    m代表字符串的长度,最大65535个字节 / 3 = 最大的中文字数

    create table, tb1(id int not null auto_increment primary key,salary decimal(8, 2)) default charset=utf8;
    
  • text

    text数据类型一般用于存储变长的大字符串,最多65535个字符
    一般情况下,长文本会用text类型,例如:文章,新闻等
    
  • mediumtext

  • longtext

日期:

  • datetime

    YYYY-MM-DD HH:MM:SS
    
  • date

    YYYY-MM-DD
    

清屏:

system clear

5.4 数据行操作

5.4.1 新增数据
insert into 表名(列名,列名) values(值,值);
insert into 表名(列名, 列名) values(值,值),(值,值),(值,值);
5.4.2 删除数据

删除整张表的数据

delete from 表名; 

过滤删除的条件

delete from 表名 where 条件;
delete from tb1;
delete from tb1 where id = 3;
delete from tb1 where id = 4 and name = "张三“;
delete from tb1 where id = 3 or name = "李四";
delete from tb1 where id >= 3;
delete from tb1 where id != 3;
delete from tb1 where id in (1, 3);   # 表示id=1和id=5的被删掉
5.4.3 修改数据
update 表名 set 列=值;	# 表中的所有列都改
update 表名 set 列=值, 列=值;
update 表名 set 列=值 where 条件;

通过条件判断可以控制

update tb1 set age=age+10 where id>5;
5.4.4 查询数据

查询表中的所有数据

select * from 表名称;

查询某几列

select 列名称,列名称 from 表名称;

还可以加条件

select 列名称,列名称 from 表名称 where 条件;

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mysql DQL 学习记录

DQL,data query language,即数据查询语言,用来查询数据库中表的记录 1.基本查询 //查询多个字段 select 字段1,字段2,... from 表名;//查询所有字段(扫全表,尽量不要使用) select …

如何快速制作一个奶茶店小程序商城

如果你是一个奶茶店的老板,你可能会考虑开设一个小程序商城来增加销售渠道和提升品牌形象。那么,如何快速制作一个奶茶店小程序商城呢?下面我们将介绍一个简单的步骤供你参考。 首先,你需要登录乔拓云平台进入商城后台管理页面。在…

(四)Flask——配置详解

一、配置: Flask中的配置文件是一个flask.config.Config对象(继承字典)。后续会剖析源码瞅瞅。 基本方法: 直接设置配置项——可以直接在应用程序中设置配置项,而不使用配置文件或环境变量。例如,在应用…

用ChatGPT解析Wireshark抓取的数据包样例

用Wireshark抓取的数据包,常用于网络故障排查、分析和应用程序通信协议开发。其抓取的分组数据结果为底层数据,看起来比较困难,现在通过chatGPT大模型,可以将原始抓包信息数据提交给AI进行解析,本文即是进行尝试的样例…

互联网行业真的不行了吗?

文章目录 前言一、起因二、互联网真的完了吗?三、是不是要转行?四、十年磨一剑五、统一回复 前言 英雄算法联盟 - 七月集训 已经开始 16 天,八月算法集训 将于 08月01日 正式开始,目前已经提前开始报名,报名方式参见&a…

OpenCv之滤波器

目录 一、卷积 二、方盒滤波与均值滤波 三、高斯滤波 四、中值滤波 五、双边滤波 一、卷积 图像卷积就是卷积核在图像上按行华东遍历像素时不断的相乘求和的过程 相关知识点: 步长:就是卷积核在图像上移动的步幅.(为充分扫描图片,步长一般为1)padding:指在图片…

matlab学习指南(1):matlab初步入门详细介绍

🌅*🔹** φ(゜▽゜*)♪ **🔹*🌅 欢迎来到馒头侠的博客,该类目主要讲数学建模的知识,大家一起学习,联系最后的横幅! 喜欢的朋友可以关注下,私信下次更新不迷路&#xff0…

sqlite3交叉编译

1、交叉编译sqllite3可以先从官网下载最新最新的源码进行编译。sqlite3下载sqlite3有两种版本的源代码,sqlite-amalgamation-3420000.zip这种是将所有的操作放到sqlite3中进行使用的。虽然官方推荐使用这种方法。但是对于嵌入式移植还是使用sqlite-autoconf-3420000…

探索基于300W-LP的3D人脸关键点检测

目录 前言一、3D 关键点可视化二、使用步骤1.300W-LP转为YOLO数据格式2.修改数据入口3.开始训练 总结 前言 300WLP数据集提供来丰富的人脸线索,包括2D或3D的关键点信息,Head Angle和3DMM的参数等&#xff…

OpenCV中的RGB与YUV转换

1 基本概念 YUV 颜色空间从模拟电视时代开始就被广泛应用于彩色图像的转换与处理。其基于一个 3x3 的矩阵,通过线性变换将 RGB 像素转换为一个亮度(Luma)分量 Y 以及两个色度(Chroma)分量 U 和 V。由于模拟电视存在着多…

Java如何使用Fastjson序列化和反序列化

技数未来 各种数据库等知识文章 Fastjson是阿里巴巴开源的一个高性能的JSON处理框架,它可以实现Java对象与JSON字符串之间的相互转换,支持复杂对象嵌套和泛型的序列化与反序列化。Fastjson具有以下特点: 1. 快速:Fastjson相对于…

K8s 为什么要弃用 Docker

K8s 为什么要弃用 Docker 最近在学习容器技术的过程中,看到有关于Kubernetes“弃用 Docker”的事情,担心现在学 Docker 是否还有价值,是否现在就应该切换到 containerd 或者是其他 runtime。 随着深入了解,这些疑虑的确是有些道理…

libbpf-bootstrap开发指南:socket 监测与过滤 - sockfilter

目录 代码分析 comm 数据部分 BPF 代码部分 功能说明 rb 结构分析 ip_is_fragment 函数分析 bpf_skb_load_bytes函数分析 GRE协议说明 用户代码部分 功能说明 open_raw_sock& 原始套接字 setsockopt(sock, SOL_SOCKET, SO_ATTACH_BPF, &prog_fd, sizeof(pr…

git 工具使用--分支管理

git 工具使用–分支管理 文章目录 git 工具使用--分支管理理解分支创建分支切换分支合并分支删除分支合并冲突分支管理策略分支策略bug分支删除临时分支总结 理解分支 分支管理是Git的杀手级功能之一。分支:就是科幻中的平行宇宙,当你正在电脑面前学习C…

设计模式-单例模式

面向对象语言讲究的是万物皆对象。通常流程是先定义可实例化类,然后再通过各种不同的方式创建对象,因此类一般可以实例化出多个对象。但是实际项目开发时,我们还是希望保证项目运行时有且仅包含一个实例对象。这个需求场景的出发点包括但不限…

变压器试验介质损耗

试验目的 介质损耗因数 tanδ (% ) 是判断变压器绝缘状态的一种较有效的手段, 主要用来检 查变压器整体受潮、 油质劣化及严重的局部缺陷等, 但不一定能发现变压器局部受潮 等集中性局部缺陷。 试验设备 异频介质损耗测试仪 厂家: 湖北众拓高试 试验接线 (1) 介…

搜索引擎elasticsearch :安装elasticsearch (包含安装组件kibana、IK分词器、部署es集群)

文章目录 安装elasticsearch1.部署单点es1.1.创建网络1.2.加载镜像1.3.运行 2.部署kibana2.1.部署2.2.DevTools2.3 分词问题(中文不友好) 3.安装IK分词器3.1.在线安装ik插件(较慢)3.2.离线安装ik插件(推荐)1)查看数据卷…

数据结构--哈夫曼树

数据结构–哈夫曼树 带权路径长度 结点的 权 \color{red}权 权:有某种现实含义的数值(如:表示结点的重要性等) 结点的带权路径长度 \color{red}结点的带权路径长度 结点的带权路径长度:从树的根到该结点的路径长度(经过的边数)与该结点上权值的乘积 树的…

小程序MobX创建store并实现全局数据共享

查看小程序根目录中是否存在package.json文件 在项目根目录运行cmd 没有package.json文件输入npm init -y初始化一下,初始化一个包管理 安装MobX npm install --save mobx-miniprogram4.13.2 mobx-miniprogram-bindings1.2.1 小程序菜单栏工具–构建npm 根目录创建store文…

el-ment ui 表格组件table实现列的动态插入功能

在实际需求中我们经常遇到各种奇葩的需求,不足为奇。每个项目的需求各不相同,实现功能的思路大致是一样的。 本文来具体介绍怎么实现table表格动态插入几列。 首先实现思路有2种, 1. 插入的位置如果是已知的,我知道在哪个标题的…