当前位置: 首页 > article >正文

MySql(十二)

目录

MySql约束

1.添加主键约束

语法格式

1)创建一个带主键的表

查看表结构

2)创建表的时候指定主键名称

查看表结构

3)创建一个表然后,然后再使用alter为列添加主键

查看表结构

4)为表添加数据

1---正常数据

2---主键为空数据

3--主键重复数据

5)为表设置自增主键(AUTO_INCREMENT)

查看表结构

插入没有主键的数据

 查看插入的数据

2.唯一约束(unique)

查看表结构

测试唯一约束

 

3.非空约束(not null)

查看表结构


 

MySql约束

1.添加主键约束

语法格式

字段名 字段类型 primary key

1)创建一个带主键的表

-- 创建一个带主键的表create table user2(-- 设置主键id INT PRIMARY KEY,username VARCHAR(30),sex CHAR(1));

查看表结构

desc user2;

2)创建表的时候指定主键名称

-- 创建表的时候指定主键create table user3(id int,user_name VARCHAR(30),sex char(1),-- 指定主键PRIMARY KEY(id));

 

查看表结构

desc user3;

3)创建一个表然后,然后再使用alter为列添加主键

-- 创建一个表,然后使用alter添加主键约束create table user4(id int,user_name VARCHAR(30),sex char(1),);
-- 使用alter为期添加主键
alter table user4 add PRIMARY key(id);

查看表结构

desc user4;

 

4)为表添加数据

1---正常数据

-- 添加正常数据INSERT into user4 VALUES 
(1, '偷走晚霞的人', '男');

 

2---主键为空数据

-- 添加主键为空的字段
INSERT into user4 VALUES 
(null, '偷走晚霞的人', '男');

可以看到添加的数据:1048 - Column 'id' cannot be null

3--主键重复数据

-- 添加重复的主键
INSERT into user4 VALUES 
(1, '惜.己', '男');

可以看到错误:1062 - Duplicate entry '1' for key 'PRIMARY'

5)为表设置自增主键(AUTO_INCREMENT)

-- 创建主键自增的表
CREATE TABLE user5(id INT PRIMARY KEY AUTO_INCREMENT,user_name VARCHAR(30),sex char(1));

查看表结构

可以看到extra ==》这里多了一个auto_increment

插入没有主键的数据

-- 主键为空 的数据
INSERT into user5 VALUES 
(null, '惜.己', '男');-- 不添加主键数据
INSERT into user5(user_name, sex) VALUES
('小玖','女')

 查看插入的数据

select * from user5;

2.唯一约束(unique)

字段名 字段值 unique

.

CREATE table user6(id int PRIMARY KEY AUTO_INCREMENT,user_name VARCHAR(20) UNIQUE,sex char(1));

查看表结构

可以看到user_name的那一个项 UNI 

desc user6;

测试唯一约束

INSERT into user6 VALUES 
(null, '惜.己', '男');INSERT into user6 VALUES 
(null, '惜.己', '男');

可以看到出现错误:1062 - Duplicate entry '惜.己' for key 'user_name'

 

3.非空约束(not null)

简单的来说就是,向这个表中添加数据的时候不能为空。属于必填项。否则会报错 1048 - Column 'id' cannot be null

INSERT into user7 VALUES 
(null,null , '男');

字段名 字段类型 not null

-- 非空约束
create table user7(id INT PRIMARY KEY,user_name VARCHAR(30) not null,sex char(1)
);

查看表结构

可以看到user_name 的那个项不为空

 

 

 

 

 

http://www.lryc.cn/news/2397018.html

相关文章:

  • 51c视觉~3D~合集3
  • windows11安装编译QtMvvm
  • 【2025年电工杯数学建模竞赛A题】光伏电站发电功率日前预测问题+完整思路+paper+源码
  • OpenCv高阶(十九)——dlib关键点定位
  • BUUCTF之[ACTF2020 新生赛]BackupFile
  • 头歌之动手学人工智能-Pytorch 之autograd
  • OIer常用的软件
  • Centos7.x内网环境Jenkins前端打包环境配置
  • Kafka集成Flume/Spark/Flink(大数据)/SpringBoot
  • Scratch节日 | 拯救屈原 | 端午节
  • rabbitmq Direct交换机简介
  • Git实战--基于已有分支克隆进行项目开发的完整流程
  • MapReduce(期末速成版)
  • 鸿蒙OSUniApp 移动端直播流播放实战:打造符合鸿蒙设计风格的播放器#三方框架 #Uniapp
  • C3、C2f、C3K2、C2PSA的具体结构
  • 2_MCU开发环境搭建-配置MDK兼容Keil4和C51
  • 通过远程桌面连接Windows实例提示“出现身份验证错误,无法连接到本地安全机构”错误怎么办?
  • 百度golang研发一面面经
  • TC3xx学习笔记-启动过程详解(一)
  • Scratch节日 | 六一儿童节抓糖果
  • 系统调用与程序接口的关系
  • 从线性方程组角度理解公式 s=n−r(3E−A)
  • 通信算法之280:无人机侦测模块知识框架思维导图
  • 【Doris基础】Apache Doris中的Coordinator节点作用详解
  • 软考 系统架构设计师之考试感悟3
  • 【Kubernetes-1.30】--containerd部署
  • Flutter 嵌套H5 传参数
  • 什么是线程上下文切换?
  • Jvm 元空间大小分配原则
  • 相机--相机标定