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)
相关推荐
云边有个稻草人33 分钟前
【优选算法】—复写零(双指针算法)
笔记·算法·双指针算法
冷眼看人间恩怨9 小时前
【Qt笔记】QDockWidget控件详解
c++·笔记·qt·qdockwidget
White_Mountain9 小时前
在Ubuntu中配置mysql,并允许外部访问数据库
数据库·mysql·ubuntu
老王笔记9 小时前
GTID下复制问题和解决
mysql
Lojarro11 小时前
【Spring】Spring框架之-AOP
java·mysql·spring
TianyaOAO11 小时前
mysql的事务控制和数据库的备份和恢复
数据库·mysql
Ewen Seong11 小时前
mysql系列5—Innodb的缓存
数据库·mysql·缓存
W215513 小时前
Liunx下MySQL:表的约束
数据库·mysql
nbsaas-boot14 小时前
探索 JSON 数据在关系型数据库中的应用:MySQL 与 SQL Server 的对比
数据库·mysql·json
Hejjon14 小时前
SpringBoot 整合 SQLite 数据库
笔记