今日内容概要

  • 数据演变史
  • 数据库软件的本质
  • 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. tomcat启动卡在了 At least one JAR was scanned for TLDs yet contained no TLDs 的根本原因与解决办法

    1.前言 有时候服务器开启时启动不了,卡在了 org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned fo ...

  2. CSS命名规范整理

    基于网易NEC修改后,整理的命名规范 单行写完一个选择器定义 便于选择器的寻找和阅读,也便于插入新选择器和编辑,便于模块等的识别.去除多余空格,使代码紧凑减少换行. 如果有嵌套定义,可以采取内部单行的 ...

  3. Jarvis OJ--PHPINFO

    一道浙大的题目 题目地址:http://web.jarvisoj.com:32784 拿到这道题目, 是一道反序列化的题目,题目源码很简单,当创建OowoO()这个类的对象时,会自动调用__const ...

  4. 微服务架构 | 3.1 Netflix Eureka 注册中心

    目录 前言 1. Eureka 基础知识 1.1 Eureka 模型中的服务器与客户端 1.2 Eureka 的 30s 启动机制 1.3 Eureka 为什么注册服务的 IP ,而不是主机名 1.4 ...

  5. windows server 服务器安装jenkins 并通过git拉取代码实现自动发布到IIS

    Jenkins是一个开源软件,可以通过一定的配置进行自动构建,测试,部署等功能. 首先,服务器应安装好 .NET Core环境和JDK, 下载Jenkins安装包 https://www.jenkin ...

  6. Java中生成一个唯一值的方式

    现总结几种生成一个唯一值的方式 第一种:采用nanoTime() // 理论上存在重复的可能,可以在后面再加上一个随机字符串 Random r = new Random(); for (int i = ...

  7. VictoriaMerics学习笔记(2):核心组件

    核心组件 1. 单机版 victoria-metrics-prod 单一二进制文件 读写都在一个节点上 作者推荐单机版 特性 merge方式配置 通过HTTP协议提供服务 内存限制(防止OOM) 使用 ...

  8. POSIX之共享内存

    shm_write.c: #include<stdio.h> #include<stdlib.h> #include <stdlib.h> #include < ...

  9. 什么是VPC

    1 什么是私有网络(VPC) 私有网络是一块可用户自定义的网络空间,您可以在私有网络内部署云主机.负载均衡.数据库.Nosql快存储等云服务资源.您可自由划分网段.制定路由策略.私有网络可以配置公网网 ...

  10. GAN入门

    1 GAN基本概念 1.1 什么是生成对抗网络? 生成对抗网络(GAN, Generative adversarial network) 在 2014 年被 Ian Goodfellow 提出. GA ...