今日内容概要

  • 数据演变史
  • 数据库软件的本质
  • MySQL简介
  • 下载与安装
  • 基本配置
  • 基本SQL语句

内容详细

1.数据演变史

# 1.单独的文本文件
没有固定的存放位置和格式
文件名:user.txt userinfo.txt data.txt
数据格式:jason|123 tony~123 kevin$123
"""程序彼此之间无法兼容""" # 2.软件开发目录规范
规定了文件名和存储位置
"""文件的查找变得简单了 但并没有解决核心问题""" # 3.数据库阶段
规定了文件的存储位置和数据格式
"""目前正在使用的阶段 解决了核心问题"""

2.数据存储发展史

# 1.单机游戏阶段
数据各自保存在各自的计算机上 无法实现共享 # 2.多机游戏阶段
数据统一保存在某个固定的服务器上(计算机) 实现数据共享
前提:必须有网络
'''为了数据的安全 还会采用集群策略来分担风险'''

3.数据库的本质

# mysql数据库管理软件是一个cs架构的套接字程序
该程序的基本流程就是客户端提交命令给服务端运行,然后服务端将结果返回给客户端,所以说白了数据库管理软件如mysql本质就是一个远程执行命令的套接字程序,数据库管理软件提供的这套命令称之为sql # 本质也是一款cs架构的软件
既然数据库本质是一款cs架构的软件 也就意味着我们每个人都可以编写一个数据库软件
在目前地球上有很多牛逼的程序员 他们都具备编写数据库软件的能力 并且目前市面上真的有很多款数据库软件 """
数据库在狭义层面上来说
指的是处理数据的底层程序 数据库在广义层面上来说
指的是操作这些底层程序的便捷应用软件 其实学习数据库很多时候学习的是配套的数据库软件
"""

4.数据库的分类(重点)

# 市面上有很多数据库软件 但是大致就分为两类
1.关系型数据库
MySQL、Oracle、PostgreSQL、MariaDB、sqlite、sql server、db2 MySQL:开源免费 使用非常规范
Oracle:收费 维护成本高 大型公司可能会使用
PostgreSQL:支持二次开发
MariaDB:MySQL的替代产品(并且有自己的特性)
sqlite:小型数据库(django框架自带该数据库) 2.非关系型数据库
Redis、mongoDB、memcache Redis:目前最火的缓存数据库 具有很多数据结构 功能强大
mongoDB:文档型数据库 可以用在大数据和爬虫领域
memcache:已经被redis淘汰 """
1.两类数据库的区别
关系型数据库
拥有固定的表结构 并且表与表之间可以建立代码层面的关系 非关系型数据库
没有固定的表结构 数据存储采用的是K:V键值对的形式 2.这么多数据库如何学习
两大类数据库操作逻辑基本一致 每一类学习一个基本就可以掌握所有
关系型学MySQL
非关系型学redis、mongodb
"""

5.SQL与NoSQL的由来

# 数据库的服务端为了能够兼容不同类型的客户端实现数据交互
所以规定了统一的交互方式: 关系型数据库>>>:SQL语句 非关系型数据库>>>:NoSQL语句 """NoSQL有时候也表示 非关系型数据库"""

6.MySQL下载

# 1.主要版本
5.6:使用频率较高的版本
5.7:目前正在过渡的版本
8.0:目前最新的版本
"""
不同的版本主要区别在于底层的逻辑 SQL语句几乎是一模一样的
学习阶段可以使用 5.6的版本(如果已经下载了其他版本也没问题)
""" # 2.下载
mac:https://www.cnblogs.com/Dominic-Ji/articles/15402755.html
linux:博客置顶文章 windows:
01 官网:https://www.mysql.com/
02 点击页面 DOWNLOADS
03 下拉页面 找到并点击 MySQL Community (GPL) Downloads
04 找到 MySQL Community Server
05 点击 Archives 选择版本下载压缩包(客服端 服务端)

7.基本使用

# 目录介绍
bin文件夹
mysqld.exe 服务端
mysql.exe 客服端 data文件夹
存储使用过程中需要保存的数据 my-default.ini
配置文件 redadme
说明文件 # 基本使用
"""
一定要先启动服务端再启动客户端
前期在操作的时候最好使用管理员cmd操作
""" 1.环境变量的配置
2.直接输入 mysqld 启动服务端(当前cmd窗口不要关闭 充当服务端)
"""
如果首次启动报错:
由于找不到MSVCR100.dll,无法继续执行代码。... 到官网下载对应缺失的文件:
https://cn.dll-files.com/
下载完成后是压缩包形式
解压文件到目录:
C:\Windows\System32 一般缺少的文件有两个 分别下载两个即可:
MSVCR100.dll MSVCP100.dll
"""
3.开设一个新的cmd窗口操作客户端
输入 mysql # 游客模式登陆
输入 mysql -u用户名 -p密码 # 账号登录(本地使用)
输入 mysql -hIP地址 -P端口号 -u用户名 -p密码 # 完整命令
"""第一次登录 root用户没有密码 直接连续回车即可"""

