百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

数据库——MySQL基本安装和使用

wxin55 2024-11-26 09:36 9 浏览 0 评论

MySQL数据库开发

基础概念

1.数据:描述事物特征的符号,属性

2.数据库的概念:管理计算机中的数据的仓库

2.记录: 一系列典型的特征

3.表:文件

4.库:文件夹

5.数据库管理软件:MySQL oracle,db2,sqlserver

6.数据库服务器:运行数据库管理软件的计算机

7.mysql是一个基于socket编写的C/S架构的软件

数据库管理软件

分类

  1. 关系型:sqllite db2,oracle sqlserver. MySQL

就是一个个表结构组成的,表结构就是由一些字段(属性)+约束条件+数据类型组成的

非关系型:mongdb redis

2.非关系型:mongdb redis

没有表的结构,

存储方式

关系型:二维表的形式

非关系型:key:value

安装

1.linux版本

2.windows版本

安装方式:图形化指导安装,命令形式安装

选择版本:5.5 ,5.6,尽量不安装8版本的,坑

基本是点默认。

如果最后配置安装的时候,开启启动服务停留了很久,

出现的原因是:之前安装的mysql的配置文件没有删除干净以及mysql服务注册表没有删除,

解决办法:

mysql数据配置文件默认在C:\ProgramData\MySQL 将这个删除干净,包括空文件也要删除

注册表的事情,就不要乱动了。。后面再试试重新安装一个MySQL,

步骤只到安装完成,后面配置部分就不要点了,我们手动配置系统服务

进入cmd

输入 mysqld --install MySQL55 这是生成一个系统服务名字叫MySQL55

然后 net start MySQL55 开启MySQL服务

以root登录MySQL 直接回车进入无需密码,通过mysql.user表来添加密码

mysql启动登录

1.win+R 打开搜索框 输入cmd (这只是普通用户登录打开cmd与上述cmd打开方式不同)

2.然后输入 mysql

3.然后输入密码 (root用户默认没密码直接回车)

密码设置

一开始没有设置密码所以需要设置

  • 第一种:不用登录进mysql
  • win+Q 搜索cmd 选中命令提示符右击管理员登录。
  • 输入指令:mysqladmin -uroot -p password 123456
  • 上述命令参数说明:-u 指用户 -p指密码
  • 上述指令意思:以root用户登录 设置密码为123456
  • 第二种:以root用户登录mysql
  • 先登录mysql,修改mysql数据库中的表user的用户的密码
  • 指令:update user set password=password('123456') where user="root";
  • 指令解释:修改表设置user为root的记录的密码为123456

修改密码

(建议第二种方法)

  • 第一种不登陆mysql:
  • 修改密码指令:mysqladmin -uroot -p123456 password 123abc;
  • 上述指令意思:以root用户登录将密码123456修改为123abc
  • 第二种登录mysql:
  • 方法:修改mysql数据库中表user
  • 指令:update user set password=password('newmima') where user="root";


如果密码忘记怎么办?

WIndows下

1.彻底删除mysql(暴力)

卸载mysql~~~~

2.绕开权限表登录(合理)

绕开权限表登录,然后进入到mysql之后,设置密码

(1)绕开权限表:

管理员进入cmd:

先停止当前mysql服务输入指令net stop MySQL

然后绕过权限表:mysqld --skip -grant-tables

(2)之后打开一个新的cmd管理员身份登录 mysql

输入指令: mysql 回车就能直接登录进入mysql

输入指令通过修改数据库中的表设置密码:(登录进mysql后每一条指令输完后要加分号,表示该指令结尾)

update mysql.user set password=password(‘123456’) where root and host=“localhost”;

为什么不直接password=”123456“呢 而用password=password(‘123456’)这是因为放入到数据库中的密码不能是明文的,而是要加密的。所以使用他自带的函数password()

刷新权限:flush privileges;

(3)杀死绕开权限表的进程,这样我们才能以正常方式登录

管理员身份进入cmd

输入指令:tasklist |findstr mysql 查询mysql进程

杀死进程输入指令:taskkill /F /pid 32312

上述指令参数说明: /F 表示强制 /pid表示进程号 后面32312是tasklist |findstr mysql查询得到的进程号

(4)启动mysql服务

进入cmd 输入:net start MySQL

(5)mysql -uroot -p 再输入密码就可以进入了

查看数据库文件存放的物理位置

show global variables like “%datadir%”;

sql(Structed query language)结构化查询语言

分类

1.DDL数据定义语言

操作对象:数据库,表,视图等

2.DCL数据控制语言

操作对象: 表内的内容

操作:增 删 修改

3.DML数据操纵语言

对数据库进行一些事务管理等:

比如授权。

4.DQL数据查询语言

操作对象:数据。

操作:查询

数据的CURD操作

操作数据库(文件夹)

(记住几个关键字就可以了)


CURD操作

增(Create)

CREATE database db1 charset utf8;

删除(DELETE)

DROP database db1;

改(ALTER)

ALTER datbase charset gbk;

查(Retrieve)

SHOW databases;(显示数据库有哪些)

SHOW CREATE database db1;(查看当前创建的数据库db1)

