mysql-建表约束
时间:2020-04-17
本文章向大家介绍mysql-建表约束,主要包括mysql-建表约束使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
主键约束
可以唯一确定表中的一条记录
联合主键
由多个字段组成。
create table user2( id INT, name VARCHAR(20), password VARCHAR(20), primary key(id,name) );
只要主键值加起来不重复即可,也就是有一个不同就可以
主键不可以重复,任何一个字段都不可以为空
自增约束
可以和主键约束一起使用。
CREATE TABLE user3( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) );
INSERT INTO user3(name) VALUES('张三'); INSERT INTO user3(name) VALUES('张三'); INSERT INTO user3(name) VALUES('张三');
发现会自动生成id
如果在键表的时候,忘记创建主键约束了
则添加语句:(修改表结构,添加主键)
alter table user4 add primary key(id);
或者使用 midify 修改字段,添加约束。(这样操作比较少,了解一下)
alter table user4 modify id int primary key;
运行:
通过这条语句删除:
alter table user4 drop primary key;
运行:
外键约束
涉及到两个表:父表、子表(主表、副表/从表??)。
学生表是父表,班级表是主表,父表里的东西要参照主表,主表里面不存在的,父表无法添加。
主表中的记录被副表引用,是不可以被删除的。
唯一约束
约束修饰的字段的值不可以重复
即无法重复添加'zhangsan'。
CREATE TABLE user5( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) );
添加语句:(或者直接在上面的代码内添加 unique(name) )(或者直接在20的括号后面加 unique )
alter table user5 add unique(name);
或者:
alter table user5 modify name varchar(20) unique;
运行:
如果一下子添加两个,也就是unique(name,id),表示的是组合在一起不重复,那么Key那边会变成MUL
如何删除唯一约束?(需找到unique对应的字段)
alter table user5 drop index name;
非空约束
修饰的字段不能为空(NULL)
create table user9( id int, name varchar(20) NOT NULL );
运行:
默认约束
当我们插入字段的时候,如果没有传值,就会使用默认值。
create table user10( id int, name varchar(20), age int default 10 );
运行:
插入一个元素:
insert into user10(id,name) value(1,'zhangsan');
发现:即使没有插入年纪,也会有默认年纪显示。
原文地址:https://www.cnblogs.com/OFSHK/p/12719926.html
- 论如何高效的挖掘漏洞
- Rxjava + retrofit + dagger2 + mvp搭建Android框架
- 走进科学:如何正确的隐藏自己的行踪
- 比特儿(Bter.com) 比特币交易平台被盗事件全解析
- BitTorrent Bleep:无法被监控的聊天软件
- QQ蠕虫的行为检测方法
- 趋势OfficeScan系列产品漏洞分析
- [置顶] 浅谈我为什么选择用Retrofit作为我的网络请求框架
- 基于HTML5的Canvas指纹跟踪技术
- 有关 Android 应用桌面角标 (BadgeNumber) 实现的探讨
- XSS的原理分析与解剖
- Hold安全公司公布俄罗斯大型泄密事件细节
- 走近科学:如何搞定各种各样的终端机
- android 打造不同的Seekbar
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解
- Flutter基础widgets教程-Padding篇
- Flutter基础widgets教程-Placeholder篇
- Flutter基础widgets教程-PopupMenuButton篇
- Python部署rad+xray自动化
- 2.建立第一个django项目与配置
- Flutter基础widgets教程-Radio篇
- Django中的QuerySet
- Python—requests模块详解
- python爬虫伪装请求头---fake-useragent
- Flutter基础widgets教程-RaisedButton篇
- 记一次 excel vba 参考手册爬虫实战,不必要的一次爬虫。
- xray子域名扫描结果导出
- AWS的湖仓一体使用哪种数据湖格式进行衔接?
- python 行政区域地址标准化:业务经理填报的地址乱起八糟,高德接口有点厉害!
- python 行政区域地址标准化:业务经理填报的地址乱起八糟,高德接口有点厉害! -- 后续,使用分词思路完成解析