MYSQL笔记:约束条件

MYSQL笔记:约束条件

主键约束

不能为空,值必须是不同的(唯一性)

一个表只能修饰一个主键

sql 复制代码
PRIMARY KEY

自增约束

sql 复制代码
AUTO_INCREMENT

唯一键约束

可以为空

sql 复制代码
unique

非空约束

not null

默认值约束

default

外键约束

foreign key

外键,存储函数,存储过程,触发器,在后端用的不多,限制逻辑代码逻辑是由mysql本身控制的。

例子

sql 复制代码
CREATE TABLE user(
id INT unsigned PRIMARY KEY AUTO_INCREMENT COMMENT ' 用户id',
nickname varchar(50) UNIQUE NOT NULL COMMENT'用户名称',
age TINYINT UNSIGNED NOT NULL  DEFAULT 18,
sex ENUM('male','famale'));
bash 复制代码
mysql> show table;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| user           |
+----------------+
1 row in set (0.00 sec)

mysql> desc user;
+----------+-----------------------+------+-----+---------+----------------+
| Field    | Type                  | Null | Key | Default | Extra          |
+----------+-----------------------+------+-----+---------+----------------+
| id       | int(10) unsigned      | NO   | PRI | NULL    | auto_increment |
| nickname | varchar(50)           | NO   | UNI | NULL    |                |
| age      | tinyint(3) unsigned   | NO   |     | 18      |                |
| sex      | enum('male','famale') | YES  |     | NULL    |                |
+----------+-----------------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
相关推荐
所愿ღ1 小时前
Vue框架进阶
前端·vue.js·笔记·前端框架
叁沐1 小时前
MySQL 25 MySQL是怎么保证高可用的?
mysql
无妄之灾|1 小时前
BGP协议笔记
笔记·hcip
Hello_Embed4 小时前
STM32HAL 快速入门(二):用 CubeMX 配置点灯程序 —— 从工程生成到 LED 闪烁
笔记·stm32·单片机·学习·嵌入式软件
惊骇世俗王某人7 小时前
MySQL数据库索引及底层数据结构
数据结构·数据库·mysql
勤奋的小笼包10 小时前
论文阅读笔记:《Dataset Distillation by Matching Training Trajectories》
论文阅读·人工智能·笔记
wdfk_prog12 小时前
[Linux]学习笔记系列 -- [arm][debug]
linux·运维·arm开发·笔记·学习
wdfk_prog13 小时前
实战教程:从“对象文件为空“到仓库重生——修复 Git 仓库损坏全记录
大数据·网络·笔记·git·学习·elasticsearch·全文检索
小杨爱搞嵌入式13 小时前
【STM32】GPIO的输入输出
c语言·笔记·stm32·单片机·学习
古月方源aaaaa14 小时前
ospf笔记
笔记·智能路由器