数据库基础知识介绍(MySQL)
一、什么是数据库
1、数据库概念:数据库(database)是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的api接口用于创建,访问,管理,搜索和复制所保存的数据。
2、rdbms(关系数据库管理系统):
- 能让我们使用表、列和索引实现一个数据库
- 保证各种表的行间的引用完整性
- 自动更新索引
- 解释一个sql查询和组合来自不同表的信息
- sql:结构化查询语言(structured query language),在关系型数据库上执行数据操作、数据检索以及数据维护的标准语言。
二、数据库基本结构
数据库:
—— 数据库是表的集合,带有相关的数据。
—— 表:一个表是多个字段的集合。
—— 字段:一个字段是一列数据,由字段名和记录组成。
数据表:
—— 数据库是由多个数据表构成的
—— 每张数据表存储多个字段
—— 每个字段由不同的字段名及记录构成,每个字段有自己的数据结构及约束条件
数据类型:
——数值类型:
– int:有符号的和无符号的。有符号大小-2147483648~2147483647,无符号大0~4294967295。宽度最多为11个数字- int(11)
– tinyint:有符号的和无符号的。有符号大小-128~127,无符号大小为0~255。宽度最多为4个数
字- tinyint(4)
– smallint:有符号的和无符号的。有符号大小-32768~32767,无符号大小为0~65535。宽度最多为6个数字- smallint(6)
– float(m,d):只能为有符号的。默认为(10,2) – double(m,d):只能为有符号的。默认为(16,4)
– decimal(m,d):只能为有符号的。
——日期和时间类型
– date:yyyy-mm-dd格式,在1000-01-01和9999-12-31之间。
– datetime:yyyy-mm-dd hh:mm:ss格式,位于1000-01-01 00:00:00和9999-12-31 23:59:59 之间。
– timestamp:称为时间戳,在1970-01-01 00:00:00和2037-12-31 23:59:59之间。
– time: 以hh:mm:ss格式, -838:59:59~838:59:59
– year(2|4): 以2位或4位格式存储年份值。如果是2位,1970~2069;如果是4位,1901~2155。
——字符串类型
– char(m):固定长度字符串,长度为1-255。如果内容小于指定长度,右边填充空格。如果不指定长度,默认为1
– varchar(m):可变长度字符串,长度为1-255。定义该类型时必须指定长度
– blob 或text:最大长度65535。存储二进制大数据,如图片。不能指定长度。两者区别: blob 大小写敏感
– tinyblob 和tinytext:最大长度255。不能指定长度。
– mediumblob 或mediumtext:最大长度16777215 字符
– longblob 或longtext:最大长度4294967295 字符
– enum:枚举。例如:enum(‘a’,’b’,’c’)。null 值也可
——约束条件
– 约束是在表上强制执行的数据检验规则
– 用来保证创建的表的数据完整和正确
主键约束:保证表中每行记录都不重复。
主键,又称为”主码”,是数据表中一列或多列的组合。主键约束要求主键列的数据必须是唯一的,并且不允许为空。使用主键,能够惟一地标识表中的一条记录,并且可以结合外键来定义不同数据表之间的关系,还可以加快数据库查询的速度
非空约束:指的是字段的值不能为空。
唯一性约束:要求该列的值必须是唯一的。(1) 允许为空,但只能出现一个空值;(2)一个表中可以有多个字段声明为唯一的;(3) 唯一约束确保数据表的一列或几列不出现重复值。
默认约束:指定某个字段的默认值。如果新插入一条记录时没有为默认约束字段赋值,那么系统就会自动为这个字段赋值为默认约束设定的值。
自增字段:一个表只能有一个自增字段,自增字段必须为主键的一部分。默认情况下从1开始自增。
上一篇: 番茄鸡蛋汤怎么做,包教包会
下一篇: 梅子是青梅吗,你买的青梅真的是梅子吗