数据库—1(数据类型及约束)

一、数据库分为:关系型数据库、非关系型数据库

关系型数据库中核心元素
    数据行
    数据列
    数据表
    数据库(数据表的集合)

常用的关系型数据库:
    Oracle
    Microsoft SQL Server
    MySQL
    SQLite
非关系型数据库: 称为NoSQL(Not Only SQL ),意为不仅仅是SQL,对NoSQL 最普遍的定义是“非关联型的”,强调 Key-Value 的方式存储数据。

常用的非关系型数据库:
MongoDB
Redis

二、SQL
SQL的作用是实现数据库客户端和数据库服务端之间的通信,SQL就是通信的桥梁。
SQL语言主要分为:
    DQL:数据查询语言,用于对数据进行查询,如select
    DML:数据操作语言,对数据进行增加、修改、删除,如insert、update、delete
    TPL:事务处理语言,对事务进行处理,包括begin transaction、commit、rollback
    DCL:数据控制语言,进行授权与权限回收,如grant、revoke
    DDL:数据定义语言,进行数据库、表的管理等,如create、drop
说明: 对于程序员来讲,重点是数据的增、删、改、查,必须熟练编写DQL、DML,能够编写DDL完成数据库、表的操作。SQL语言不区分大小写

三、数据类型和约束
1.数据类型   

整数:int,bit
    小数:decimal
    字符串:varchar,char
    日期时间: date, time, datetime
    枚举类型(enum)

数据类型说明:
    int 整型数,可以用unsigned 修饰
    decimal表示浮点数,如 decimal(5, 3) 表示共存5位数,小数占 3 位.
    char表示固定长度的字符串,如char(3),如果填充'ab'时会补一个空格为'ab ',3表示字符数
    varchar表示可变长度的字符串,如varchar(3),填充'ab'时就会存储'ab',3表示字符数
    对于图片、音频、视频等文件,不存储在数据库中,而是上传到某个服务器上,然后在表中存储这个文件的保存路径.
    字符串text表示存储大文本,当字符大于4000时推荐使用, 比如技术博客.
 

2. 数据约束
约束是指数据在数据类型限定的基础上额外增加的要求.

常见的约束如下:
    主键 primary key: 物理上存储的顺序. MySQL 建议所有表的主键字段都叫 id, 类型为 int unsigned.
    非空 not null: 此字段不允许填写空值.
    惟一 unique: 此字段的值不允许重复.
    默认 default: 当不填写字段对应的值会使用默认值,如果填写时以填写为准.
    外键 foreign key: 对关系字段进行约束, 当为关系字段填写值时, 会到关联的表中查询此值是否存在, 如果存在则填写成功,
                               如果  不存在则填写失败并抛出异常.

3 数据类型附录表

3.1 整数类型

类型字节大小有符号范围(Signed)无符号范围(Unsigned)
TINYINT1-128 ~ 1270 ~ 255
SMALLINT2-32768 ~ 327670 ~ 65535
MEDIUMINT3-8388608 ~ 83886070 ~ 16777215
INT/INTEGER4-2147483648 ~21474836470 ~ 4294967295
BIGINT8-9223372036854775808 ~ 92233720368547758070 ~ 18446744073709551615

3.2. 字符串

类型说明使用场景
CHAR固定长度,小型数据身份证号、手机号、电话、密码
VARCHAR可变长度,小型数据姓名、地址、品牌、型号
TEXT可变长度,字符个数大于 4000存储小型文章或者新闻
LONGTEXT可变长度, 极大型文本数据存储极大型文本数据

3.3. 时间类型

类型字节大小示例
DATE4'2020-01-01'
TIME3'12:29:59'
DATETIME8'2020-01-01 12:29:59'
YEAR1'2017'
TIMESTAMP4'1970-01-01 00:00:01' UTC ~ '2038-01-01 00:00:01' UTC

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值