数据库分类
1.关系型数据库
mysql 开源免费
oracle
MariaDB
2.非关系型数据库
Redis Memcached 缓存数据库
MongDB 爬虫用的多
二者特点:
关系型数据库
拥有固定的表结构,表与表之间可以建立关系
非关系型数据库
没有固定的表结构,以K:键值对的形式存储数据
存储引擎
存储引擎其实就是数据库存储数据的方式
查看存储引擎 命令 show engines
MyISAM
'''
MySQL5.5及之前的版本默认的存储引擎,它相对InnoDB的存取速度更快了,但是,相对InnoDB数据不够安全.
它不支持事务,行锁,外键;支持表锁
'''
InnoDB
'''
MySQL5.6及之后的版本默认的存储引擎,它相对MyISAM的存取速度更慢了,但是,相对MyISAM数据更安全.
它支持事务,行锁,外键;
'''
MEMORY
# 内存
'''数据存放在内存中,一旦断电,数据立马丢失,重启服务端数据就没了,不能长期保存数据'''
create database db4;
create table t1 (id int) engine=MyISAM;
create table t2 (id int) engine=InnoDB;
create table t3 (id int) engine=MEMORY;
'''
不同的存储引擎的区别:
1. MyISAM引擎产生3个文件
.frm >>> 表结构
.MYD >>> 存数据
.MYI >>> 存索引 >>> 目录
2. InnoDB 产生2个文件
.frm >>> 表结构
.ibd >>> 表结构+数据
3. MEMORY产生1个文件
.frm >>> 表结构
'''
常见的命令
* 启动服务端 net start mysql;
* 停止服务端 net stop mysql; #ctrl+c也可以
* 停止客户端 exit
4 查看mysql 的版本信息
status
常见命令
show databases; 查看数据库中所有的库
use 库名 ; 切换到这个库下
select database(); 查看当前在那个库下
select * from 表名 查看表中所有数据
库的操作
create database 库名 #创建一个库 show create database 库名 #查看库的编码 alter database 库名
charset = 'gbk' # 修改库的编码 drop database 库名 删除库
表的操作
#查看表 show tables #查看库下所有的表 desc 表名 查看表结构 #增加表 create table 表名 #删除表 drop table
表名 #修改表 alter table 旧表名 rename 新表名
数据操作
#添加数据 insert into 表名 values (几个字段添几个数据) #修改数据 update 表名 set 字段名=修改的数据 where id
= 1 where 后面加条件 #删除数据 delete from 表名 where id = 1 where 后面加条件 #在后面增加字段 alter
table 表名 add 字段名 数据类型 add是固定写法 #修改字段名 alter table 表名 change 旧字段名 新字段名 数据类型
#修改字段的数据类型 alter table 表名 modify 字段名 数据类型 #删除字段 alter table 表名 drop 字段名