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)
相关推荐
scdifsn5 小时前
动手学深度学习12.7. 参数服务器-笔记&练习(PyTorch)
pytorch·笔记·深度学习·分布式计算·数据并行·参数服务器
曼汐 .5 小时前
数据库管理与高可用-MySQL高可用
数据库·mysql
MickeyCV5 小时前
使用Docker部署MySQL&Redis容器与常见命令
redis·mysql·docker·容器·wsl·镜像
刘 大 望5 小时前
数据库-联合查询(内连接外连接),子查询,合并查询
java·数据库·sql·mysql
LiRuiJie6 小时前
深入剖析MySQL锁机制,多事务并发场景锁竞争
数据库·mysql
睡觉待开机7 小时前
0. MySQL在Centos 7环境安装
数据库·mysql·centos
一叶知秋哈7 小时前
Java应用Flink CDC监听MySQL数据变动内容输出到控制台
java·mysql·flink
jackson凌7 小时前
【Java学习笔记】SringBuffer类(重点)
java·笔记·学习
huangyuchi.8 小时前
【Linux】LInux下第一个程序:进度条
linux·运维·服务器·笔记·进度条·c/c++
pp-周子晗(努力赶上课程进度版)8 小时前
【MySQL】视图、用户管理、MySQL使用C\C++连接
数据库·mysql