8.系统服务

# 将MySQL的服务端制作成系统服务 开机自启动 关机自关闭
1.先关闭之前的服务端
2.查看当前计算机系统服务列表
services.msc
3.以管理员身份运行cmd并制作系统服务
输入 mysqld --install # 仅仅是添加到了系统服务 第一次需要手动启动
4.启动服务
方式1:鼠标右键选择启动即可
方式2:命令行方式启动
net start mysql """
停止服务:
net stop mysql 移除系统服务
mysqld --remove
"""

9.密码相关(了解)

# 针对管理员用户需要设置密码
方式1:直接在cmd窗口内使用mysqladmin命令
mysqladmin -uroot -p原密码 password 新密码
eg:
mysqladmin -uroot -p password 123
mysqladmin -uroot -p123 password 666 方式2:直接在登录状态下修改当前登录用户的密码
set password=PASSWORD('密码') # 忘记密码如何解决(了解)
方式1:前期数据库里面也没有数据 干脆重来!!!
方式2:稍作了解
1.关闭服务端
2.以跳过授权表的方式重新启动服务端
只需要提供用户名就可以登录
mysqld --skip-grant-tables
3.以管理员身份登录
mysql -uroot -p
4.修改管理员用户密码
update mysql.user set password=password(123) where user="root" and host="localhost";
5.关闭服务端再正常启动
ctrl + C
net start mysql
6.使用修改之后的密码登录

10.重要概念介绍

# 什么是数据(Data)
事物的状态 # 什么是记录
文件夹里面的文件里面的一行行内容 # 什么是表
文件夹里面的文件 # 什么是库(DataBase,简称DB)
文件夹 # 什么是数据库管理系统(DataBase Management System 简称DBMS)
管理数据的套接字软件,CS架构 # 什么是数据库服务器
运行有DBMS服务端的计算机,该计算机对内存和硬盘要求都相对较高

11.基本SQL语句

"""SQL语句的结束必须使用分号!!!"""

# 1.如何查看所有的数据库名称
show databases; # 会有一个临时产生在内存的库:information_schema # 2.如何查看所有的表名称
use 库名; # 切换库(类似于双击了文件夹)'''
show tables; # 查看当前库目录下所有表名 # 3.如何查看所有的记录
select * from 表名;
如果内容较多展示补全出现错乱的情况 可以在语句后面加\G

12.针对库的SQL语句

"""辛辛苦苦一个月 换来的就是一条SQL语句"""
# 增
create database 数据库名; # 查
show databases; # 查看所有的库名
show create database 数据库名; # 定向查看某个库 # 改
alter database 数据库名 charset='gbk'; # 删
drop database 数据库名;

13.针对表的SQL语句

"""
要想操作表必须得先有库
1.先创建库
create database db1;
2.查看当前所在的库名
select database();
3.切换库
use bd1;
""" # 增
create table 表名(字段名1 字段类型1,字段2 字段类型2); # 查
show tables; # 查看当前库下面所有的表名
show create table 表名; # 查看指定的表信息
describe 表名; # 查看表的具体信息(常用) 简写: desc 表名; # 改
alter table 原表名 rename 新表名; # 修改表名
alter table 表名 change 原字段名 新字段名 新类型; # 同时修改字段名和类型
alter table 表名 modify 字段名 新字段类型; # 修改字段类型 # 删
drop table 表名;

14.针对记录的操作

"""
得先确定库和表
""" # 增
insert into 表名 values(数据,数据,数据); # 单条数据
insert into 表名 values(),(),(); # 多条数据 # 查
select * from 表名; # 查询表中所有的数据 # 改
update 表名 set 字段名='新数据' where 筛选条件; # 删
delete from 表名 where 筛选条件;

15.字符编码问题

# 查看MySQL内部默认的编码情况
\s # MySQL默认的配置文件>>>:mydefault.ini
1.拷贝默认的配置文件并且重新命名为my.ini 2.清空my.ini文件信息并拷贝固定的配置信息
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8 3.重启MySQL服务端
cmd窗口 执行:
net stop mysql
net start mysql