操作表(文件)


选择数据库

use db1;

增加(CREATE)

CREATE table tb1(

sid int unsigned not null primary key auto_increment,

name varchar(20) not null,

age tinyint not null

);

删除(DELETE)

DROP table tb1;

修改表的字段名: ALTER table change id sid int unsigned NOT NULL PRIMARY KEY;

查(RETRIEVE)

SHOW tables;//显示所有的表

SHOW create table tb1;

DESC tb1;

操作数据

INSERT INTO tb(id,name)values(1,‘zc’),(2,‘ls’);

DELETE FROM tb WHERE id=1;

UPDATE *FROM tB WHERE id=1;

SELECT *FROM tb ;//查询整个表内的所有数据

存储引擎的介绍

什么是存储引擎?

create table t1(id int)engine=innnodb;

就是控制管理表的类型,不同的引擎对于表的类型是有不同定义的,存储引擎帮助管理存储在数据库中的数据

数据操作

约束

概念:对数据进行一些约束,保证数据的正确性和完整性

有四类:

1.主键约束 PRIMARY KEY

2.非空约束 NOT NULL

3.唯一约束 UNIQUE

4.外键约束 FOREIGN KEY


我是小川,一枚计算机专业的大学生,如果有更好的补充,请在下方留言吧

相关推荐

ES6中 Promise的使用场景?(es6promise用法例子)

一、介绍Promise,译为承诺,是异步编程的一种解决方案,比传统的解决方案(回调函数)更加合理和更加强大在以往我们如果处理多层异步操作,我们往往会像下面那样编写我们的代码doSomething(f...

JavaScript 对 Promise 并发的处理方法

Promise对象代表一个未来的值,它有三种状态:pending待定,这是Promise的初始状态,它可能成功,也可能失败,前途未卜fulfilled已完成,这是一种成功的状态,此时可以获取...

Promise的九大方法(promise的实例方法)

1、promise.resolv静态方法Promise.resolve(value)可以认为是newPromise方法的语法糖,比如Promise.resolve(42)可以认为是以下代码的语...

360前端一面~面试题解析(360前端开发面试题)

1.组件库按需加载怎么做的,具体打包配了什么-按需加载实现:借助打包工具(如Webpack的require.context或ES模块动态导入),在使用组件时才引入对应的代码。例如在V...

前端面试-Promise 的 finally 怎么实现的?如何在工作中使用?

Promise的finally方法是一个非常有用的工具,它无论Promise是成功(fulfilled)还是失败(rejected)都会执行,且不改变Promise的最终结果。它的实现原...

最简单手写Promise,30行代码理解Promise核心原理和发布订阅模式

看了全网手写Promise的,大部分对于新手还是比较难理解的,其中几个比较难的点:状态还未改变时通过发布订阅模式去收集事件实例化的时候通过调用构造函数里传出来的方法去修改类里面的状态,这个叫Re...

前端分享-Promise可以中途取消啦(promise可以取消吗)

传统Promise就像一台需要手动组装的设备,每次使用都要重新接线。而Promise.withResolvers的出现,相当于给开发者发了一个智能遥控器,可以随时随地控制异步操作。它解决了三大...

手写 Promise(手写输入法 中文)

前言都2020年了,Promise大家肯定都在用了,但是估计很多人对其原理还是一知半解,今天就让我们一起实现一个符合PromiseA+规范的Promise。附PromiseA+规范地址...

什么是 Promise.allSettled()!新手老手都要会?

Promise.allSettled()方法返回一个在所有给定的promise都已经fulfilled或rejected后的promise,并带有一个对象数组,每个对象表示对应的pr...

前端面试-关于Promise解析与高频面试题示范

Promise是啥,直接上图:Promise就是处理异步函数的API,它可以包裹一个异步函数,在异步函数完成时抛出完成状态,让代码结束远古时无限回掉的窘境。配合async/await语法糖,可...

宇宙厂:为什么前端离不开 Promise.withResolvers() ?

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发。1.为什么需要Promise.with...

Promise 新增了一个超实用的 API!

在JavaScript的世界里,Promise一直是处理异步操作的神器。而现在,随着ES2025的发布,Promise又迎来了一个超实用的新成员——Promise.try()!这个新方法简...

一次搞懂 Promise 异步处理(promise 异步顺序执行)

PromisePromise就像这个词的表面意识一样,表示一种承诺、许诺,会在后面给出一个结果,成功或者失败。现在已经成为了主流的异步编程的操作方式,写进了标准里面。状态Promise有且仅有...

Promise 核心机制详解(promise机制的实现原理)

一、Promise的核心状态机Promise本质上是一个状态机,其行为由内部状态严格管控。每个Promise实例在创建时处于Pending(等待)状态,此时异步操作尚未完成。当异步操作成功...

javascript——Promise(js实现promise)

1.PromiseES6开始支持,Promise对象用于一个异步操作的最终完成(包括成功和失败)及结果值的表示。简单说就是处理异步请求的。之所以叫Promise,就是我承诺,如果成功则怎么处理,失败怎...

取消回复欢迎 发表评论: