MySQL(1)

    声明:

    本系列笔记的许多脚本操作命令皆是基于ubuntu系统终端的。


    1.自学

    字符串函数、数学函数、日期时间函数、类型转换函数.


    2.数据库优点与分类

    数据库系统解决的问题:持久化存储,优化读写,保证数据的有效性.

    当前使用的数据库,主要分为两类:

    (1)文档型,如sqlite,就是一个文件,通过对文件的复制完成数据库的复制。

    (2)服务型,如mysql、postgre,数据存储在一个物理文件中,但是需要使用终端以tcp/ip协议连接,进行数据库的读写操作。


    3.E-R模型

    E表示entry,实体;R表示relationship,关系。一个实体转换为数据库中的一个表,关系描述两个实体之间的对应规则,包括一对一、一对多、多对多;关系(即属性)转换为数据库表中的一个列 。

    在关系型数据库中一行就是一个对象。


    4.三范式

    经过研究和对使用中问题的总结,对于设计数据库提出了一些规范,这些规范被称为范式

    说明:后一个范式,都是在前一个范式的基础上建立的

    (1)第一范式(1NF):列不可拆分。

    即每一列不可拆分为多列。

    (2)第二范式(2NF):唯一标识。

    每条数据应该拥有自己的唯一标识,从而能被准确查找到。

    (3)第三范式(3NF):引用主键。

    唯一标识即是主键,当外部想要引用某条数据时,必须通过主键引用。


    5.数据完整性

    一个数据库就是一个完整的业务单元,可以包含多张表,数据被存储在表中。在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,包括数据字段的类型、约束。

    (1)数据字段类型

    在mysql中包含的数据类型很多,这里主要列出来常用的几种

    数字:int(整型),decimal(浮点型);字符串:char(定长字符型),varchar(非定长字符型),text(超长文本型);日期:datetime;布尔:bit。

decimal(5,2)    //5表示最多5位数,其中小数位最多两位
1.2        //符合
1000.21        //不符合
char(8)        //为定长,如果字符位不够8位,则自动以空格补齐
varchar(8)        //为非定长,只要字符数不够8位即可
gb-2312/utf-8          //两种编码方式,一般推荐使用国际编码标准utf-8
bit        //bit为布尔型,存储只有一位,为0或1
bit(5)        //此时存储位有5位

    (2)约束

    主键primary key;唯一标识,不可重复。。

    非空not null;

    惟一unique;也是唯一标识,不过可用于普通的多列。

    默认default;某条数据的某列若未填写,则自动被修改为默认数据。

    外键foreign key。


    6.MySQL客户端和服务端的交互

    客户端输入命令,服务端接收并运行命令,产生结果后将结果显示给客户端。

原文地址:https://www.cnblogs.com/wangchongzhangdan/p/9409615.html