数据库是什么
字面意思:存储数据库的仓库
为啥使用使用数据库
之前使用的excel来进行管理数据
excel的缺点
- 只能管理少量的数据,管理不了大量的数据(10w量级的数据)
- 不能两个人同时操作一个数据表格
- 数据安全问题
数据库支持高级的操作,比如分组,连表等
数据库分类
关系型数据库
对每一列的数据类型都有一个约束。
MySQL:用的比较多,是免费的
sqlserver: 微软的,要收费(商业版)
oracle:甲骨文,收费,金融公司用的较多,阿里
sqlite:自己玩,没有公司再用,小型的文件数据库
他们的命令都差不多
非关系型数据库
没有对列的数据类型做一个约束
redis:分布式缓存,微博,以key和values 的形式存储
mongodb文档型数据库
关系型和非关系型的最大的区别
关系型数据库把数据存在文件中(硬盘)
非关系把数据存在内存中,redis解决了内存断电消失的问题
MySQL的架构
类似与socket的客户端和服务端
流程:
- MySQL服务端先启动,监听在某一个特定的端口(3306)
- MySQL客户端连接数据库服务端
- MySQL客户端就可以发送相关的操作命令,去操作服务端存储数据
MySQL的安装
此处省略
登录MySQL
启动和关闭服务器
net start mysql # 启动服务器
net stop mysql # 关闭服务器
修改密码
mysqladmin -u root -p password
# 回车之后他会让你输入密码再次回车输入新密码,再次回车确认新密码
登录常用参数
-u :表示用户名
-p :表示密码
-P :表示连接的端口号,默认是3306
-h :表示连接的主机名或IP
mysql -u root -p -h 127.0.0.1 -P 3306
忘记密码
- 关闭mysql
- 在cmd中执行:mysqld --skip-grant-tables
- 在cmd中执行:mysql
- 执行如下sql:
update mysql.user set password=password('') where user = 'root';
flush privileges;
- tskill mysqld #或taskkill -f /PID 7832
- 重新启动mysql
库操作
新建库
create database + 库名;
create database test;
删除库
程序员必修:从删库到跑路
drop database +库名;
drop database test;
查看库
show databases;
这里的databases一定要加s,说明它是复数
show databases;
修改库
数据库不能修改,只能修改编码方