MySQL_基础


DDL

DML

DQL

函数

索引

     1.概念和应用

     2.原理

     3.执行计划

事务

     1.概念和应用

     2.事务隔离和锁

   (Sql 的优化:对索引的优化)

【数据库ACID的隔离性】


Mysql数据库【适用中小型、大型网站应用】  --- 【oracle---大型]

  1.关系型数据库:业务数据库,时效性高,数据的同步操作安全!

     是可以通过面向对象的形式设计数据模式。

     W3C标注牛SQL语法

  2.非关系型数据库:NoSQL【数据仓库】



什么是数据库

1.DBMS

2.数据库


库和表的关系

库:一组数据表的集合,mysql当中可以建若干库。

按照数据容量:24W TB

单张表:1024个字段;4000W+的数据

并发: 150+

建库

在MySql当中,字段内容是区分大小写的,其他的大小写不敏感!

切换库:要使用某一张表,首先需要先选中该表所在的库。

    1:当没有选中库的时候,会报一个no database chosed!

    2:也可以直接加库名和表名来执行!【在不选中某个库的情况下,执行操作】

建表:创建数据表语句

字段:列

字段的数据类型:

1.数值   Mysql多个   【Oracle 只有一个 number】

     tiniint \ smallint \mediumint\ int(11) \bigint \double(7,2)\float\

2.字符串 

     char:索引快,非空间,上线容量小

     varchar:索引相对慢,省空间,上线容量大

3.时间

   DateTIME: yyyy-MM-dd hh:mm:ss

   TIMESTAMP:yyyy-MM-ddhh:mm:ss

   Varchar/bigint:1970-1-1 0:0:0 --- 当前时间的毫秒数

4.NULL

   1.null 代表没有

   2. null 不可以参与数值运算,否则结果是null

   3.MySQL 中: 0\null = false;1=true;

属性

1.用于设置当前字段的特征

2.

UNSIGNED :只能是正数

zerofill:用0填充

主键:auto_increment,整型主键的自增长。默认是1

    Oracle:需要自己创建序列。

null和 not null:当前列是否为空。不为空,必须有值。

Default默认值:给该列指定默认值。可以和not null 配合使用。

表类型【数据引擎】

                事务处理          数据行锁定      外键约束    全文索引   表空间大小

MyISAM:不支持(高并发)    不支持          不支持          支持        较小


InnoDB:支持                    支持             不支持     不支持    较大:约2倍

note:约束,最好不要用!

全文索引:针对于子字符串

MyISAM:数据仓库用,数据归档,不需要频繁修改的数据,可以作为数据增量表的引擎。

InnoDB:针对于需要频繁修改,且操作量极大的数据。主要作用:保障数据安全。

数据版本号

Version:数据版本号

逻辑删除:is_delete;。



InnoDB是不可以直接做:数据迁移的!(即冷备份,不能直接copy文件)

但:MyISAM 是可以通过copy文件实现。

主键:用于标识当前数据行的字段。需要具备唯一性。可以使用不重复的整数,也可以使用不重复的字符串,如UUID。(全局唯一ID字符串)——使用格林威治时间进行重新编码,获得唯一的值。但是UUID并非真的唯一。【并发如果同一时刻取值,会出现相同值】

{如果一定要用,可以通过 + 一个随机值 来尽可能避免重复!}


一个表中至少有一个主键!


javachengx

---用户体验度。最优2-7S之间,是到服务器,业务处理+数据库+其他中间件,所有的时间是:2 - - 7秒的时间。


乐观锁--软删除

事务很重要的,但不一定需要使用!


Version:批号。

事务:并发使用。


数据迁移问题!

scott工具?

反引号:· 可加可不加;在数字键1 tab键上面,不是单引号

用于区分关键字,如果不是关键字,可以不加!

单引号:是字符串,不区分双引号和单引号。

posted @ 2020-03-22 23:11  小海_macro  阅读(130)  评论(0编辑  收藏  举报