Mysql 数据库

Mysql数据库

数据:数字信息:属性,对一系列对象的具体属性的描述的集合。

数据库:数据库就是用来组织(各个数据之间是有关联的,按照规定组织起来的),存储和管理(对数据的增,删,改,查)数据的仓库

数据库是企业的重要信息资产,在使用数据库时,要注意(查和增,无所谓,删和改,要谨慎!)

数据库管理系统(DBMS)实现对数据的有效组织,管理和存取的系统软件

Mysql

Mysql 数据库_第1张图片

数据库的组成

数据库是一个系统,是一个人机系统,由硬件,os操作系统,数据库系统,DBMS和数据库的用户共同组成

用户是通过DBMS(各种数据库软件)来对数据库进行操作

数据库的分类

Mysql:关系型数据库

Redis:非关系型数据库

Es:索引型非关系型数据库

关系型数据库:存储数据的结构是一个二维表格

表:由行和列组成

行:记录,用来描述一个对象信息

列:字段,用来描述对象的具体信息

关系型数据库:mysql(中小型的数据并发请求,用的比较多因为免费)oracle(大数据量使用它) sql-server   mariaDB    postgresql

关系型数据库当中,表里面的数据是关联的,表和表之间的数据也是关联起来

面试题

多表关联,最多可以关联几张表

最多三张表,再多就会降低查询速度

非关系型数据库,保存不是一张表格,key---->value 键值对来保存数据,一个键对应一个值

Redis  缓存性的数据库

Es:索引型数据库。

文档型:MongDB

既然有关联,查询速度相对来说,关系型数据库查询速度慢一点,非关系型数据库可以支持,高并发读写,对海量数据依旧保持高效率的存储和访问。

Mysql数据库的存储引擎

5.5版本之间,MYISAM不支持事务和外键的存储引擎,适用于读的多,写的好

5.6版本之后默认的存储引擎:innodb,可以支持事务,外键,行级锁定的存储引擎。

支持高并发性能的应用

事务:在数据库当中,一个或者多个操作组成的数据库操作的序列

这些操作要么全部成功,失败一个就全部不执行,为什么提出这个概念?是为了确保数据一致性和完整性。

事务在数据库中的特性特点:四个性质

原子性

它是数据库最小的工作单位,要么全部执行成功,要么全部不执行,只要有一个操作时间,整个执行的序列都会被回滚,也就是一个也不生效,哪怕是完成的操作也会被撤销。

一致性

事务执行前后,数据库的完整性约束不能被破坏,只有在满足所以得约束条件情况下,事务才能被提交

隔离性

事务的执行是相互隔离,一个事物的执行不能受到其他执行事务的干扰,并发事务之间互相隔离,防止数据不一致的情况发生

持久性

事务一旦提交,他所做的所有修改会被永久的保存在数据库中,即使系统崩溃,提交的数据也不会丢失,确保数据库的始终处于一致性的状态,确保数据的完整和一致

Mysql的名词

  1. 数据库:database
  2. 表:table 行:row 列:column
  3. 索引:index
  4. 视图:view
  5. 存储过程:procedure
  6. 触发器:trigger
  7. 用户:user
  8. 权限:[privilege]

在mysql中的语句规范

在数据库系统中,sql不区分大小写,但是祂建议大写,语句不区分,表名是严格区分大小写的。

Sql语句可以单行,也可以多行书写,但是默认都以分号结尾。推荐多行写,

select  *  from   test1; :打印全部行列

Select  name  from  test1; :打印test1的name那一列  

关键词不能跨行或者简写的

子语句通常位于多路,便于编辑,提高可读性

Mysql 数据库_第2张图片

数据库的命名规则

必须以字母开头,后面可以包含数据,特殊字符:# ,_ ,$  .

不要使用mysql的保留字:table  select

数据库名  表名  用户名 严格区分大小写

数据库的字符类型

Id  int  name  varchar

  1. int类型:会占4个字节,用来存储整数,范围很大
  2. Char类型:只能存储固定长度的字符串,用来存储长的字符串
  3. Varchar类型:可变长度的字符类型,存储可变长度的字符串(也不是无限制的可以随便写)
  4. Float(m,d):单精度浮点存储浮点数,m表示总位数,d表示小数位
  5. Double(m.d):双精度浮点数,存储浮点数,m表示总位数,d表示小数位
  6. Text:用于存储大文本数据
  7. Image:二进制图像,图片,多媒体(视频)
  8. Decimal (5,2):黛丝模 用与存储固定精度的小数,其中5表示总位数,2表示小数位
  9. Date:存储日期,如果要存储日期 yyyy-mm-dd(要以年-月-日中间要有-表示出来)
  10. Datetime:存储日志  YYYY-MM-DD  

重点:

Char占4个字节   varchar占1个字节

Char :无论你是否定义了值,都会占用固定长度的字节大小,写了8个就占8个字节

Varchar :在保存时,varchar  14  实际长度5 就占用5个加一个隐藏符空格,实际占用6个,所以这个省磁盘空间,但varchar读写速度比char慢

都是字符串类型,一定要用单引号

Sql语句的分类

DDL:数据定义语言,用于创建数据的对象,创建库,表,索引

CREATE:创建 ,  DROP:删除  ,  ALTER修改,  都属于DDL语言

Show  global variables  like  ‘port’;

Show  databases;

Use  mysql;

Show  tables;

Describe  user\G;      \G:纵向查看

create tables c32 (id int (4) not null,name varchar(12) not null,sroce decimal(5,2),passwd char(48),primary key(id));

Null和空格的区别

Null什么都没有 ,对象没有任何的描述信息

空格:也是字符。

DML:数据操作语言,对表中的数据进行管理,

Select   

Update:更新

Insert:添加

Delete:删除 ,对表进行删除

DQL:查询数据记录

Select

DCL;数据控制语言,设置或者更改数据库用户或者用户的权限

GRANT

REVOKE

TCL:事务控制语句,管理数据库当中的事务

Commit:确认提交事务   

一旦提交后反悔可以 : ROLLBACK,:事务提交之后无法回滚,

Savepoint :检查点(保存点),可以回滚。

总结

你可能感兴趣的:(数据库,mysql)