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)
相关推荐
睡不着还睡不醒3 分钟前
【笔记】unsqueeze
笔记
LouSean10 分钟前
Unity按钮事件冒泡
经验分享·笔记·学习·unity·游戏引擎
pq113_635 分钟前
OrangePi Zero 3学习笔记(Android篇)4 - eudev编译(获取libudev.so)
android·笔记·学习
一眼青苔40 分钟前
如何在MySQL中实现类似Redis的PING命令的功能来检测连接状态?
数据库·redis·mysql
hweiyu002 小时前
MySQL性能分析工具:SHOW PROCESSLIST
数据库·mysql
AI新视界2 小时前
『Python学习笔记』ubuntu解决matplotlit中文乱码的问题!
linux·笔记·ubuntu
njsgcs2 小时前
Mamba 状态空间模型 笔记 llm框架 一维卷积
笔记
龙湾开发2 小时前
计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 05.纹理贴图
c++·笔记·学习·3d·图形渲染·贴图
MustardJim2 小时前
tinyrenderer笔记(Shadow Mapping)
笔记·图形渲染