python 之 数据库(字段的约束条件,表之间的...

本文介绍了Python数据库操作中的字段约束条件,包括NOT NULL、DEFAULT、UNIQUE、PRIMARY KEY和AUTO_INCREMENT。同时,详细讲解了数据库表之间的关系,如多对一、多对多和一对一关系的实现,以及FOREIGN KEY在表关系中的作用和使用示例。
摘要由CSDN通过智能技术生成

10.6 约束条件10.61 not null 、default[url=][/url]
create table t15(    id int,    name char(16) not null,    sex enum('male','female','other') not null default "male");#alter tablet15 modify name char(16) not null;insert into t15(id,name) values(1,'egon1'),(2,'egon2'),(3,'egon3');​mysql> desc t15;+-------+-------------------------------+------+-----+---------+-------+| Field | Type                          | Null | Key | Default | Extra |+-------+-------------------------------+------+-----+---------+-------+| id    | int(11)                       | YES  |     | NULL    |       || name  |char(16)                      | NO   |     | NULL    |       || sex   | enum('male','female','other') | NO   |     | male    |       |+-------+-------------------------------+------+-----+---------+-------+​mysql> select * from t15;+------+-------+------+| id   | name  | sex  |+------+-------+------+|    1 | egon1 | male ||    2 | egon2 | male ||    3 | egon3 | male |+------+-------+------+[url=][/url]

10.62 unique

mysql中存在一种专门的数据结构,叫 key,又称为索引,通过该数据结构可以减少 i/o 次数,从而加速查询效率 index key : 只有加速查询的效果,没有约束的功能 unique key:不仅有加速查询的效果,还附加了一种约束的功能 primary key:不仅有加速查询的效果,还附加了一种约束的功能,并且innodb存储引擎会按照主键字段的值 来组织表中所有的数据,所以一种inndob表中必须有、而且只能有一个主键,通常为该表的id字段
unique:限制字段的值的唯一性,单从约束角度去看:唯一性约束

[url=][/url]
#单列唯一create table t16(    id int unique,    name char(16));​# 联合唯一(不能完全相同)create table server(    id int unique,    ipchar(15),    port int,    unique(ip,port));mysql> desc server;+-------+----------+------+-----+---------+-------+| Field | Type     |Null | Key | Default | Extra |+-------+----------+------+-----+---------+-------+| id    | int(11)  | YES  | UNI | NULL    |       || ip    |char(15) | YES  | MUL | NULL    |       || port  | int(11)  | YES  |     | NULL    |       |+-------+----------+------+-----+---------+-------+​insert into server values(1,'1.1.1.1',3306),(2,'1.1.1.1',3307),(3,'1.1.1.2',3306);mysql> select * from server;+------+---------+------+| id   | ip      | port |+------+---------+------+|    1 | 1.1.1.1 | 3306 ||    2 | 1.1.1.1 | 3307 ||    3 | 1.1.1.2 | 3306 |+------+---------+------+[url=]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值