什么是数据库?
存数据的仓库
数据库可以在硬盘及内存中存储数据
为啥使用数据库?
之前使用的Excel来进行管理数据,不能存储10w量级的数据
Excel的缺点:
1.管理不了大量的数据(10w量级的数据)
2.并发操作同一个数据表格
3.数据支持高级的操作,比如:分组,连表等
数据库与文件存储的区别:
数据库本质上也是通过文件来存储数据的,数据库的概念就是系统的管理存储数据的文件
数据库介绍:
数据库服务端:存放数据的主机集群
数据库客户端:可以连接数据库的任意客户端
数据库管理员:DBA
数据库基本概念:
库:多表构建一个数据库,本质上就是文件夹
表:多条记录构建一张表,本质就是文件
记录:存放一条条数据,本质上就是文件中的一条条数据记录
数据库分类:
关系型数据库:
1.有表的概念,没一列数据类型会有约束,id(整型),name(字符串类型)
2.以表中一条条记录存储数据
Mysql,maridb ——》用的比较多,免费
SqlServer——》微软,大学,政府(汽车之家)
Oracel——》甲骨文,收费,金融公司,阿里
sqlite——》小型的文件数据库等
非关系型数据库
mecache——》十年前的产品(新浪博客)
MongoDB——》文档型数据库
redis——》微博
最大的区别:
关系型数据库,把数据存放在硬盘中
非关系型数据库,把数据存放在内存中
mysql架构
类似于socket的客户端和服务端
流程:
1.mysql服务端先启动,监听在某一个特定的端口(3306)
2.mysql客户端连接服务端
3.mysql客户端就可以发送相关的操作命令,去操作服务端存储的数据
mysql的安装(windows下)
windows安装:
先去官网(https://dev.mysql.com/downloads/mysql/)
#1、下载:MySQL Community Server 5.7.16
http://dev.mysql.com/downloads/mysql/
#2、解压
如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:C:mysql-5.7.16-winx64
#3、添加环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】
#4、初始化
mysqld --initialize-insecure ### 创建data目录, 初始化的数据
#5、启动MySQL服务
mysqld # 启动MySQL服务
#6、启动MySQL客户端并连接MySQL服务
mysql -u root -p # 连接MySQL服务器
mysql服务端不会阻塞住
制作windows的服务:
"D:mysql-5.7.28inmysqld" --install
修改mysql的密码:
C:Windowssystem32>mysqladmin -uroot -p "原密码" password "新密码"
出现的错误
C:Windowssystem32>mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
如果出现上述错误,代表密码输入错误
常用参数:(********************************)
-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 3307
忘记密码,操作方式:
#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
SQL 指令
- 操作数据库 (***************************************************************)
增
create database 数据库名称 charset utf8;
命名规范:
可以由字母、数字、下划线、@、#、$
区分大小写
唯一性
不能使用关键字如 create select
不能单独使用数字
最长128位
show create database 数据库名;
删
drop database 数据库名称;
改
删除再添加
如果数据库中有数据的话,直接drop会导致数据库中的数据丢失
在线上环境,不能够直接删除数据, 在删除之前,需要进行备份
查
show databases;
使用数据库:
use 数据库名;
- 操作数据表
增
删
改
查
show tables;
- 操作表记录 (*************************************)
增
删
改
查
crud Boy