day33 数据库

数据库是什么

字面意思:存数据的仓库

为什么使用数据库

之前使用的是Excel来进行管理数据,

​ 1.管理大量的数据(10W量级的数据)

​ 2.并发操作同一个数据表格

​ 3.数据支持高级的操作,比如:分组,连表等

数据库的分类

-关系型数据库

​ 对每一列的数据类型都会有约束,id(整型),name(字符串类型)

​ maridb,MySQL ----->用的比较多,免费

​ SqlServer ------>微软,大学,政府

​ Oracle ------->甲骨文,收费,金融公司,阿里

​ sqlite ------>小型的文件数据库,自己玩玩

-非关系型数据库

​ 对数据类型没有约束

​ memcache ------->十年前的产品(新浪博客)

​ mongodb --------->文档型数据库

​ redis --------->微博

​ {“name”:‘Nick’}

​ {“name”:12}

区别

​ 关系型数据库,把数据存在硬盘中

​ 非关系型数据库,把数据存在内存中

MySQL的架构

​ 类似于 socket的客户端和服务端

​ 流程:

​ 1.MySQL服务端先启动,监听在某个特定的端口(3306)

​ 2.MySQL客户端连接服务端

​ 3.MySQL客户端就可以发送相关的操作命令,去操作服务端存储的数据

MySQL的安装(Windows)

Windows安装

先去官网下载

1.下载

2.解压

​ 如果想要让MySQL安装在指定目录,n那么就将解压后的文件夹移动到指定目录

3.添加环境变量

右键计算机——》属性——》高级系统设置——》高级——》环境变量——》在第二个内容框中找到 变量名位path的一行,双击——》将MySQL的bin目录路径追加到变量值中,用;分割

4.初始化

mysql --initialize-insecure#创建data目录,初始化的数据

5.启动MySQL服务

mysqld#启动MySQL服务

6.启动MySQL客户端并连接MySQL服务

mysql -uroot -p#连接mysql服务器

mysql服务端不会阻塞住

制作Windows的服务:

"D:\mysql-5.7.28\bin\mysqld" --install

修改mysql的密码

mysqladmin -uroot -p "原密码" password "新密码"

出现的错误

​ mysqladmin -uroot -p

​ Enter password:

​ ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

如果出现上述错误,代表密码输入错误

mysql> set password =password('root');#给当前数据库设置密码

常见参数(*******************************)

-u:user 用户名

-p:password 密码

-h: host 主机名或IP mysql -uroot -p -h 192.168.1.10

-P : port 默认是3306 mysql -uroot -p -h 192.168.1.10 -P 3306

忘记密码,操作方式

1.关闭mysqld的服务

2.在cmd中执行:mysqld --skip-grant-tables 不用密码就可以登录,绕过密码验证验证的权限

3.在cmd中执行: mysql ==》mysql -uroot -p

4.执行如下sql指令:

​ update mysql.user set authentication_string=password('') where user='root';

​ flush privileges;(一定要操作)

5.tskill mysqld #或 taskkill -f/PID 7832

6.重新启动mysql服务

初始mysql

-操作数据库

create database 数据库名称 charset utf8;

命名规范:

可以由字母、数字、下划线、@、$

区分大小写

唯一性

不能使用关键字如 create select

不能单独使用数字

最长128位

drop database 数据库名称;

删除再添加

如果数据库中有数据的话,直接drop会导致数据库中的数据丢失

在线上环境,不能直接删除数据,在删除之前,需要进行备份

show databases;

show create database 数据库名;

select database(); # 查看当前数据库

使用数据库

use 数据库名;

posted @ 2019-10-28 22:11  风啊风啊  阅读(128)  评论(0编辑  收藏  举报