数据库

一 什么叫数据库

  数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。

  根据存储模型划分,数据库类型主要可分为:网状数据库(Network Database)、关系数据库(Relational Database)、树状数据库(Hierarchical Database)、面向对象数据库(Object-oriented Database)等。商业应用中主要是关系数据库,比如Oracle、DB2、Sybase、MS SQL Server、Informax、MySQL等。

   

  RDBMS 指的是关系型数据库管理系统。

  RDBMS 是 SQL 的基础,同样也是所有现代数据库系统的基础,比如 MS SQL Server, IBM DB2, Oracle, MySQL 以及 Microsoft Access。

  表是相关的数据项的集合,它由列和行组成。

二 数据库在python全栈中的位置。

  

三 什么叫SQL

  

sql是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。

在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持sql。

<1> 在数据库系统中,SQL语句不区分大小写(建议用大写) 。但字符串常量区分大小写。建议命令大写,表名库名小写;

<2> SQL语句可单行或多行书写,以“;”结尾。关键词不能跨多行或简写。

<3> 用空格和缩进来提高语句的可读性。子句通常位于独立行,便于编辑,提高可读性。

1
2
SELECT FROM tb_table
            WHERE NAME="YUAN";

<4> 注释:单行注释:--

               多行注释:/*......*/

<5>sql语句可以折行操作

四  mysql的基本操作

  c 取消指令

  s 查看配置信息,包含默认的字符编码

五  将mysql做成系统服务。(查看方法:windows下,运行,打开services.msc)

  mysql ---install

  mysql --remove

  在cmd中也可以这样操作:

  net start mysql

  net stop mysql

六 设置mysql的配置信息

  

六 存储引擎 

1、存储引擎其实就是如何实现存储数据,如何为存储的数据建立索引以及如何更新,查询数据等技术实现的方法。

2、MySQL中的数据用各种不同的技术存储在文件(或内存)中,这些技术中的每一种技术都使用不同的存储机制,索引技巧,锁定水平并且最终提供广泛的不同功能和能力。在MySQL中将这些不同的技术及配套的相关功能称为存储引擎。

七 存储引擎的分类

  myisam:

    isam:索引顺序存取方法(ISAM, Indexed Sequential Access Method),可以连续地(按照他们进入的顺序)或者任意地(根据索引)记录任何访问。

    每个MyISAM在磁盘上存储成三个文件,每一个文件的名字均以表的名字开始,扩展名指出文件类型。

    .frm文件存储表定义;

    ·MYD (MYData)文件存储表的数据;
    .MYI (MYIndex)文件存储表的索引。
     myisam的叶子节点保存的是数据记录的地址。
    
  innodb:
    InnoDB表类型可以看作是对MyISAM的进一步更新产品,它提供了事务、行级锁机制(相对应myisam,对表进行操作时,整张表都会被锁住)和外键约束的功能。mysql5.6以后的默认存储引擎。
      innodb 主键的叶子节点保存着完整的数据记录。
      辅助索引的叶子节点保存着主索引的值。
  
  memory:
    这种类型的数据表只存在于内存中。它使用散列索引,所以数据的存取速度非常快。因为是存在于内存中,所以这种类型常应用于临时表中。
八 事务
  MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!
  • 在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。
  • 事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。
  • 事务用来管理 insert,update,delete 语句

  一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性)、Consistency(稳定性)、Isolation(隔离性)、Durability(可靠性)

  • 1、事务的原子性:一组事务,要么成功;要么撤回。
  • 2、稳定性 :有非法数据(外键约束之类),事务撤回。
  • 3、隔离性:事务独立运行。一个事务处理后的结果,影响了其他事务,那么其他事务会撤回。事务的100%隔离,需要牺牲速度。
  • 4、可靠性:软、硬件崩溃后,InnoDB数据表驱动会利用日志文件重构修改。可靠性和高速度不可兼得, innodb_flush_log_at_trx_commit 选项 决定什么时候吧事务保存到日志里。

九  mysql中空值和Null值

  空值和null值是不一样的。

  举个例子,银行有个客户表,小明没有办卡,小明就是null值。小明办了卡,没存钱,对应位置就是空值。

原文地址:https://www.cnblogs.com/654321cc/p/7693297.html