建表约束

NOT  NULL  非空

 

 

UNIQUE  唯一约束 ,意味这个值是不可以重复的,也是不可以为空的。。。

2种写法:

 

 

 

PRIMARY KEY       主键约束(主关键字),自带非空、唯一、索引

 

 

 

 

DEFAULT   默认值  给这个一个缺省值,比如默认填入的人的性别为男 

 如果为给设定了默认约束的列赋值,该列会自动填充默认值

 

 

FOREIGN KEY  外关键字

 

 

 

主键的内容:

使用主键应注意以下几点:

  • 每个表只能定义一个主键。
  • 主键值必须唯一标识表中的每一行,且不能为 NULL,即表中不可能存在有相同主键值的两行数据。这是唯一性原则。
  • 一个字段名只能在联合主键字段表中出现一次。
  • 【联合主键】不能包含不必要的多余字段。当把联合主键的某一字段删除后,如果剩下的字段构成的主键仍然满足唯一性原则,那么这个联合主键是不正确的。这是最小化原则。

 

        AUTO_INCREMENT约束这个东西需要就是配合主键去使用,每新增一条记录,字段值自动加 1.........

 

外键的注意事项:

外键维护的表与表之间的关系,他规定了当前列的数据必须来源于一张其他表的某一列中的主键:

外键会产生的效果

1、删除表时,如果不删除引用外键的表,被引用的表不能直接删除

2、外键的值必须来源于引用的表的主键字段

 

references   和  foreign key  两个关键字

 

 

 为什么不能删除呢?

看一看我们的sql语句:

表1:authors

 表2:books

 从这里可以看出来,后面那张表即表2是有外键的,也就是引用了表1中的主键字段,作为表2的外键,所以如果直接删除表1是不允许的,所以会报错。

所以如果要删除表1authors,就要先把引用了表1的表2books删除,再删表1authors。。。。

如下:

 

 

修改表的操作有5个:

1.增加表的字段 

Alter TABLE author ADD(hobby VARCHAR(20),adress VARCHAR(20));

2.修改表的字段的类型


Alter table author MODIFY (hobby VARCHAR(100),adress VARCHAR(100));/////////这个是错误的修改方式

正确的如下:
Alter table author MODIFY hobby VARCHAR(100);
Alter table author MODIFY adress VARCHAR(100);

3.字段类型和名称一起修改

ALTER TABLE author CHANGE  adress adr VARCHAR(30);

4.删除字段

ALTER TABLE author DROP adr;

5.改表名

ALTER TABLE author RENAME authors;

 

posted on 2023-04-20 09:04  不是小朋友L  阅读(30)  评论(0)    收藏  举报

导航