MySQL操作表的约束
完整性:指数据库的准确性和一致性。
约束:是在表中定义的用于维护数据库完整性的一些规则。
主键:给某一个字段来唯一标识所有记录,值是唯一的,非空的
外键:多个表之间参照的完整性。
一、设置非空约束
use 教学管理数据库; show tables; create table 专业表( 专业编号 char(3) not null, 专业名称 varchar(30) ); desc 专业表;
二、设置字段的默认值
drop table 专业表; create table 专业表( 专业编号 char(3) not null(约束), 专业名称 varchar(30) default(默认的) '计算机' );
desc 学生表;
三、设置唯一约束
drop table 专业表; create table 专业表( 专业编号 char(3) not null, 专业名称 varchar(30) default(默认的) '计算机' unique(唯一) );
desc 专业表;
四、设置主键约束
1)单字段主键 drop table 专业表; create table 专业表( 专业编号 char(3) not null(约束) primary(主要) key(设置主键约束), 专业名称 varchar(30) );
desc 专业表;
(2)多字段主键
drop table 专业表; create table 专业表( 专业编号 char(3) not null, 专业名称 varchar(30), constraint pk_专业编号_专业名称 primary key(设置主键约束)(专业编号,专业名称) );
查看表结构
desc 专业表;
五、设置字段值自动增长
drop table 专业表; create table 专业表( 专业编号 int primary key(设置主键约束) auto_increment(设置字符段自动增长), 专业名称 varchar(30) );
查看表结构
desc 专业表;
六、设置外键
desc 学生表; desc 专业表; drop table 学生表; create table 学生表( 学生编号 char(4) primary key(设置主键约束), 学生姓名 varchar(10), 所属专业编号 int, 所属班级编号 char(3), 职务 varchar(6), 性别 char(1), 出生日期 datetime, 籍贯 varchar(50), 入学日期 datetime, constraint(约束) fk_所属专业编号 foreign key(设置外键)(所属专业编号) references(依附,属于) 专业表(专业编号) );
查看表结构
desc 学生表;
MySQL所支持的完整性约束
- 设置非空约束,含义:设置字段不能为空值
2.设置字段默认值,含义:当为数据库表中插入一条新记录时;如果没有为某个字段赋值那么数据库会自动为这个字段插入默认值。
3.设置唯一约束;含义:设置不允许重复,保证不能重复
4.设置主键约束;含义:表示该字段可以唯一的表示所有记录
5.设置字符自动增长;含义:一个数据库表中只能有一个字段使用该约束,该字段类型必须是整形
6.设置外键约束;含义:外加约束则保证多个表之间的参照完整性构建两个表的两个字段之间的关系
字段值自动增长的优点
当为数据库表中插入新纪录时,字段上的值会自动生成唯一的ID
设置字段的默认值有什么优点
如果没有为某个字段赋值那么数据库会自动为这个字段插入默认值。
MySQL操作表的约束的更多相关文章
- mysql 外键约束备注
梳理mysql外键约束的知识点. 1.mysql外键约束只对InnoDb引擎有效: 2.创建外键约束如下: DROP TABLE IF EXISTS t_demo_product; CREATE TA ...
- MySQL外键约束On Delete、On Update各取值的含义
主键.外键和索引的区别? 主键 外键 索引 定义: 唯一标识一条记录,不能有重复的,不允许为空 表的外键是另一表的主键, 外键可以有重复的, 可以是空值 主索引(由关键字PRIMARY定义的索引) ...
- MySQL之外键约束
MySQL之外键约束 MySQL有两种常用的引擎类型:MyISAM和InnoDB.目前只有InnoDB引擎类型支持外键约束.InnoDB中外键约束定义的语法如下: [CONSTRAINT [symbo ...
- Mysql表的约束设计和关联关系设计
https://blog.csdn.net/u012750578/article/details/15026677 Mysql表的约束设计和关联关系设计 ======================表 ...
- mysql 外键约束及表关联
一.MYSQL中的约束 1.主键:primary key 唯一非空的特性并且可以优化查询速度 2.外键:foreign key 外键的作用保证2个或2个以上的数据表的数据一致性和完整性 3.唯一:un ...
- MySql中的约束
mysql中的约束使用和oracle使用差别不大. 1.主键约束 如同人对应身份证,主键能够唯一地标识表中的一条记录,可以结合外键来定义数据表之间的关系. 主键约束要求主键列的数据唯一,并且不允许为空 ...
- 一、TCL事务控制语言 二、MySQL中的约束 三、多表查询(重点) 四、用户的创建和授权 五、MySQL中的索引
一.TCL事务控制语言###<1>事务的概念 事务是访问并可能更新数据库中各种数据项的执行单元. 事务是一条SQL语句,一组SQL语句,或者整个程序. 事务是恢复和并发控制的基本单位. 事 ...
- Mysql 主键约束PrimaryKey
Mysql 主键约束Primary Key 今天来简单的讲一下主键约束. 假如有一张学生信息表,里面记录了学生的学号 ,姓名,成绩等,那么,会不会有两个学号相同的学生,答案肯定是否定的,如果有的话也只 ...
- mysql外键约束总结
总结三种MySQL外键约束方式 如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表.外键是用来实现参照完整性的,不同的外键约束方式将可以使两张表紧密的结合起来,特别是 ...
随机推荐
- selenium中js定位
学习selenium的时候经常用扫的定位方式WebDriver定位方式,但是一些Windows的窗口就无力了,这时候可以用js定位 使用js定位的时候是用DOM树定位方式 eg: document.g ...
- 为Python安装pip
Python及操作系统的支持 Python 2.6, 2.7, 3.2, 3.3, 3.4 Unix/Linux, OS X, 以及 Windows 默认包含 Python 2.7.9 及以后的版 ...
- 环境变量之classpath配置和临时配置
前言 本篇文章介绍classpath环境变量的配置和一个环境变量配置的技巧:临时配置path环境变量. 正文 classpath环境变量配置 在上完了"Hello World"这堂 ...
- rimraf node_modules 突然不能用了 怀疑是yarn的问题,从环境变量将yarn删掉,能用了
rimraf node_modules 突然不能用了 怀疑是yarn的问题,从环境变量将yarn删掉,能用了
- 12. Java 获取指定字符第N次出现的位置
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Demo { //判断"Ab2Ad3 ...
- FFmpeg SDK for iOS
FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的跨平台开源计算机程序. 很多平台视频播放器都是使用FFmpeg来开发的,FFmpeg官方并没有为各个平台提供编译好的SDK,所以使 ...
- c# 自定义含有标题的容器控件(标题背景为渐变色)
1.控件效果图 此效果图中的标题颜色.字号及字体可以在控件属性中设置.标题背景的渐变色及布局内容的背景色也可以在属性中设置. 2.实现的代码(用户控件) public partial class Uc ...
- 企业级自动化部署方案——ansible实现tomcat自动安装和配置
共耗时10多个小时 思路一 总体设计 ansible-playbook目录结构 [root@ansible ~]# tree /etc/ansible/roles/tomcat /etc/ansibl ...
- Python第二章-变量和数据类型
变量和数据类型 一.什么是变量,常量 思考:程序执行指的是什么? 对数据进行存储处理和计算,最终获得结果,这是程序执行的本质. 变量的概念和在数学中的变量的概念一样的,只是在计算机程序中,变量不仅可以 ...
- shell脚本介绍以及常用命令
Shell脚本 Shell Script,Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的 ...