文章目录
- 1 概述
- 1.1 MySQL相关概述
- 1.2 数据模型
- 1.3 SQL分类
- 2 数据库设计-DDL
- 2.1 约束
- 2.2 字段
- 3 数据库操作-DML
- 3.1 增加(insert)
1 概述
1.1 MySQL相关概述
数据库:英文为 DataBase,简称DB,它是存储和管理数据的仓库。
数据库管理系统(DataBase Management System,简称DBMS)
SQL(Structured Query Language,简称SQL):结构化查询语言,它是操作关系型数据库的编程语言
MySQL提供两个版本:商业版本(MySQL Enterprise Edition);社区版本(MySQL Community Server)
1.2 数据模型
关系型数据库(RDBMS)
概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库。
二维表,指的是由行和列组成的表
二维表的优点:
- 使用表存储数据,格式统一,便于维护
- 使用SQL语言操作,标准统一,使用方便,可用于复杂查询
1.3 SQL分类
SQL语句根据其功能被分为四大类:DDL、DML、DQL、DCL
分类 | 全称 | 说明 |
---|---|---|
DDL | Data Definition Language | 数据定义语言,用来定义数据库对象(数据库,表,字段) |
DML | Data Manipulation Language | Language数据操作语言,用来对数据库表中的数据进行增删改 |
DQL | Data Query Language | 数据查询语言,用来查询数据库中表的记录 |
DCL | Data Control Language | 数据控制语言,用来创建数据库用户、控制数据库的访问权限 |
2 数据库设计-DDL
2.1 约束
约束名 | 描述 | 关键字 |
---|---|---|
非空约束 | 限制该字段值不能为null | not null |
唯一约束 | 保证字段的所有数据都是唯一、不重复的 | unique |
主键约束 | 主键是一行数据的唯一标识,要求非空且唯一 | primary key |
默认约束 | 保存数据时,如果未指定该字段值,则采用默认值 | default |
外键约束 | 让两张表的数据建立连接,保证数据的一致性和完整性 | foreign key |
主键自增 | 1、 每次插入新的行记录时,数据库自动生成id字段(主键)下的值 ;2、具有auto_increment的数据列是一个正数序列开始增长(从1开始自增) | auto_increment |
2.2 字段
字段名 | 解释 | 备注 |
---|---|---|
tinyint | 微整型 | tinyint unsigned:就是无符号,只能插入正整数,范围就是0~255 |
datetime | 年月日时分秒 | 长日期:包括年月日时分秒信息 |
date | 年月日 | 短日期:只包括年月日信息 |
char | String 类型的数据定义 | 1、char长度不可变;例如:定义char[10]和varchar[10],存进去‘csdn’,char占的长度为10,除了字符csdn’外,后面跟六个空格;2、char存取数度比varchar快,因为长度固定,方便程序存储与查找;3、但是char为此付出空间的代价,因为其长度固定,所以会有多余的空格占位符占据空间,以空间换取时间效率,而**varchar是以空间效率为首位;4、char的存储方式是,英文字符(ASCII)占1个字节,一个汉字占两个字节 |
varchar | String 类型的数据定义 | 1、varchar长度可变;定义char[10]和varchar[10],存进去‘csdn’,char占的长度为10,而varchar就立马把长度变为4;2、取数据的时候,char类型要用trim()去掉多余空格,varchar不需要;3、varchar的存储方式是,对每个英文字符占用2个字节,汉字也占用2个字节。 |
3 数据库操作-DML
DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增、删、改操作。
- 添加数据(INSERT)
- 修改数据(UPDATE)
- 删除数据(DELETE)
3.1 增加(insert)
- insert into 表名 (字段名1, 字段名2) values (值1, 值2);