测试开发笔记-数据库

MYSQL前端笔记(二)
常见约束补充
1、主键自增 AUTO_INCREMENT
通过auto_increment设置主键自增
特点:
和主键结合使用,
自增字段的数据类型是整数类型
自增的数据开始值是1,没增加一行数据,自增1

添加自增
create table tb_dept10(
id INT(11) PRIMARY key AUTO_INCREMENT,
name VARCHAR(25),
location VARCHAR(50)
);

设置自增默认值
CREATE TABLE tb_dept11(
id INT(11) PRIMARY key auto_increment,
name VARCHAR(25),
location VARCHAR(50)
)auto_increment=100;

删除自增
ALTER TABLE tb_dept10 MODIFY id int(11);

在修改表时设置自增
ALTER TABLE tb_dept12 CHANGE COLUMN id id INT(11) auto_increment;

修改表时指定初始值
ALTER TABLE tb_dept12 auto_increment=100;

2、外键CONSTRAINT fk_rl FOREIGN KEY(deptId) REFERENCES tb_dept1(id)

表间关系:
一对一
一对多
多对多
MySQL5.6中文支持问题
DEFAULT CHARSET=GB2312;

查看创建表是sql
show create table 表名;

外键特点:
外键关联时主表要先去从表创建
外键字段的值必然在主表中是可以一一对应的
外键可以为空,但是不为空的外键必然可以在主表中跟它对于
外键关联的必然是主表的主键
创建外键约束
CREATE TABLE score (
id int(10) NOT NULL PRIMARY KEY auto_increment,
sid INT(10),
name varchar(50) DEFAULT NULL,
subject varchar(50) DEFAULT NULL,
score varchar(50) DEFAULT NULL,
CONSTRAINT fk_sid
FOREIGN KEY(sid) REFERENCES studentinfo(id)
)ENGINE=InnoDB DEFAULT CHARSET=GB2312;

修改变时添加外键约束
alter table 表名 add CONSTRAINT fk_sid FOREIGN KEY(sid) REFERENCES studentinfo(id)

删除外键约束
ALTER TABLE score drop FOREIGN KEY 外键名

3、唯一约束UNIQUE
特点:
主键在一个表里面只能有一个
但是唯一性约束可以有多个
设置了唯一性约束的字段表中有且只能有一个空值

创建表的时候设置唯一性约束
CREATE TABLE tb_dept1(
id INT(11) PRIMARY KEY,
name VARCHAR(25) UNIQUE,
location VARCHAR(50)
);

修改表的时候添加唯一性约束
ALTER TABLE tb_dept2 ADD UNIQUE(name);
起别名:
ALTER TABLE tb_dept2 ADD CONSTRAINT 别名 UNIQUE(字段);

删除唯一性约束
ALTER TABLE tb_dept2 DROP INDEX name;

4、默认值DEFAULT ‘Beijing’
特点:
在插入数据时,如果不写入就使用默认值,如果写入就使用新值

新建表时创建
CREATE TABLE tb_dept3(
id INT(11) PRIMARY KEY,
name VARCHAR(25),
location VARCHAR(50) DEFAULT ‘shanghai’
);

修改表时创建
ALTER TABLE tb_dept1 CHANGE location location VARCHAR(25) DEFAULT ‘beijing’;

5、非空约束(NOT NULL)
特点:
一张表中可以设置多个字段非空,主键默认非空

新建表时设置
CREATE TABLE tb_dept4(
id INT(11) NOT NULL,
name VARCHAR(35),
location VARCHAR(50)
);

修改表时设置
ALTER TABLE tb_dept3 CHANGE name name VARCHAR(34) not NULL;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值