MySQL数据库day01

数据存取演变史

1 文本文件

文件路径不一致
数据格式不一致

2 软件开发目录规范

规定了数据文件的大致存储位置
针对数据格式还没有统一

3 数据库服务

统一存储位置个统一数据格式
数据库软件应用史

数据库软件应用史

1数据库服务全部在本地完成

2 数据库服务单独在网络架设(远程数据库服务)

远程数据库服务 数据库集群
1.数据安全性问题
2.服务器负载问题 让多台服务器运行相同的数据库服务

数据库的本质

数据库三字在不同角度下描述的意思不一样
1.站在底层原理的角度 数据库指的是专用用于操作数据的进程 eg:运行在内存中的代码
2.站在现实应用的角度 数据库指的是拥有操作界面的应用程序 eg:用于操作进程的界面

我们不做特殊说明的下提数据库其实都是在指数据库软件
我们也称数据库软件本质是一款cs架构的应用程序
言外之意所有的程序员理论上都可以编写!!!>>>:市面上已经有很多数据库软件

数据库的分类

1关系型数据库

1.数据的组织方式有明确的表结构
2.表与表之间可以建立数据库层面的关系

MySQL、PostgreSQL、MariaDB、Oracle、sqlite、db2、sql server
MySQL:开源 使用最为广泛 数据库学习必学
PostgreSQL:开源 支持二次开发
MariaDB:开源 与MySQL是同一个作者 用法也极其相似
Oracle:收费 安全性极高 主要用于银行及各大重要机关
sqlite:小型数据库 主要用于本地测试(django框架自带该数据库)

2.非关系类数据库

1.数据的组织方式没有明确的表结构 是以k:v键值对的形式组织的
2.数据之间无法直接建立数据库层面的关系

redis、mongoDB、memcache
redis:目前最火 使用频率最高的缓存型数据库
mongoDB:稳定型数据库 最像关系型的非关系型 主要用于爬虫、大数据
memcache:已经被redis淘汰

MySQL简介

1.MySQL版本问题

5.6X:前几年使用频率最高的版本
5.7X:最近尝试迁移的版本(频率+)
8.0X:最新版 功能很强大 但是线上环境几乎不用(本地自己用非常好用)

2.下载与安装

1.访问官网
2.点击DOWNLOADS
3.点击GPL
4.点击community server
5.点击archives
6.点击download

3.解压安装

上述方式下载的压缩包里含有服务端和客户端 支持本地操作

4.主要文件介绍

bin文件夹
	mysqld.exe服务端		mysql.exe客户端
data文件夹
	存取数据
my-default.ini
	默认配置文件

基本使用

1.先启动服务端

可能会报错:拷贝关键信息去百度
	两种报错

2.查找mysqld文件位置

mysqld
	cmd窗口就是服务端 不要关闭

3.再次开启新的cmd窗口

mysql
	直接回车会以游客模式进入 功能很少

4.用户名密码登录

mysql -u用户名 -p密码
	mysql默认管理员账号 用户名是root 密码是空

5.退出

exit
quit   

系统服务制作

1.如何解决每次都需要切换路径查找文件的缺陷

添加环境变量

2.将mysql服务端制作成系统服务(随着计算机的开启而启动 关闭而结束)

1.以管理员身份打开cmd窗口
2.执行系统服务命令
	mysqld --install
3.启动服务端
	1.右键直接点击启动
	2.命令启动
    	net start mysql
1.查看系统服务的命令
services.msc
2.关闭mysql服务端
net stop mysql
3.移除系统服务
1.先确保服务已经关闭
2.执行移除命令
	mysqld --remove

系统服务制作

密码相关操作

1.修改密码

mysqladmin命令
	通用方式:  # 直接在cmd中写
        mysqladmin -u用户名 -p原密码 password 新密码
            第一次修改
              mysqladmin -uroot -p password 123
          	 第二次修改
              mysqladmin -uroot -p123 password 321
	偏门方式(有些版本无法使用):  # 需要先登录
        set password=PASSWORD(新密码);

2.忘记密码

直接重装\拷贝对应文件
先关闭服务端 然后以不需要校验用户身份的方式启动 再修改 最后再安装正常方式启动
1.net stop mysql
2.mysqld --skip-grant-tables
3.mysql -uroot -p
4.update mysql.user set password=password(123) where Host='localhost' and User='root';
5.net stop mysql
6.net start mysql

SQL与NoSQL

数据库的服务端支持各种语言充当客户端 eg:以MySQL服务端为例
MySQL客户端、python代码编写的客户端、java代码编写的客户端 为了能够兼容所有类型的客户端 有两种策略
1.服务端兼容
不合理 消耗数据库服务端资源!!!
2.制定统一标准
SQL语句、NoSQL语句 SQL与NoSQL SQL语句的意思是操作关系型数据库的语法 NoSQL语句的意思操作非关系型数据库的语法 ps:SQL有时候也用来表示关系型数据库 NoSQL也用来表示非关系型数据库

数据库重要概念

下述概念仅仅是为了小白更快的理解 并不是完全准确’‘’
库 文件夹

表 文件夹里面的文件

记录 文件里一行行的数据

show databases; show databases;查看所有的数据库
show tables; 查看所有的表
select * from mysql.user; 查看user表里面所有的记录
“”"
补充
1.SQL语句结束符是分号
;
2.取消SQL语句的执行
\c

针对库的基本SQL语句

1.增

create database 库名;

2.查

show databases;
show create database 库名;

3.改

alter database 库名 charset='gbk';

4.删

drop database 库名;

针对表的基本SQL语句

“”"
查看当前所在的库名
select database();
如果没有切换指定的库 那么默认是NULL
use 库名;
“”"

1.增

create table 表名(字段名 字段类型,字段名 字段类型,字段名 字段类型);

2.查

show tables;
show create table 表名;
describe 表名;  
desc 表名;

3.改

alter table 旧表名 rename 新表名;  # 改表名

4.删

drop table 表名;

针对记录的基本SQL语句

“”"
既然想操作记录 那么肯定的先有库和表
辛辛苦苦一个月 换来的就是一条SQL语句 修改你的账户余额
“”"

1.增

insert into 表名 values(数据,数据);
insert into 表名 values(数据,数据),(数据,数据),(数据,数据);

2.查

select * from 表名;  # *表示查看所有字段
select 字段1,字段2 from 表名;
ps:如果表中字段较多出现了错乱 可以结尾写\G

3.改

update 表名 set 字段名=新数据 where 筛选条件;
updata xmm set name='qq' where  id=1;

4.删

delete from 表名;  # 删除表中所有的数据
delete from 表名 where 筛选条件  # 按照条件删除数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值