什么是数据(Data)html
数据就是描述事物的符号记录,描述事物的符号能够是数字,文字,图片等,在计算机中要描述一个事物,就要抽取事物的特征,组成一条条记录.mysql
什么是数据库(DataBase,简称DB)linux
数据库就是存放数据的仓库,只不过如今这个仓库是在计算机存储设备上,按照必定的格式存放ios
数据库中的数据具备较小的冗余度,较高的数据独立性和易扩展线sql
什么是数据库管理系统(Database Management System,简称DBMS)数据库
数据库管理系统就是管理数据和数据库的应用程序windows
数据库管理数据库分为两类:安全
关系型数据库架构
数据和数据之间是有关联和限制的socket
关系型数据库一般就是表结构,因此咱们在使用这一类数据库时第一步须要肯定表的结构
常见的关系型数据库有:MySQL,Oracle,sqlite,db2,sql server
非关系型数据库
一般都是以k,v键值的形式存储数据
常见的有:Redis,MongoDB(文档型数据库,很是接近关系型的非关系型数据库),memcache
注意:在咱们Python的开发中,最常使用的是MySQL数据库
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS(Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL数据库内的数据内容分类
首先一个数据库由不一样大小的库组成,一个库又由不一样大小的表组成,一个表由不一样大小的记录组成
咱们能够将数据库类比成计算机内部的文件系统 库 >>> 文件夹 表 >>> 文件 记录 >>> 文件内一行行的数据叫作一条条的记录 表头:表格的第一行数据 字段:字段名+字段类型
mysql为咱们提供开源的安装在各个操做系统上的安装包,包括ios,linux,windows。
mysql的安装、启动和基础配置 —— linux版本 (https://www.cnblogs.com/Eva-J/articles/9664401.html)
mysql的安装、启动和基础配置 —— mac版本 (https://www.cnblogs.com/Eva-J/articles/9664401.html)
mysql的安装、启动和基础配置 —— windows版本 (https://www.cnblogs.com/Eva-J/articles/9669675.html)
MySQL也是一个基于socket通讯的c/s架构的软件,因此他也具备服务端和客户端,服务端的启动程序是bin文件夹下的mysqld,客户端的启动程序是bin文件夹下的mysql
在运行MySQL前最好将bin目录添加到系统环境变量下,这样咱们能够直接打开程序
首先咱们使用管理员身份打开cmd终端
服务端的打开:直接输入mysqld
客户端的打开:重开一个cmd终端窗口,输入mysql -h 127.0.0.1 -p 3306 -uroot -p,若是是本机IP和端口号可省略
客户端的退出:exit或者quit
查看全部的数据库:show databases
查看某个进程:退出数据库以后在终端输入tasklist |findstr +名称
杀死某个进程:taskkill /F /PID+进程号
注意:1.MySQL在初始登陆的时候是没有密码的,直接回车便可,
2.MySQL中的sql语句,是以分号结束的,不敲分号默认没有输完,客户端还会继续让咱们输入
制做环境变量
将启动文件所在的路径添加到系统的环境变量中
注意:配置完以后一段要从新启动mysql服务端及cmd终端
将mysqld制做成系统服务
制做系统服务 你的cmd终端必定要是管理员身份
mysqld --install
修改密码
没有密码的状况下
mysqladmin -uroot -p password 123
有密码的状况下
mysqladmin -uroot -p123 password 123456
当命令输入错误的时候 能够用\c取消前面的命令 cancel
破解密码
先将已经启动的服务端停掉
1.跳过用户名和密码的验证功能 启动服务端
mysqld --skip-grant-tables 启动服务端 跳过受权表
2.修改管理员用户对应的密码
update mysql.user set password=password(123) where user='root' and host='localhost';
3.关闭当前服务端 从新以校验用户名密码的方式启动
4.正常以用户名密码的方式 链接mysql服务端
配置文件
\s查看 mysql服务端简单配置
一般状况下配置文件的后缀都是ini结尾
mysql自带的配置文件不要修改
可是你能够新建一个配置文件 my.ini
mysql服务端在启动就会自动加载你的my.ini配置文件内的配置
修改完配置文件以后须要先将服务端中止 从新启动 才能生效
修改了配置文件必定要重启服务端
1. 操做文件夹(库) 增:create database db1 charset utf8; 查:show databases; 查全部
show create database db1; 查单个 改:alter database db1 charset latin1; 修改编码 删除: drop database db1; 删库 2. 操做文件(表) 先切换到文件夹下:use db1; 指定库
select database(); 查看当前所在的库 增:create table t1(id int,name char); 查:show tables; 查看某个库下面的全部的表
show create table t1; 查看单个表的信息
desc t1; 查看表中的描述信息 改:alter table t1 modify name char(3); alter table t1 change name name1 char(2); 删:drop table t1; 3. 操做文件中的内容(记录) 增:insert into t1 values(1,'egon1'),(2,'egon2'),(3,'egon3'); 能够插入多个 查:select * from t1; 查询全部的字段信息
select name from t1; 查询全部字段的指定信息
select name from t1 where id=1; 查询带有筛选条件的字段信息 改:update t1 set name='sb' where id=2; 修改数据的一个字段信息,能够修改多个 删:delete from t1 where id=1; 删除指定条件的数据
delete from t1; 删除表中的全部数据 清空表: delete from t1; #若是有自增id,新增的数据,仍然是以删除前的最后同样做为起始。 truncate table t1;数据量大,删除速度比上一条快,且直接从零开始, *auto_increment 表示:自增 *primary key 表示:约束(不能重复且不能为空);加速查找
什么是存储引擎
不一样的数据应该具备不一样的处理机制
MySQL中的存储引擎
Innodb:默认的存储引擎,支持事务,外键,行锁,因此相对来讲比较安全.查询速度较myisam慢,可是更加的安全
myisam:MySQL5.1版本以前的默认存储引擎,不包括5.1,它是存储记录和文件的标准方法,它不是事务安全的,而且不支持外键
memory:内存引擎(数据都存放在内存中),断电或者关闭服务端,数据即消失
blackhole:不管存什么都立马消失(黑洞)
各个不一样的引擎生成的文件区别
Innodb:表t1,生成两个文件,第一个是表结构文件,第二个是真实数据
myisam:表t2,生成两个文件,第一个是表结构文件,第二个是真实数据,第三个是表索引
memory:表t3,生成一个文件,只有一个表结构文件,它的真实数据存储在内存中
blackhole:表t4,生成一个文件,只有一个表结构文件,而且没有真实数据,存进来什么立马消失