MySQL数据库初识、下载使用(针对库、表、记录的增删改查)的更多相关文章

  1. mysql--对库,表基本操作语句,增删改查

    1.对数据库的操作 1.选择数据库 USE 数据库名 2.创建数据库 create database 数据库名 charset utf8; 可以由字母.数字.下划线.@.#.$ 区分大小写 唯一性 不 ...

  2. mysql对库,表及记录的增删改查

    破解密码 #1.关闭mysqlnet stop mysqlmysql还在运行时需要输入命令关闭,也可以手动去服务关闭 #2.重新启动mysqld --skip-grant-tables跳过权限 #3m ...

  3. Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查

    本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...

  4. Django项目的创建与介绍.应用的创建与介绍.启动项目.pycharm创建启动项目.生命周期.三件套.静态文件.请求及数据.配置Mysql完成数据迁移.单表ORM记录的增删改查

    一.Django项目的创建与介绍 ''' 安装Django #在cmd中输入pip3 #出现这个错误Fatal error in launcher: Unable to create process ...

  5. 第二百七十六节,MySQL数据库,【显示、创建、选定、删除数据库】,【用户管理、对用户增删改查以及授权】

    MySQL数据库,[显示.创建.选定.删除数据库],[用户管理.对用户增删改查以及授权] 1.显示数据库 SHOW DATABASES;显示数据库 SHOW DATABASES; mysql - 用户 ...

  6. django-orm框架表单的增删改查

    08.14自我总结 django-orm框架 一.orm基本配置 1.创建django项目 命令行:cmd先去到django创建目录,然后输入django-admin startproject dja ...

  7. Online Coding开发模式 (通过在线配置实现一个表模型的增删改查功能,无需写任何代码)

    JEECG 智能开发平台. 开发模式由代码生成器转变为Online Coding模式                      (通过在线配置实现一个表模型的增删改查功能,无需一行代码,支持用户自定义 ...

  8. vue.js带复选框表单的增删改查

    近段时间由于公司项目要求,前端开始使用VUE框架进行开发,最近刚开始学习,做了一个表单的增删改查,和大家分享一下. 页面模型代码设计如下 <template> <div id=&qu ...

  9. 利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包含增删改查、JavaBean反射原理,附源码)

    最近看老罗的视频,跟着完成了利用Java操作MySql数据库的一个框架类JdbcUtils.java,完成对数据库的增删改查.其中查询这块,包括普通的查询和利用反射完成的查询,主要包括以下几个函数接口 ...

  10. 利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包括增删改查、JavaBean反射原理,附源代码)

    近期看老罗的视频,跟着完毕了利用Java操作MySql数据库的一个框架类JdbcUtils.java,完毕对数据库的增删改查.当中查询这块,包含普通的查询和利用反射完毕的查询,主要包含以下几个函数接口 ...

随机推荐

  1. 老旧业务重构案例——IM系统如何设计

    一年半之前刚来到这个团队,便遭遇了一次挑战: 当时有个CRM系统,老是出问题,之前大的优化进行了4次小的优化进行了10多次,要么BUG重复出现,要么性能十分拉胯,总之体验是否糟糕!技术团队因此受到了诸 ...

  2. 灵雀云开源网络插件Kube-OVN 1.4.0 版发布!支持跨集群容器网络、NetworkPolicy 日志

    从 1.4 开始 Kube-OVN 支持将多个 Kubernetes 集群容器网络打通,不同集群之间的 Pod 可以通过 Pod IP 直接互相通信.本版本还支持 ACL 日志,可以记录因 Netwo ...

  3. 基于Jenkins+Maven+Gitea+Nexus从0到1搭建CICD环境

    在传统的单体软件架构中,软件开发.测试.运维都是以单个进程为单位. 当拆分成微服务之后,单个应用可以被拆分成多个微服务,比如用户系统,可以拆分成基本信息管理.积分管理.订单管理.用户信息管理.合同管理 ...

  4. class、抽象类、接口区别

    Java 抽象类 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 由于抽象类不 ...

  5. Android函数抽取壳的实现

    0x0 前言 函数抽取壳这个词不知道从哪起源的,但我理解的函数抽取壳是那种将dex文件中的函数代码给nop,然后在运行时再把字节码给填回dex的这么一种壳. 函数抽取前: 函数抽取后: 很早之前就想写 ...

  6. leetcode 986. 区间列表的交集

    问题描述 给定两个由一些 闭区间 组成的列表,每个区间列表都是成对不相交的,并且已经排序. 返回这两个区间列表的交集. (形式上,闭区间 [a, b](其中 a <= b)表示实数 x 的集合, ...

  7. 小白也能看懂的Redis教学基础篇——做一个时间窗限流就是这么简单

    不知道ZSet(有序集合)的看官们,可以翻阅我的上一篇文章: 小白也能看懂的REDIS教学基础篇--朋友面试被SKIPLIST跳跃表拦住了 书接上回,话说我朋友小A童鞋,终于面世通过加入了一家公司.这 ...

  8. 611. Valid Triangle Number

    Given an array consists of non-negative integers, your task is to count the number of triplets chose ...

  9. 学习axios必知必会(1)~axios基本介绍、axios配置、json-server接口模拟工具

    一.axios基本介绍 1.axios(前端最流行的 ajax 请求库) 特点: ① 基于 xhr + promise 的异步 ajax 请求库 ② 浏览器端/node 端都可以使用 ③ 支持请求/响 ...

  10. gin框架中设置信任代理IP并获取远程客户端IP

    package main import ( "fmt" "github.com/gin-gonic/gin" ) func main() { gin.SetMo ...