Mysql 约束

发布于:2022-12-31 ⋅ 阅读:(341) ⋅ 点赞:(0)

约束(修饰符,属性)

null    空

not null   非空

default

因为每一种数据,都有自己的默认值,如果默认值不满意可以自己改,

比如添加一个int类型,不想它为空,默认值为0,用default改一下它的默认值,在不添加数据的情况下使用默认值100.

unique(key)  在字段里不能出现重复的值      唯一,但它也是一种key,统称,键。

不是唯一的拥有这种特性的属性还有一个,primary key 主键,在字段里不能出现重复的值

新建一个表 create table t1(id int unique);  

 desc t1  查看    下面的都可以称属性

一次可以再来一次就重复了。

 mysql> alter table t11 drop index id; //删除        这里的这个index不是真正的索引

auto_increment 自增   (要写下划线   设置自增一定要设key)

mysql> create table t4(id int unique auto_increment,name varchar(10));

设置自动增长列一定要设key

 

 这样才能成功

primary key(key)主键

每张表里只能有一个主键,不能为空,而且唯一

mysql> create table t7(hostname char(20) primary key,ip char(150));

mysql> create table t9(hostname char(20),ip char(150),primary key(hostname));

联合主键              把primary key写在所有字段定义的最后,能设置两个字段也可以三个  

mysql> create table t9(hostname char(20),ip char(150),primary key(hostname,ip));  指定host,ip是联合主键,是对两列同时生效的。

mysql> alter table t2 drop primary key; //删除主键

hostname ip   (指两个字段合在一起不重复)第一列重复没关系只要第二列不重复就行。

www 192.168.1.8

www 192.168.1.9

两个合在一起不能长得一样。

index(key)

索引 优化查询速度     可以把索引当作一本书的目录,有了目录就快了很多。这就是它的作用。

当公司数据库查询速度非常慢的时候,开发人员会找到你,自己也可能会监控到这件事,这时要找原因,第一件事想到的应该是内存够不够,cpu够不够,网络够不够。第二件事mysql的并发访问量是不是太高了,导致访问速度过慢。第三件事往数据库本身想,是不是这张表太大里边的列比较多,索引是不是创建的太少了,要多加几列索引,因为加索引也可以增加数据库的查询速度。

创建索引:三种

mysql> create table t100(hostname char(20) primary key,ip char(150),index (ip));

mysql> create table t101(hostname char(20) primary key,ip char(150),index dizhi(ip)); 创建索引的时候还可以命名。

mysql> create index dizhi on t105(ip);

 删除索引:

mysql> alter table t101 drop index dizhi; / 删除index索引         直接删名字

mysql> drop index id on t5;      直接跟索引的名称id   表t5

外键foreign key (key)   

mysql> create table t1(id int,manager char(10) primary key) engine = innodb;

mysql> create table t2(id int,admin char(10),foreign key (admin) references t1 (manager)) engine = innodb ;

带关联删除的外键:

mysql> create table xingzheng(id int,admin char(10),foreign key (admin) references guanli(manager) on delete cascade) engine = innodb;

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到