MySQL学习笔记之约束条件

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 约束条件: PRIMARY KEY(主键)         NOT NULL(非空)              AUTO_INCREMENT(自增长) UNIQUE(值唯一)                FOREING KEY(外键)       DEFAULT(默认值)  ...

约束条件:

PRIMARY KEY(主键)         NOT NULL(非空)              AUTO_INCREMENT(自增长)

UNIQUE(值唯一)                FOREING KEY(外键)       DEFAULT(默认值)

 1、主键(一个表中主键只能有一个 ,但是可以组合使用,PRIMARY可以省略)

CREATE TABLE thinkgamer(

id INT PRIMARY KEY

);

符合主键使用例子

CREATE TABLE thinkgamer(

id INT,

number INT,

PRIMARY KEY(id,number)

);

2、非空

CREATE TABLE thinkgamer(

id INT PRIMARY KEY,

sex ENUM('男','女','保密') NOT NULL

)CHARSET=UTF8;

这里必须指定字符集为utf8,否则会报错: Column 'sex' has duplicated value '?' in ENUM

3、自增长

CREATE TABLE thinkgamer(

id INT PRIMARY KEY AUTO_INCREMENT,

sex ENUM('男','女','保密') NOT NULL

)CHARSET=UTF8;

在车入数据时自增长字段可以这样写:

INSERT thinkgamer VALUES(1,'男');               #注释:插入的第一条数据必须指定id

之后可以这样写INSERT thinkgamer VALUES(null,'男');或者INSERT thinkgamer(sex) VALUES('男');

4、唯一(指定的字段不允许重复,一旦插入name重复就会报错)

CREATE TABLE thinkgamer(

id INT PRIMARY KEY AUTO_INCREMENT,

sex ENUM('男','女','保密') NOT NULL,

name VARCHAR(20) UNIQUE

)CHARSET=UTF8;

5、外键 ()

主要用于多表,具体请参考:http://www.cnblogs.com/babycool/archive/2012/05/06/2485809.html

6、默认值

CREATE TABLE thinkgamer(

id INT PRIMARY KEY AUTO_INCREMENT,

sex ENUM('男','女','保密') NOT NULL,

name VARCHAR(20) UNIQUE,

age INT DEFAULT 20

)CHARSET=UTF8;

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
关系型数据库 MySQL 数据库
MySQL数据库——约束
MySQL数据库——约束
|
1月前
|
SQL 关系型数据库 MySQL
【MySQL 数据库】2、MySQL 的数据控制语言、函数和约束
【MySQL 数据库】2、MySQL 的数据控制语言、函数和约束
29 0
|
3月前
|
存储 关系型数据库 MySQL
Linux C/C++ 开发(学习笔记八):Mysql数据库图片存储
Linux C/C++ 开发(学习笔记八):Mysql数据库图片存储
49 0
|
3月前
|
关系型数据库 MySQL 数据库
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除
49 0
|
20天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
|
20天前
|
存储 关系型数据库 MySQL
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
|
1月前
|
存储 关系型数据库 MySQL
【mysql】—— 表的约束
【mysql】—— 表的约束
|
2月前
|
关系型数据库 MySQL
MySQL学习笔记
MySQL学习笔记
|
2月前
|
安全 关系型数据库 MySQL
某教程学习笔记(一):09、MYSQL数据库漏洞
某教程学习笔记(一):09、MYSQL数据库漏洞
17 0
|
2月前
|
存储 关系型数据库 MySQL
MySQL技能完整学习列表5、数据库操作——3、索引(Indexing)——4、约束(Constraints)
MySQL技能完整学习列表5、数据库操作——3、索引(Indexing)——4、约束(Constraints)
37 0