数据演变史

# 1.单独的文本文件
没有固定的存放位置
没有固定的数据格式
'''程序彼此无法兼容 没有统一的标准'''
# 2.软件开发目录规范
按照文件功能的不同规定了相应的位置
'''文件查找变得统一 但是没有解决格式问题(核心问题)'''
# 3.数据库应用
解决了存放位置和数据格式问题
'''将数据处理部分统一了起来'''

数据库应用发展史

# 1.单机游戏阶段
数据各自保存在各自的计算机上 无法实现远程共享
'''无需要联网'''
# 2.多级游戏阶段
数据统一基于网络保存到某个固定服务器 实现数据共享
'''必须要有互联网'''
'''
集群
如果所有的数据全部储存到一台远程服务器上
安全性就会降低 服务器的压力就会上升
增加服务器数量 数据同步保存 任务均摊
具有相同功能的多个服务器组合到一起 就称之为集群
'''

数据库本质

'''
数据库在微观层面上来说
运行计算机上面专门处理数据的进程
数据库在宏观层面上来说
提供给操作者一个简单快捷键的操作进程软件
'''
# 数据库软件的本质其实也是一款CS架构的软件
既然数据库本质是一款CS架构的软件 也就意味着我们每个会网络编程的程序员理论上来说都可以编写出一款数据库软件
在目前地球上有很多牛逼的程序员 他们都具备编写数据库软件的能力 所以现在市面上其实存在很多数据库软件

数据库分类

"""目前市面上有很多数据库软件 大致可以分为两类"""
1.关系型数据库
关系型:
1.有固定的表结构(最主要的特征)
eg:有固定字段的excel表格
id name gender
2.并且表与表之间可以建立代码层面的关系
eg:用户表与房屋表
用户买房 那么用户数据和房屋数据就应该有关系
常见数据库名称:
MySQL、Oracle、PostgreSQL、MariaDB、sqlite、sql server
MySQL:关系型数据库的代表 开源免费 使用频率极高
Oracle:安全性极高 但是使用和维护收费 使用成本高
PostgreSQL:支持二次开发(自己嫁接、扩展功能)
MariaDB:与MySQL是同一个作者 开发的初衷是作为MySQL的替代品
sqlite:小型数据库 携带方便但功能较少 主要用于本地测试使用
sql server:老牌数据库软件 目前主流不用 2.非关系型数据库
非关系型:
1.没有固定的表结构 数据存取采用K:V键值对的形式(最主要的特征)
{'name':'jason'} {'username':'jason','pwd':123}
2.并且表与表之间无法建立代码层面的关系
常见数据库名称:
Redis、MongoDB、Memcache
Redis:目前最火的非关系型数据库 数据类型丰富 功能强大
MongoDB:最像关系型数据库的非关系型数据库 主要用于爬虫和大数据
Memcache:被redis取代了!!! """
疑问:诸多数据库软件 如何学习?
两大类数据库的操作方式几乎一致 学完一个其他都很容易上手
eg:学习了MySQL 那么学其他关系型数据库很简单
学习了redis 那么学其他非关系型数据也很简单
"""

SQL与NoSQL

"""
数据库服务端支持很多客户端来链接使用
数据库自带的客户端 python代码编写的 java代码编写的 ...
如何让服务端兼容诸多客户端 实现正常交互
方式1:让服务端识别并自动切换对应语言
方式2:统一沟通标准
相较之下方式2更加合理>>>:SQL语句与NoSQL语句 SQL语句
与关系型数据库交互的语言
NoSQL语句
与非关系型数据库交互的语言
"""
SQL有时候用来标识关系型数据库 有时候表示SQL语句
NoSQL有时候用来标识非关系型数据库 有时候表示NoSQL语句

MySQL简介

