数据库简介

"""
本学习笔记来自哔哩哔哩--老男孩Python全栈开发29期全套
https://www.bilibili.com/video/BV1QE41147hU?p=519
主讲:Jason老师。
这里基于Mysql数据库进行讲解
"""

数据的本质

"""
本质其实就是一款集图网络通信的应用程序,它仅仅就是一个基于网络通信的应用程序。数据库的软件其实有很多,如:
关系型数据库:
MySQL, Oracle, db2, access, SQL Server
非关系性数据库
redis, mongodb, memcache
"""
# 关系型
1 数据之间彼此有关系或者约束
2 存储数据的表现形式通常是以表格形式储存
# 非关系型
1 储存数据通常以键值形式存在 key:values

MySQL

"""
任何基于网络通信的应用程序底层用的都是socket - 服务端
- 基于socket通信
- 收发消息
- SQL语句
- 客户端
- 基于socket通信
- 收发消息
- SQL语句
"""

MySQL的安装

"""
在MySQL官网进行下载
"""
# 注明:在IT届,一般都不会轻易的使用最新版本的软件,因为新版本可能会出现各种问题。这里学习阶段推荐安装MySQL5.6版本。(目前企业里MySQL5.6左右的版本居多)

参考网站:https://www.mysql.com/

下载5.6版本即可,如果你下载了其他版本问题也不大,因为sql语句是一样的学

按照教学方式下载,会将服务端和客户端一并下载到本地

为了学习方便我们将服务端和客户端都在本地启动,后期到了公司服务端会专门跑在一台服务器上,所有人基于网络连接服务端操作

Mysql的服务端与客户端

# 服务端
mysqld.exe # 客户端
mysql.exe """
注意:
在前期配置Mysql的时候 cmd终端尽量以管理员的身份运行
windows+r -> cmd 普通模式
搜索cmd右键以管理员身份运行 管理员模式
"""

启动Mysql (windows)

  • 打开cmd终端窗口(用管理员模式打开),切换到mysqld所在bin目录下,输入mysqld启动。
  • 或者在环境变量中配置启动。
"""
常见软件的默认端口号:
MySQL 3306
redis 6379
Mongodb 27017
"""
# MySQL第一次以管理员身份进入是没有密码的 直接回车即可 # 客户端连接服务端完整命令
mysql -h 127.0.0.1 -P 3306 -uroot -p
"""
-h host
-p post
-u user
-p password
"""

环境变量配置级系统服务制作

知识点补充

"""
1 如何查看当前具体进程
tasklist
tasklist | findstr mysqld 2 如何杀死具体进程(必须在管理员模式下的cmd)
taskkill /F /PID PID号
例如:
taskkill /F /PID 25617
"""

环境变量配置

# 每次启动mysqld需要切到对应的文件路径下才能操作太多繁琐
# 将mysqld所在的文件路径添加到系统环境变量中
# 查看当前计算机的运行进程数
services.msc
# 将MySQL制作成系统服务
mysqld --install
# 移除MySQL系统服务
mysqld --remove

设置密码

# mysqladmin -uroot -p原密码 password新密码
该命令直接在终端输入即可 无需进入客户端
"""
mysqladmin -uroot -p123 password 12345678
密码尽量使用自己常用密码
"""

破解密码

"""
你可以将mysql获取用户名和密码校验的功能看成是一个装饰器,装饰在了客户端请求访问的功能上,我们如果将该装饰器移除,那么mysql服务端就不会校验用户名和密码了。
""" # 1 先关闭当前MySQL服务端
# 命令行的方式启动(让MySQL跳过用户名密码验证功能)
mysqld --skip-grant-tables
# 2 直接以物密码的方式连接
mysql -uroot -p
# 3 修改当前用户的密码
update mysql.user set password=password(123456) where user='root' and host='localhost';
"""
真正储存用户表的密码字段,肯定是密文,只有用户自己知道明文是什么,其他人都不知道,这样更加的安全,密码比对也只能比对密文。
"""
# 4 立即将修改数据刷到硬盘
flush privileges;
# 5 关闭当前服务端 然后以正常检验授权表的形式启动

统一编码

"""
MySQL的默认配置文件
my-default.ini (ini结尾的一般都是配置文件)
"""
[mysqld] # 一旦服务端启动立刻加载下面的配置
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql] # 一旦客户端启动立刻加载下面的配置
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES # 需要你自己新建一个my.ini的配置文件 # 验证配置是否真的是自动加载
[mysql]
print('hello world') # 修改配置文件后一定要重启服务才能生效 # 统一编码的配置 无需掌握 直接拷贝即可 # 偷懒 将管理员的用户名和密码也添加到配置文件中
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
user="root"
password=123456
default-character-set=utf8

