小白测试笔记-数据库2

小白测试笔记-数据库2

列类型(字段类型)

1.整数类型

Tinyint:迷你整形,用一个字节保存的整形:一个字节=8位,最大表示数值是0-255,实际上表示-128-127;
Smallint:小整形,2个字节,
int:4个字节

无标识符合设定:在字段类型后加unsigned
如 alter table student add age2 tinyint unsigned;

显示长度:指整形数据在数据显示的时候,到底可以显示多长为。
Tintint(3)unsigned 表示可以显示3位,0-255
Tintint(4)表示最长表示4位,-128-127,符合占一位

2.小数类型
浮点型:精度类型,是一种可能丢失精度的素具类型,数据有可能不那么准确
Float:单精度,系统用4个字节存储数据 Float(M,D)表示一共存储M个有效数字,其中小数部分占D位
Double:双精度 系统用8个字节存储数据 Float(M,D)表示一共存储M个有效数字,其中小数部分占D位

定点数:能保证数据精确的小数,整数部分一定精确
Decimal定点数:系统自动根据存储的数据来分配存储空间
Decimal(M,D)M表示总长度,D表示小数部分长度

3.时间日期类型:
Date:日期类型,系统用3个字节存储数据。格式为YYYY-mm-dd
Time:时间类型,3个字节存储,格式为HH:ii:ss
Datetime:日期时间类型,用8个字节存储数据,格式为:YYYY-mm-dd HH:ii:ss
Timestamp:时间戳类型,格式和上面一样,当对应的数据(不是自己)被修改时,会自动更新
Year:年类型,1个字节保存

4.字符串型
Char:定长字符:指定长度之后,系统一定会分配指定的空间用于存储数据
Char(L),L代表字符数,长度0-255(utf8 一个字符都会占有3个字节)

Varchar:变长字符,指定长度之后,系统根据存储数据来计算长度,分配合适长度,系统会在数据
后面增加1-2个字节的额外开销,用来保存数据所占有的空间长度,长度0-65535

Text:文本类型,存储普通的字符文本,有4中类型
Tinytext:系统使用一个字节来保存,能存的数据为2^8+1
Text:两个字节保存
Mediumtext:3个字节
Longtext:4个字节

Enum:枚举类型:在数据插入之前,先设定几个项
如果确定某个字段的数据只有几个值:如性别,男,女,系统可以在设定字段时规定当前字段只能存放固定的几个值
enum(数值1,数值2…)系统提供1到2个来存储枚举数据,极大节省了空间

Set:集合,将多个数据选项可以同时保存的数据类型,本质是将指定的项按照对应的二进制位
来进行控制:1.表示该选项被选中,0表示没有被选中
set(‘值1’,‘值2’,…)最多64个值,一个字节存8个值
Set和Enum一样,最终存进去的依然是数字,而不是字符
如insert into 表名 values(‘值1,值2…’);数值为11…,真实值为二进制数颠倒后转为十进制

在mysql中,记录长度总长度不能超过65535个字节

列属性

Null属性:代表字段为空,对应值为yes表示该字段可以为空

默认值(Default):
如 create table my_default(
name varchar(10) NOT NULL comment’注释不能为空’,–表示不能为空
age int(11)default 18 --表示当前字段在进行数据插入时没有提供,就用18
)charset utf8;

列描述:comment,注释说明,语法comment’字段描述’
查看Comment:show create table 表名;

主键:主要的键,primary key,一张表中有且只有一个字段,里面的值具有唯一性
创建主键:
1.随表创建:直接在需要当做主键的字段之后,增加primary key 属性来确定主键
如create table my_default(
name varchar(10) primary key
)charset utf8;
2.
create table my_default(
name varchar(10), primary key(name)
)charset utf8;

表后增加:alter table 表名 add primary key(字段名);

查看主键:
1.查看表结构:desc 表名;

2.查看表的创建语句:show create table 表名;

删除主键:alter table 表名 drop primary key(字段名);

复合主键:有多个主键

主键约束:主键一旦增加,那么对应字段有数据要求:
1.字段对应数据不能为空
2.字段对应数据不能重复

自动增长:字段后增加一个属性 auto_increment
修改:alter table 表名 auto_increment = 值;

唯一键:unique key,用来保证对应的字段中的数据唯一,在一张表中可以有多个,不为空情况下数据不能重复
创建唯一键:和主键一样
index 关键字:索引,唯一键是索引一种
删除的基本语法:alter table 表名 drop index 唯一键名字;

表关系:

一对一:一张表中的一条记录与另外一张表中最多有一条明确的关系,通常保证两张表中使用同样的主键即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值