mysql约束

一、表约束

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,’河南省郑州市’);

mysql约束

— 定义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();

mysql约束

mysql约束

mysql约束

Original: https://www.cnblogs.com/zcxxcvbn/p/15906036.html
Author: 一份人间烟火
Title: mysql约束

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/590785/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 强烈推荐一款优秀且通用的后台管理系统

    最近看到一款优秀的通用管理后台——likeadmin,推荐给大家。likeadmin的部署方式简单,界面美观,基于MIT协议,完全免费,非常值得一用。 likeadmin快速开发通…

    数据库 2023年6月14日
    090
  • Redis学习(1)—Redis概述

    什么是NoSQL NoSQL:Not Only SQL,意思不仅仅是SQL,它是属于 非关系型数据库。那什么是关系型数据库?数据结构是一种有行有列的数据库。 NoSQL数据库是为了…

    数据库 2023年6月14日
    077
  • 线程池使用InheritableThreadLocal出现数据脏乱分析和解决方案

    背景 在测试环境上遇到一个诡异的问题,某些业务场景需要记录操作日志,有段时间发现记录的数据会被覆盖,例如当前用户的操作记录会被其他用户覆盖;这个现象是每次重启服务后一小段时间内就正…

    数据库 2023年6月6日
    0102
  • AQS源码探究之竞争锁资源

    AQS源码探究—竞争锁资源 我们进入ReentrantLock源码中查看其内部类 Sync 对AQS进行扩展公共方法并定义抽象方法的抽象类 FaireSync 实现公平…

    数据库 2023年6月11日
    080
  • 使用 yum 在 CentOS7 上安装 MySQL8

    时间:2022-07-13安装版本:MySQL-community-8.0.29 0. 删除MariaDB 在CentOS 7中默认有安装MariaDB,这个是MySQL的分支,通…

    数据库 2023年5月24日
    0134
  • MySQL 学习笔记(六)—character 与 collation

    A character set is a set of symbols and encodings. A collation is a set of rules for compa…

    数据库 2023年6月16日
    0114
  • sql 优化

    对比 select * from A t1 left join B t2 on ( t1.c1 = t2.c1 or t1.c1=t2.c2) select * from A t1…

    数据库 2023年6月16日
    074
  • HMX-Server C++ 分步式服务器大版本更新了(有源码)

    原文地址:http://www.cnblogs.com/hellohuang/p/6294763.htmlHMX-ServerHMX-Server分步式服务器框架,主要分为网关、登…

    数据库 2023年6月14日
    0102
  • mac(m1)配置my.cnf

    今天开始学习了数据库,在安装MySQL之后启动一直报错,然后在网上找了很多解决方法,最后用以下方法解决 对于习惯了windows的小伙伴来说,直接去安装目录里边修改my.ini就可…

    数据库 2023年6月16日
    073
  • logstash写入文件慢的问题排查记录

    终于找到根本原因了!!!!! logstash部署到k8s集群内部的,当所在节点的CPU资源被其他应用抢占时,logstash的处理速度就会降低 问题现象 logstash从kaf…

    数据库 2023年6月9日
    085
  • Golang环境安装

    一、下载地址 Golang: Downloads – The Go Programming Language GoLand编辑器: Download GoLand: A…

    数据库 2023年6月14日
    062
  • 初入Android——基础控件学习

    Android开发离不开控件,这篇随笔就是我自己用来记录学习Android控件知识的!!! 一、TextView TextView是Android UI 控件(文本框控件) 基础属…

    数据库 2023年6月11日
    086
  • 如何使用原生的Ribbon

    什么是Ribbon 之前分析了如何使用原生的Feign,今天我们来研究 Netflix 团队开发的另外一个类库–Ribbon。Ribbon 和 Feign 有很多相似的…

    数据库 2023年6月6日
    089
  • 为什么我选择MySQL Workbench・一

    一、官方 官方提供的工具必然有其优势。 MySQL Workbench有两个版本,社区版和商业版。社区版是免费的。 二、第一个选择 使用MySQL之前用的是SQL Server而微…

    数据库 2023年6月9日
    068
  • docker配置容器日志大小限制

    修改docker配置文件/etc/docker/daemon.json,添加如下内容: { "log-driver": "json-file&quot…

    数据库 2023年6月9日
    0101
  • 机器学习实战-决策树

    1.决策树的构造 1.1优缺点 优点: 计算复杂度不高:以ID3为例,每次运算都是基于某一列特征,特征计算完后,下次计算不考虑该最有特征,并且通过适当剪枝可以简化复杂度 输出结果易…

    数据库 2023年6月16日
    099
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球