# 1.版本问题
5.6X:使用最广泛的稳定版本
5.7X:目前正在逐步过渡使用的版本
8.0X:最新版本 战时不投入正常生产环境使用(其实很好用)
'''
版本问题不会影响我们学习 因为SQL语句1是一样的
只不过是底层变化 目前不用考虑
'''
# 2.下载使用
官网:https://www.mysql.com/
1.点击步骤:
downloads
(GPL) Downloads
MySQL Community Server
Archives
选择版本和系统(以5.6.44为例)
点击下载对应的zip压缩包即可
2.解压处理
建议压缩到D或者E、F盘的根目录方便查找
mysql-5.6.44-winx64.zip >>> mysql-5.6.44-winx64 # 3.目录结构
bin文件夹
mysqld.exe 服务端
mysql.exe 客户端
'''学习阶段服务端在本地启动即可'''
data文件夹
存放数据
my-default.ini文件
默认配置文件
README文件
说明书

基本使用

必须要先启动服务端 再启动客户端链接
以D:\mysql-5.6.44-winx64为例 1.以管理员身份运行cmd
切换到bin路径下
D:
cd mysql-5.6.44-winx64\bin
2.启动服务端
mysqld
# 维持cmd窗口不要关闭 重新打开一个新的cmd窗口
3.启动客户端链接服务端
先切换到bin路径下
D:
cd mysql-5.6.44-winx64\bin
然后直接输入mysql即可登录服务端
'''不带用户名和密码 是游客模式(只能体验基本功能)''' """
启动服务端的时候 有些同学的电脑可能会报错
解决策略
拷贝报错信息 百度搜索
mysql启动报错'错误代码'
"""

系统服务

1.我们不想切路径 直接输入命令
2.我们不想自己启动服务端 设置成开机自动启动 # 针对第一个点解决措施就是添加环境变量
将D:\mysql-5.6.44-winx64\bin添加到系统环境变量
# 针对第二个点的解决措施就是编写固定的指令即可
1.先确保之前测试的服务器关闭(直接关闭即可)
2.重新以管理员的身份打开cmd窗口
mysqld --install
# 结果大致显示:... successfully
3.初次启动需要人为干预
net start mysql
4.关闭所有的cmd 随意打开一个cmd窗口
输入mysql即可连接到服务端
"""
如果想要移除系统服务
1.先停止服务端
net stop mysql 管理员身份运行cmd
2.移除系统服务
mysqld --remove
"""

1.打开解压后的文件夹,解压后是没有"data"的,后续会自动导入

2.鼠标右键点击目录“bin”,点击“属性”,将目录bin的“位置”复制下来

3.右键点击桌面上的“此电脑”,点击下面的“属性”;此步骤为设置环境变量,

环境变量添加成功

安装mysql

输入命令:mysqld --install
显示结果:Serxice successfully installed【代表安装成功】

继续输入命令:net start mysql【表示启动mysql】
运行结果:MySQL服务无法启动【不要紧张,有解决办法的哦】

