数据:数:数字信息 据:属性 对一系列对象的具体属性的描述的集合
数据库:数据库就是用来组织(各个数据之间是有关联,是按照规则组织起来的),存储和管理(对数据的增、删、改、查)数据的仓库
数据库是企业的重要信息资产,再使用数据库时,要注意(查和增无所谓,但是删和改,要谨慎)
数据库管理系统(DBMS):实现对数据的有效组织,管理和存取的系统软件
mysql:
数据库是一个系统,是一个人机系统,硬件,os,数据库,DBMS和数据库的用户共同组成
用户是通过DBMS(各种数据库软件)来操作数据
数据库的分类:
mysql:关系型数据库
redis或es:非关系型数据库
关系型数据库:存储数据的结构是一个二维表格
表:行 列
行:记录,用来描述一个对象的信息
列:字段,用来描述对象的一个属性
关系型数据库:mysql(中小型的数据并发请求)oracle(大数据还是用它)sql-server mariaDB postgresql
关系型数据库当中,表里面的数据是关联的,表和表之间的数据也是关联起来
面试题:
多表关联,最多可以关联几张表?
三张表
非关系型数据库:保存不是一张表格,key----->value 键值对来保存数据 ky32=12
redis:缓存性数据库
es:索引型数据库
MongDB:文档型数据库
既然有关联,查询速度相对来说,关系型数据库查询速度更慢一些。非关系型数据库可以支持高并发读写,对海量数据依旧保持着高效率的存储和访问
mysql数据库的存储引擎:
5.5之间:MYISAM,不支持事务和外键的存储引擎。适用于读的多,写得少
5.6之后默认的存储引擎:innodb,可以支持事务,外键,行级锁定的存储引擎,可以支持高并发性能的应用
事务:在数据库当中,一个或者多个操作组成的数据操作的序列
这些操作要么全部成功,失败一个就全部不执行。确保数据一致性和完整性
事务的特点:原子性。数据库最小工作单位,要么全部执行成功,要么全部不执行只要有一个操作失败,整个执行的序列都会被回滚(就是一个都不生效),哪怕是完成的操作也会被撤销
一致性。事务执行前后,数据库的完整性约束不能被破坏。只有在满足所有的约束条件情况下,事务才能被提交
隔离性。事务的执行是相互隔离,一个事务的执行不能受到其他执行事务的干扰。并发事务之间相互隔离,防止数据不一致的情况发生
持久性。事务一但提交,他所做的所有修改会被永久的保存在数据库中。即使系统崩溃,提交的数据也不丢失。确保数据库的始终处于一致性的状态,确保数据的完整和一致
mysql的名词:
mysql的语句规范:
在数据库系统中,sql不区分大小写(但是建议大写)。语句不区分大小写,但是表名严格区分大小写
sql语句可以单行也可以多行书写,但是默认都以;结尾
关键词不能跨行或者简写
子语句通常位于独立行,便于编辑,提高可读性
数据库的命名规则:
必须以字母开头,后面可以包含数据,特殊数字:# _ $
不要使用mysql的保留字:table select
数据库名 表名 用户名严格区分大小写
数据库的字符类型:
int:4个字节,用来存储整数
char:固定长度的的字符串,用来存储定长的字符串
varchar:可变长度的字符类型,存储可变长度的字符串(无限制的可以随便写,也要根据类型的长度)
float(m,d):单精度浮点 存储浮点数,m表示总位数,d表示小数位
double(m,d):双精度浮点数,存储浮点数,m也是总位数,d表示小数位
text:用于存储大文本数据,文档,或者长字符串
image:二进制存储图像,图片,多媒体
decimal(5,2):用于存储固定精度的小数,其中5表示总位数,2表示小数位
date:存储日期:yyyy-mm-dd
datetime:存储日志yyyy-mm-dd hh:mm:ss
timestamp:和datetime格式一致,可以自动更新为当前的时间戳
重点:
char varchar
‘’char 4个字节 ‘’1个字节
‘ab’‘ab’4个字节 ‘ab’3个字节
‘abcd’‘abcd’4个字节 ‘abcd’5个字节
char无论你是否定义了值,都会占用固定长度的字节大小
varchar:在保存时,varchar 14 实际长度是5,就占用5个,加一个隐藏符,实际上占了6个
varchar比char节省磁盘空间,但是varchar读写速度比较慢
都是字符串类型:一定要用单引号
sql语句的分类
DDL:数据定义语言,用于创建数据的对象,创建库 表 索引
CREATE 创建
DROP 删除
ALTER 修改
null和空格的区别:
null什么都没有,对象没有任何的描述信息
空格:也是字符
DML:数据操作语言,对表中的数据进行管理
select
update 更新
insert 添加
delete 删除
select * from:一块使用
DQL:查询数据记录
select
DCL:数据控制语言,设置或者更改数据库用户或者用户的权限
GRANT:赋予权限
REVOKE:取消权限
TCL:事务控制语句,管理数据库当中的事务
commit:确认提交事务
ROLLBACK:事务提交之后无法回滚
savepoint:保存点,可以回滚。
默写:
1、select * from ky32 limit 2;
2、select * from ky32 limit 1,3;
3、update ky32 set passwd=passwd(‘111’) where id = 6;
4、select distinct name,sroce from ky32;
5、desc ky32;
6、alter table ky32 modify column name varchar(15);
7、alter table ky32 add birth date;
8、inset into ky32 values(9,’test’,96,password(‘1111’),now());
9、alter table ky32 change birth birthday char(15);