下篇:基本sql语句

sql学习笔记 - 1 数据库简介的更多相关文章

  1. SQL学习笔记之 数据库基础(一)

    数据库基础 数据库系统的组成:由数据库,数据库管理软件,数据库管理员DBA,支持数据库系统的硬件和软件组成,其中数据库管理员是对数据库进行规划.设计.维护.和监视的专业管理人员,在数据库系统中起着非常 ...

  2. SQL学习笔记——创建数据库显示:文件激活错误,物理文件名不存在>>解决方案

    今天在创建数据库时,跟着老师一步一步的操作创建成功,但出于在厌恶冗长的数据库存储路径,于是,擅自更改了数据filename,让他保存在电脑桌面新建的文件夹,可是一执行就报错了. 老师源码: 1 cre ...

  3. Mysql数据库学习笔记之数据库索引(index)

    什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...

  4. MongoDB学习笔记:MongoDB 数据库的命名、设计规范

    MongoDB学习笔记:MongoDB 数据库的命名.设计规范     第一部分,我们先说命名规范. 文档 设计约束 UTF-8 字符 不能包含 \0 字符(空字符),这个字符标识建的结尾 . 和 $ ...

  5. C#.NET学习笔记1---C#.NET简介

    C#.NET学习笔记1---C#.NET简介 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com -------------- ...

  6. ORALCE PL/SQL学习笔记

    ORALCE  PL/SQL学习笔记 详情见自己电脑的备份数据资料

  7. Linux学习笔记-Linux系统简介

    Linux学习笔记-Linux系统简介 UNIX与Linux发展史 UNIX是父亲,Linux是儿子. UNIX发行版本 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP P ...

  8. Oracle之PL/SQL学习笔记

    自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家 ...

  9. SQL学习笔记

    SQL(Structured Query Language)学习笔记 [TOC] Terminal登录数据库 1.登录mysql -u root -p ; 2.显示所有数据库show database ...

  10. Android学习笔记--Sqlite数据库

    前几天学习了Android中的数据存储,包括文件存储,SharedPreferences存储,还有就是Acndroid中的特色:SQLite数据库存储了.让我比较惊讶的是Android中竟然内嵌了一个 ...

随机推荐

  1. 浅谈Redis与分布式锁

    为什么需要分布式锁 Redis如何实现分布式锁 如何避免死锁? 锁被别人释放怎么办? 锁过期时间不好评估怎么办? Redlock 真的安全吗 为什么要在多个实例上加锁? 为什么大多数实例加锁成功,才算 ...

  2. 微信小程序-自定义tabbar配置及注意事项

    1.选中要创建tabbar组件的目录,右键选定新建Componen 2.然后编写wxml代码和wxss样式 <cover-view class="tab-bar"> & ...

  3. win/ubuntu/centos 安装后台监控工具btop

    之前linux平台进行后台监控一直是简单的看top,但界面太难看而且需要记的缩写太多而且不直观(对于我来说),后面有尝试替换htop,扩展支持了鼠标操作以及直观监控,但是界面还是难看,今天查找了一下发 ...

  4. Vue项目的打包方式(生成dist文件)

    一.相关配置情况一(使用的工具是 vue-cil) 如果是用 vue-cli 创建的项目,则项目目录中没有 config 文件夹,所以我们需要自建一个配置文件:在根目录 src 下创建文件 vue.c ...

  5. Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist:...

    大家都知道Centos8于2021年年底停止了服务,大家再在使用yum源安装时候,出现下面错误"错误:Failed to download metadata for repo 'AppStr ...

  6. RPS网卡多队列

    一体机上传1G文件导致服务器很卡,怀疑是网卡未开启多核多队列导致. 脚本如下 #!/bin/bash # Enable RPS (Receive Packet Steering) read -p &q ...

  7. db2iupgrade / db2ckupgrade failure due to SQL0551N

    db2iupgrade / db2ckupgrade failure due to SQL0551N Troubleshooting Problem db2iupgrade or db2ckupgra ...

  8. php 滑动图片验证生成

    1.话不多说,直接干货,喜欢的希望大家一键三连 <?php namespace App\Model; class VerifyImage { //浮层坐标数组 protected $tailor ...

  9. python setup.py install 安装、删除。

    # python install 安装.卸载 python setup.py install --record files.txt cat files.txt | xargs rm -rf

  10. PO 锁

    SAP NetWeaver Administrator->可用性和监控->资源监控->锁