java学习记录

Mysql---表的约束条件

2020-05-26  本文已影响0人  一花一世界yu

一、重点问题

子查询中条件判断最好用in别用=,因为你并不知道查询结果为几条

ifnull用来处理空值的两种情况

jar包不能导入两个功能相同的

取整函数在负数中的使用ceil 向上取整,返回>=该参数的最小整数floor 向下取整,返回<=该参数的最大整数

数据库中非数值都要用单双引号,但是在字符串中只能用单引号

数据库中一般都用sql里面的类

DML增删改操作

DQL查询操作

executeUpdata 返回int  表示改变了几行

数值类型数据也可以加引号使用,但没必要

数据库的执行语句一定要保证该有空格地方不能漏了空格

二、课堂知识

1、唯一约束 unique

限定某一字段的字段值不能有重复

创建表时,添加唯一约束

createtable表名(字段名 字段类型 unique, 字段名 字段类型 [约束], ...);

创建表后,添加唯一约束

altertable表名 modify 字段名 字段类型 unique;

删除唯一约束(设置字段允许有重复值)

altertable表名dropindex 字段名;

注:

唯一约束的值可以是空值,可以存在多个空值,但是只能有唯一的“null”值

一个字段可以同时设置成非空唯一,非空和唯一约束的顺序是任意的

已存在重复值的字段不能被设置成唯一的

2、主键约束 primary key

特点:

1、非空且唯一

2、一张表只能有一个字段是主键

3、主键是表中记录的唯一标识

①、创建表时,添加主键约束

create table 表名(字段名 字段类型 primary key, 字段名 字段类型 [约束], ...);

create table 表名(字段名 字段类型 [约束], 字段名 字段类型 [约束], ... , primary key(主键字段));

②创建表后,添加主键约束

alter table 表名 modify 字段名 字段类型 primary key;

③删除主键

alter table 表名 drop primary key;

注意:删除主键约束后,主键仍有非空约束

主键自增长:

概念:如果某个字段是数值类型的主键字段,可以使用 auto_increment 来实现主键自增长

注:

1、自增长的主键必须是数值类型的(整数或者小数)

2、当添加记录时,不为该字段赋值或者赋值为null,该字段就会自增长

3、第一条自增长的字段值是 1

4、从已存在的最大值开始 + 1

5、从已存在的最大值是小数时,自增长的值是向上取整

6、只有主键可以自增长

①创建表时,添加主键自增长

create table 表名(字段名 字段类型 primary key auto_increment, 字段名 字段类型 [约束], ...);

②创建表后,添加主键自增长

alter table 表名 modify 主键字段 字段类型 auto_increment;

③创建表后,添加主键约束的同时,设置自增长

alter table 表名 modify 字段名 字段类型 primary key auto_increment

④删除自增长

alter table 表名 modify 字段名 字段类型;

3、外键约束 foreign key

外键约束可以使表与表之间产生关系

①创建表时,添加外键约束

create table 表名 (字段名 字段类型 primary key, 字段名 字段类型 [约束], ... , 外键字段 外键类型 ,[constraint 外键名] foreign key (外键字段) references 主表名 (主表主键字段));

②创建表后,添加外键约束

alter table 表名 add [constraint 外键名] foreign key (外键字段) references 主表名 (主表主键字段));

③删除外键约束

alter table 表名 drop foreign key 外键名;

注:

1、从表的外键类型必须与主表的主键类型一致

2、外键只能指向主键

3、外键保证了数据的正确性和完整性

中间表的创建以及联合主键

create table 表名 (

外键字段1 外键类型, 外键字段2 外键类型, primary key (外键字段1,外键字段2),

foreign key (外键字段1) references 主表1(主键字段),

foreign key (外键字段2) references 主表2(主键字段),

);

上一篇 下一篇

猜你喜欢

热点阅读