手机网站好还是h5好,英文成品网站模板下载,廊坊网站备案,wordpress所见即所得NULL属性 Null/Not Null 属性来限制数据是否可以为空 默认为 Null
create table t_01
{username varchar(10) not null--...
} Default属性 设置默认值 表字段的时候给定默认数据#xff0c;在后续字段操作#xff08;数据新增#xff09;的时候系统没有检测到字段有数据…NULL属性 Null/Not Null 属性来限制数据是否可以为空 默认为 Null
create table t_01
{username varchar(10) not null--...
} Default属性 设置默认值 表字段的时候给定默认数据在后续字段操作数据新增的时候系统没有检测到字段有数据的时候自动使用的值 默认值通常设计的是字段容易出现的数据 一般字段的默认值 默认是Null 默认值触发 在系统进行数据插入时自动检测触发 主动使用default关键字触发默认值
#用户开户银行卡账号、身份证号码、姓名、账户余额
create table test(account varchar(19) not null,id_card varchar(19) default nullptr not null,--等价于 --id_card varchar(19) default nullptrname varchar(19) not null,money decimal(6,2) default 0.00
)charset utf8;
primary key 主键
主键primary key用来保证整张表中对应的字段永远不会出现重复数据唯一性 主键在一张表中只能有一个 主键的另外一个特性是能够提升主键字段作为查询条件的效率索引 主键不能为空Not Null默认 逻辑主键数据没有具体业务意义纯粹是一种数值数据 逻辑主键通常是整数int 逻辑主键目的是方便检索和数据安全不暴露数据真实信息 复合主键多个字段共同组成不能重复的数据 这个多个字段如果 都相同 就不可以 primary key(字段1,字段2,…字段N) 联合主键使用不多一般也不会超过2个字段 primary key(id,name)
create table test(id int unsigned primary key,--如果有id2 int unsigned primary key, error 主键是唯一的 name varchar(10) not null
);
create table test1(id int unsigned primary key,name varchar(10) not null,primary key(id,name)
); #不可以主键的唯一性
create table test1(id int unsignedname varchar(10) not null,primary key(id,name)
);#可以的因为只有一个 复合主键
主键管理
在创建表并且已经有数据后的维护 删除主键 删除主键主键只有一个所以删除语法也比较特殊 alter table t_26 drop primary key; 追加主键 2、后期新增主键如果是针对业务主键需要保证字段数据没有Null数据且没有数据重复一般主键都会在表创建时维护好 alter table t_26 add primary key(account,name); 修改主键先删除后新增 auto_increment自增长属性
自增长auto_increment被修饰的字段在新增时自动增长数据 自增长只能是整数类型而且对应的字段必须是一个索引通常逻辑主键 一张表只能有一个自动增长 自增长一般是配合逻辑主键实现自动增长 整型字段 存在索引primary key 主键 / unique key 唯一键 自增长数据可以理解为一种默认值如果主动给值那么自动增长不会触发 自增长由两个变量控制 初始值auto_increment_offset默认是1 步长auto_increment_increment默认值也是1 查看自增长控制show variables like auto_increment%; create table t_28(id int unsigned primary key auto_increment
);
自增长管理
在某些特殊使用下需要自增长按照需求实现 修改表中自增长的值让下次自增长按照指定值开始
alter table t_28 auto_increment 50;
注意奇数会保留原值偶数会自动加1可能出现的情况 修改自增长控制调整自增长的步长
set auto_increment_increment 2; # 当前用户当前连接有效局部
set auto_increment_increment 2; # 所有用户一直有效全局 unique key唯一键 一个表中可以有多个唯一键 唯一键与主键的区别在于 唯一键允许数据为Null而且Null的数量不限 唯一键与主键一样可以提升字段数据当做条件查询的效率索引 复合唯一键多个字段共同组成 unique key(字段1,字段2,…字段N) 一般不会出现最多2个字段组成
create table test123(id int unsigned primary key auto_increment comment id,name varchar(20) not null unique key comment 名字,course varchar(20) not null comment 课程,score decimal(5,2) default 0.00 comment 分数,unique key(id,name) #可以是可以但是没必要
); foreign key 外键约束
-- 将主表的 column 约束在 从表某个 column 的范围里面
-- 如果这张表的 某个id 被某个从表使用那么就不可以对其做任何修改
create table student_id(id int unsigned primary key auto_increment,
);
create table student(id int unsigned,name varchar(20) not null,age int not null,-- 将id 的范围 限制在 student_id 的 id 内foreign key(id) references student_id(id),constraint mychk_age check (age 0 and age 200)
);
comment属性
描述comment是用文字描述字段的作用的 comment代表的内容是对字段的描述 方便以后自己了解字段的作用 方便团队了解字段的作用 描述如果涉及到字符集中文一定要在创建表之前 设置好客户端字符集否则会出现描述乱码 数据库记录长度
数据库记录长度MySQL中规定一条记录所占用的存储长度最长不超过65535个字节 记录长度为表中所有字段预计占用的长度之和 所有字段只有允许Null存在系统就会预留一个字节存储Null多个Null也只要一个就好 因为MySQL记录长度的存在varchar永远达不到理论长度 GBK存储65535字符 * 2 2 131072字节 UTF8存储65535字符 * 3 2 196607字节 一般数据长度超过255个字符都会使用 text/blob 进行存储数据存储不占用记录长度