输入命令:mysqld --console[【查看错误,意思是目录下没有data

(1)现在通过命令进入到目录下:例如我的应该是:
(2)D:\MySQL57\mysql-5.7.20-winx64\bin
(3)输入命令: mysqld --initialize-insecure --user=mysql
(4)再输入:net start mysql【此时已启动】

第七步:登陆mysql
(1)输入命令 :mysql -u root –p ==>回车
(2)让输入密码:不用管,直接回车【此时成功登陆mysql】
第八步:设置密码
(1)解释:因为安装的过程中,我们并没有进行密码的设置,因此
第一次登陆才不需要密码;
(2)设置密码:
运行代码:set password for [email protected] = password(‘abc’);
例如:此时是将密码设置为 “abc”;【“abc”所在位置
即为你的密码】
第九步:测试
在mysql里可以建立和查看数据库等基础操作:
运行程序:show databases;【查看所有数据库】
create database Student;【建立一个学生的数据库】

修改密码

1.直接输入mysql登录
默认是游客模式 没有太多操作的权限
2.使用用户名和密码的方式登录
# 学习阶段不用考虑用户管理 直接使用root用户(管理员账号)
mysql -u用户名 -p密码
# 管理员账号登录(第一次登录 没有密码 直接回车即可)
mysql -uroot -p 直接回车
提示输入密码
3.修改管理员密码
方式1:在cmd窗口下直接修改(不要登录进去)
mysqladmin -u用户名 -p原密码 password 新密码
'''第一次无密码修改 -p后面不写即可'''
mysqladmin -uroot -padmin123 password jason123
方式2:登录状态下修改当前用户密码(先登录)
set password=PASSWORD('新密码'); # 最新版不支持
"""
如何区分当前是否是游客模式
可以执行show databases;
结果如果是两条 表示是游客
结果如果是四条及以上 表示是用户
"""

重要概念

库                        类似于                文件夹

表                        类似于                文件

记录                 类似于             文件中一行行数据
"""
show databases; 查看所有的库名称
类似于查看data文件夹内文件夹的名称
"""

操作库的基本SQL语句

# 查
show databases; # 查看所有的库名称
show create database 库名; # 指定查看某个库的信息 # 增
create database 库名; # 改
alter database 库名 charset='gbk'; # 修改字符编码 # 删
drop database 库名;
'''以后进入公司 每个账号都会有权限管理 不可能轻易做到'''

操作表的基本SQL语句

"""
表是存放于库下面的 所以操作表之前 应该先确定库
如何查看当前在哪个库下
select database();
结果如果是NULL表示当前没有切换到任何库下
如何切换到指定库下
use 库名; 强调我们在操作库、表、记录的时候 MySQL默认自带的都不要动
"""
create database 库名;
use 库名;
# 查
show tables; # 查看当前库下所有的表名称
show create table 表名; # 指定查看某个表的信息
describe 表名; # 指定查看表的字段信息 简写 desc 表名; # 增
create table 表名(
字段名称1 字段类型1,
字段名称2 字段类型2
); # 改
alter table 表名 rename 新表名; # 修改表名 # 删
drop table 表名;

操作记录的基本SQL语句

"""
要想操作记录 肯定得先有库和表
"""
# 查
select * from 表名; # 查看表里面所有的数据
select * from 库名.表名; # 查看指定库下面的指定表里面的所有数据
"""
有些表里面的字段太多 展示的时候会错乱 可以考虑逐行展示
select * from 库名.表名\G;
"""
select Host,User from mysql.user # 查看指定字段 # 增
insert into 表名 values(值1,值2); # 单条数据
insert into 表名 values(值1,值2),(值3,值4); # 多条数据 # 改
update 表名 set 字段=新值 where 筛选条件;
update t1 set name='jasonNB' where id=1;
'''将id是1的数据中name字段对应的值改成jasonNB''' # 删
delete from 表名 where 筛选条件;
delete from t1 where id=3;
'''将id是3的数据删除'''
如果不加筛选条件就是删除所有的数据

数据库、MySQL下载与安装、基本SQL语句的更多相关文章

  1. 数据库MySQL经典面试题之SQL语句

    数据库MySQL经典面试题之SQL语句 1.需要数据库表1.学生表Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学 ...

  2. [MySQL数据库之数据库相关概念、MySQL下载安装、MySQL软件基本管理、SQL语句]

    [MySQL数据库之数据库相关概念.MySQL下载安装.MySQL软件基本管理.SQL语句] 数据库相关概念 数据库管理软件的由来 数据库管理软件:本质就是个C/S架构的套接字程序. 我们在编写任何程 ...

  3. my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接

    一.下载 在百度上搜索"mysql-5.6.24-winx64下载" 二.安装 选择安装路径,我的路径“C:\Soft\mysql-5.6.24-winx64” 三.环境配置 计算 ...

  4. 数据库之 MySQL --- 下载、安装 及 概述(一)

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一 . MySql数据库的安装 1.图解MySQL程序结构 ​ 2.双击运行安装程序:以Win32位为例 ...

  5. 《万能数据库查询分析器》实现使用SQL语句直接高效地访问文本文件

    <万能数据库查询分析器>实现使用SQL语句直接高效地访问文本文件 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要    用SQL语句来直接访问文本文件?是在做梦吗? ...

  6. MySQL下载、安装及启动

    介绍 Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之 ...

  7. 如何查找MySQL中查询慢的SQL语句

    如何查找MySQL中查询慢的SQL语句 更多 如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow ...

  8. 如何查找MySQL中查询慢的SQL语句(转载)

    转载自https://www.cnblogs.com/qmfsun/p/4844472.html 如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那 ...

  9. MySQL下载、安装和登录详解

    MySQL是一个小型的数据库管理系统,由于其体积小,速度快,尤其是开放源代码等优点,使得其在开发中得到广泛的使用,本文主要介绍MySQL数据库从下载到安装及通过命令行的使用等. 一.下载部分 下载链接 ...

  10. 何在mysql查找效率慢的SQL语句?

    如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow-queries[=file_name]选项启 ...

随机推荐

  1. Oracle 数据库备份实战

    最近公司的客户希望使用oracle数据库,所以我们只好将数据从mysql数据库迁移到oracle数据库,并对oracle数据库制定了一个备份策略,之前虽然对oracle很熟悉,但做备份策略还是第一次, ...

  2. 学习openldap01

    Linux 下openldap的详细介绍,搭建,配置管理,备份,案例 Ldap  服务应用指南 兼容(5.X&6.X) 1.1  Ldap 目录服务介绍 1.1.1 什么是目录服务(activ ...

  3. 【动态规划】洛谷P1802 5 倍经验日(01背包问题)

    一个洛谷普及-的题目,也是我刚刚入门学习动态规划的练习题. 下面发一下我的思路和代码题解: 我的思路及伪代码: 我的AC图: 接下来上代码: 1 //动态规划 洛谷P1802 五倍经验日 2 #inc ...

  4. Spring官宣网传大漏洞,并提供解决方案

    Spring沦陷了!这样的标题这几天是不是看腻了?然而,仔细看看都是拿着之前的几个毫不相干的CVE来大吹特吹.所以,昨天发了一篇关于最近网传的Spring大漏洞的文章,聊了聊这些让人迷惑的营销文.以及 ...

  5. Linux下的cman中文帮助手册配置

    Linux下的帮助命令man功能很强大,很好用,但显示的结果是英文,有时候看着还是吃力,就想着要是有man的中文显示结果该多好.网上搜寻一番后,终于找到解决方案,很简单,亲测有效.具体步骤如下: su ...

  6. carsim输入输出变量

    来自:https://wenku.baidu.com/view/3405ded5443610661ed9ad51f01dc281e43a5673.html 输出量

  7. PIC16F877A.H头文件详细注释

    /* * Header file for the Microchip  * PIC 16F873A chip * PIC 16F874A chip * PIC 16F876A chip * PIC 1 ...

  8. 付费漫画下载、付费韩漫下载、漫画VIP下载、VIP韩漫下载哪里下

    需要的 来qq:6686496 最近迷上了韩漫(你懂的),主要为了打发时间上班摸鱼,,找了好多网站都是要收费的,就想着试着用爬虫做一个破解. 最简单的第一步,通过url分析出漫画ID.(直接看url就 ...

  9. DOM 小总结

    DOM 是什么 文档对象模型,是针对 HTML 和 XML 文档的一个 API (应用程序编程接口), 描绘了一个层次化的节点树. D: document 当 web 浏览器浏览一个页面的时候,DOM ...

  10. [FireshellCTF2020]ScreenShooter 1

    此题关键在于理清逻辑,本地将url发送给服务器,服务器请求sereenshooter以后将结果返回 所以应该在服务器查看日志. 发现了PhantomJS 引擎一下 <!DOCTYPE html& ...