初识数据库
一、数据库
1、什么是数据(Data)
描述事物的符号记录成为数据,描述事物的符号既可以是数字,也可以是文字,图片,声音等等。
2、什么是数据库(DataBase,简称DB)
• 数据库就是存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式从存放的
• 过去人们将数据存放在文件柜里,但是现在数据庞大,已经不再适用
• 数据库是长期存放在计算机内,有组织、可共享的数据集合
• 数据中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并为各种用户共享
3、为什么要用数据库
1、将文件和程序存在一台机器上是很不合理的
2、操作文件是一件很麻烦的事
4、什么是数据库管理系统(DBMS)
1、关系型数据库
数据与数据之间可以有关联和限制的
关系型数据库通常都是表结构,也就意味着你在用关系型数据库的时候,第一步就是要确定表结构
★字段有特定的类型:
存名字用字符串
存密码用数字
存生日用日期
关系型数据库软件:MySQL,Oracl,Sqlite,Sql Server
2、非关系型数据库
通常都是以k,v,键值对的形式存储数据
涉及到的软件有:redis,mongodb(文档型数据库,非常接近关系型的非关系型数据),memcache
二、MySQL
MySQL其实可以把它看成一款支持远程操作文件的软件
库:文件夹
表:文件
记录:文件内一行行的数据叫做一条条的记录
Ⅰ.安装MySQL
★提醒事项:在IT行业不要轻易尝试最新版本的软件
1.输入网址:https://www.mysql.com/
2.点击DOWNLOADS进入下载页面,选择Community
3.进入后,选择第一个MySQL Community Server,点击后进入版本选择
4.这边我们版本号选择的是5.6
5.进入下载页面后,我们选择5.6.X版本号,操作系统选择我们当前的操作系统,一般会自动根据你的环境自动配置,然后就是根据电脑的操作系统的位数进行下载了。
6.点击download过后,进入到如下页面,可以不点别的,直接点击No thanks, just start my download
7.这样我们就算下载成功了,最后会拿到一个压缩包,把它解压到自己想要解压的盘里,这样我们的MySQL就算安装成功了。
解压后:
Ⅱ.启动MySQL服务端
1.点击windows菜单键盘,输入cmd,跳出命令提示符,右击命令提示符,选择以管理员身份运行
2.输入MySQL所在的路径,打开你之前安装MySQL所在的位置,我们打开mysql-5.6.45-winx64,再打开bin,然后复制路径。
3.切换到cmd,输入D: , 切换到D盘目录下,输入cd + 刚刚复制的路径,切换到这个路径下
4.输入mysqld,即可开启,服务端进程
Ⅲ.启动MySQL客户端
1.win+R打开运行,输入cmd,进入命令控制符
2.与MySQL服务端启动步骤一样,切换路径到我们bin文件夹下,输入mysql,这样就成功启动了客户端了。
Ⅳ.配置环境
上面我们完成了,启动MySQL的服务端和客户端,但是每次都要重复一样的步骤,会显得很繁琐,所以接下来我们要进行环境配置,这样会非常的方便。
1.右击桌面上的此电脑,选择“属性”,点击“高级系统设置”
2.点击“环境变量”
3.双击击系统变量中的“path”
4.点击“新建”,将MySQL中的bin文件夹下的路径,复制黏贴进去,点击“确定”
这样我们环境配置就完成了,然后为了避免每次都要先启动MySQL服务端,再启动客户端这样麻烦的步骤,我们需要将MySQL添加到服务中去
5.用管理员身份打开“命令控制符”(上面有具体步骤),打开后弹出界面,输入‘mysqld --install’,这样就添加到服务中了
6.win+R打开命令控制符,输入‘services.msc’,打开服务,找到“MySQL”,右击“启动”
这样一系列的配置,我们在cmd中可以直接输入‘mysql’,可以直接连接到MySQL服务端
Ⅴ.MySQL客户端功能
1.客户端登录
mysql在初始登录的时候,是没有密码的,直接回车即可,mysql中的sql语句,是以分号结束的,不敲分号,默认你没有输入完,客户端还会让你继续输入
输入‘mysql -uroot -p’就实现了登录
ps:不输入用户名和密码 默认就是访客模式登录,所用到的功能就很少
2.客户端退出登录
exit;
quit;
3.查看所有的数据库
4.修改密码
没有密码的情况下
mysqladmin -uroot -p password 123
有密码的情况下
mysqladmin -uroot -p123 password123456
ps:当命令输入错误的时候,可以用\c取消前面的命令 cancel
5.破解密码
先将已经启动的服务端停掉
① 跳过用户名和密码的校验功能,启动服务端
mysqld --skip-grant-tables; 启动服务端 跳过授权表
② 修改管理员用户对应的密码
update mysql.user set password=password(123) where user='root' and host='localhost';
③ 关闭当前服务端,重新以校验用户名密码的方式启动
④ 正常以用户名密码的方式 连接mysql服务端
6.配置文件
\s查看 mysql服务端简单配置
通常情况下配置文件的后缀都是ini结尾
mysql自带的配置文件不要修改
但是你可以新建一个配置文件 my.ini
mysql服务端在启动就会自动加载你的my.ini配置文件内的配置
修改完配置文件之后需要先将服务端停止 重新启动 才能生效
修改了配置文件一定要重启服务端
三、数据库的基本操作
1.库 类似于文件夹
增
create database db1;
查
show databases; 查所有
show create database db1; 查单个
改
alter database db1 charset='gbk'; 修改编码
删
drop database db1; 删库
2.表
在创建表的时候 需要先指定库
指定库: use 库名
查看当前虽在的库: select database()
增
create table userinfo(id int,name char);
查
show tables; 查看某个库下面的所有的表
show create table userinfo;
desc userinfo; <==> describe userinfo;
改
alter table userinfo modify name char(32);
删
drop table userinfo;
3.记录
先创建一个库或者指定一个已经存在的库
切换到该库下 创建表
然后再操作记录
create database db1;
create table userinfo(id int,name char(32),password int);
增
insert into userinfo values(1,'jason',123); 插入单条数据
insert into userinfo values(1,'jason',123),(2,'egon',123),(3,'tank',123); 插入多条数据
查
select * from userinfo; 查询所有的字段信息
select name from userinfo; 查询指定字段信息
select id,name from userinfo where id=1 or name=tank; 带有筛选条件的字段信息
改
update userinfo set name='kevin' where id=1; 修改数据的一个字段信息
update userinfo set name='jason',password=666 where id=1; 修改数据的多个字段
删
delete from userinfo where id =1; 指定删符合条件的数据
delete from userinfo; 将表中的数据全部删除
四、存储引擎
不同的数据应该有不同的处理机制
mysql存储引擎
innodb:默认的存储引擎,查询速度较myisam慢,但是更安全
myisam:mysql老版本用的存储引擎
memory:内存引擎(数据全部存在内存中)
blackhole:无论存什么,都立马消失(黑洞)