数据库----MySQL表的约束

1.空属性
尽量保证定义表时,字段不为空,数据为空就无法参与运算,需在定义字段后加not null
2.默认值
某一列经常出现某个具体的值,可以在定义表结构是就指定默认值。
定义字段后加 default 默认值
若默认值后不加not null 则插入值可以设置成null值,当没有插入值时,就会自动填上默认值。

eg: create table tt2(
id int not null,
sex char(1) default  ’男’ not null’
);

mysql的注释: --注释信息
comment为列描述:用 show creat table [table_name];语句可调出查看。(select desc 语句下看不到)
3.zerofill(自动补0操作)
在int型定义字段后加zerofill
int(11) --> 在没有zerofill时11无意义,

eg: id int(4) zerofill -->insert into table_name values(12,12345);---> 0012 12345

4.主键
不能重复且不能为空,一张表有且只能有一个主键,一般主键所在的列是整数类型。
创建表时在字段后面添加关键字 primary key,
定义表之后追加主键: alter table add primary key(字段列表)
删除主键: alter table drop primary key;
复合主键:只要复合主键组合不同,则可以正确插入

eg: create table tt(
  id int,
  course char(10),
  score int default 60 not null,
   primary key(id,course) comment 'id和course作为复合主键'
   );

5.自增长 auto_increatment
向表中插入数据时若不插入此列数据,系统会自动触发,将当前字段的最大值+1写回数据库,一个表中只能设置一个自增长。
自增长一般和主键搭配使用,作为逻辑主键。

eg:mysql> create table tt5(
    -> id int primary key auto_increment,
    -> name varchar(10) not null default ' '
    -> );

自增长的特点:a)任何一个字段要做自增长,前提是本身是一个索引(key 一栏有值 )b)自增长必须为整数c)有且仅有一个自增长字段。
自增长值从当前值上增长,主键自增长值只要出现过,即便删除了也不会再出现(从删除的值上自增)
6.唯一键 unique key
在一张表中可以有多个字段设置唯一键,唯一键可以为空,且可以多个为空。
7.外键
foreign key (从表列) references 主表(列)
使用外键约束必须是在innodb的引擎下.
用于定义主表与从表之间的关系,外键定义在从表上,关联的主表的列必须是primary key或unique,要求外键所在的列的数据必须在主表中存在或者为空。
若关联的主表列未定则可以赋值null.
需先定义(赋值,删除)主表,再定义(赋值,删除)从表,
mysql 查询语句 help contents

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值