数据库简介

"""
本学习笔记来自哔哩哔哩--老男孩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. mysql报错:MySQL server has gone away

    一.报错提示: 二.报错原因: 原因一: 一种可能是发送的 SQL 语句太长,以致超过了 max_allowed_packet 的大小,如果是这种原因,你只要修改 my.cnf,加大 max_allo ...

  2. java 实现读取本地日志文件列表并在浏览器上显示

    import org.springframework.core.io.Resource; import org.springframework.core.io.UrlResource; import ...

  3. webpack从零开始打造react项目(更新中...)

    创建项目 创建文件夹 webpack-test  使用编辑器打开文件夹,我们初始化管理包 npm init -y 生成一个默认的 pageage.json 文件 要想创建react项目,思考我们之前使 ...

  4. Reactor 模式线程模型

    根据Reactor的数据量和处理资源池线程数量,可以分为3钟典型实现 单Reactor单线程 单Reactor 多线程 主从Reactor 多线程

  5. Linux下mysql安装教程

    一 环境准备 1.检查是否已经安装过mysql,执行命令 [root@localhost /]# rpm -qa | grep mysql 从执行结果,可以看出我们已经安装了mysql-libs-5. ...

  6. Chtholly Tree 学习笔记

    前言 珂朵莉树 (Chtholly Tree) 是一种简单优美的数据结构,就像 Chtholly 一样可爱.暴力即优美. 适用于一些有区间赋值操作的序列操作题. Chtholly Tree 的本质是把 ...

  7. ES6 - 参数默认值

    1.形参初始值, 具有默认值的参数,一般位置要靠后(潜规则) function add(a,b,c=10){ return a + b + c; } let resutl = add(1,2); // ...

  8. rpm制作(简)

    yum -y install gcc prec-devel openssl-devel zlib-devel yum -y install rpm-build #生成工作目录 rpmdev-setup ...

  9. CentOS 7.9 环境下部署 Docker 服务

    sudo setenforce Permissive sudo vi /etc/selinux/config SELINUX=permissive sudo systemctl stop firewa ...

  10. Delphi中纤程的使用

    首先我们来看看纤程的定义 纤程(来自百科): 纤程是Windows为了将Unix服务程序更好的移植到Windows上而创建的, 线程是在Windows内核中实现的,纤程是在用户模式下实现的,内核对纤程 ...