一、表约束
PK主键约束(索引)唯一约束 非空 默认值
在关系数据库,一个表中,只能有一个主键(Primary Key),有些数据库没有pk,系统报出错误。
在myql数据库,建立表时,可以有主键,也可以没有主键(推荐建立表时必须有主键)。
主键列,在插入数据时,必须填写,不能为null,不能重复。
— 建立表 使用主键
create table tt1(
t int primary key
);
create table tt2(
t int,
primary key(t)
);
create table tt3(
t int unsigned auto_increment primary key
);
create table tt4(
t char(5)
);
insert tt4 values(1),(2),(2),(3),(2),(5);
select * from tt4;
— 有重复数据,将不法增加主键约束
alter table tt4 add primary key(t);
— 删除主键
alter table tt4 drop primary key;
— 建立复合主键,此表还是只有一个主键,在系统数据库mysql.user表中的复合主键。
create table tt5(
id int unsigned,
name varchar(30) not null,
age tinyint unsigned default 18,
primary key(id,name)
);
CREATE DATABASE db DEFAULT CHARACTER SET utf8;
USE db;
CREATE TABLE stu(
sno CHAR(6) PRIMARY KEY,/主键PK 不能为空,不能重复,一个表只有一个主键/
sname VARCHAR(30) NOT NULL,
sphone CHAR(11) UNIQUE,/唯一约束,不能重复/
sage TINYINT UNSIGNED DEFAULT 18,
saddr VARCHAR(255),
KEY(sname)
);
INSERT INTO stu VALUE( ‘202101’,’李四’,’13014577033′,18,’河南省郑州市’);
— 定义uuid自动主键
CREATE TABLE zcx_good(
id CHAR(36) DEFAULT (UUID()) PRIMARY KEY,
NAME VARCHAR(50) NOT NULL,
price DECIMAL(10,1)
);
INSERT INTO zcx_good VALUES(UUID(),’笔记本’,12);
SELECT *FROM zcx_good;
SELECT UUID_SHORT();
Original: https://www.cnblogs.com/zcxxcvbn/p/15906036.html
Author: 一份人间烟火
Title: mysql约束
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/590785/
转载文章受原作者版权保护。转载请注明原作者出处!