mysql约束_从零开始学 MySQL - SQL 约束分类
目录1、实验简介2、约束
今天我们学习一下 SQL 的约束分类。
1、实验简介
约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性、唯一性。本节实验将在实践操作中熟悉 MySQL 中的几种约束。
2、约束
本节实验会创建几个表,然后对其中的各个字段添加约束,学习添加和测试约束的方法。
2.1 约束分类
听名字就知道,约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性、唯一性。
比如,规定一个用户的用户名不能为空值且没有重复的记录,这就是一种约束规则。
在 MySQL 中,通常有这几种约束:
2.2 建立含约束的表
为了方便介绍这几种约束,我们先建立一个数据库。
注意:提前输入命令开启 MySQL 服务并使用 root 用户登录:
#打开 MySQL 服务
sudo service mysql start #使用 root 用户登录
mysql -u root
然后使用下面的命令,创建数据库
CREATE DATABASE mysql_shiyan;use mysql_shiyan;CREATE TABLE department
(dpt_name CHAR(20) NOT NULL,people_num INT(10) DEFAULT '10',CONSTRAINT dpt_pk PRIMARY KEY (dpt_name));CREATE TABLE employee
(id INT(10) PRIMARY KEY,name CHAR(20),age INT(10),salary INT(10) NOT NULL,phone INT(12) NOT NULL,in_dpt CHAR(20) NOT NULL,UNIQUE (phone),CONSTRAINT emp_fk FOREIGN KEY (in_dpt) REFERENCES department(dpt_name));CREATE TABLE project
(proj_num INT(10) NOT NULL,proj_name CHAR(20) NOT NULL,start_date DATE NOT NULL,end_date DATE DEFAULT '2015-04-01',of_dpt CHAR(20) REFERENCES department(dpt_name),CONSTRAINT proj_pk PRIMARY KEY (proj_num,proj_name)
);
其中包含的代码可以新建一个数据库 mysql_shiyan,然后在其中创建三张表 department,employee,project,它们包含了各种约束。
命令执行成功之后。
查看一下这个数据库,输入命令 show tables;
,可见:
mysql约束_从零开始学 MySQL - SQL 约束分类相关推荐
- select计数语句_从零开始学 MySQL SELECT 语句详解
阅读本文大概需要 7 分钟 前言上篇文章我们学习了 MySQL 的五种约束,今天这篇文章我们来学习下 SELECT 语句.在数据库操作语句中,使用最频繁,也被认为最重要的是 SELECT 查询语句.在 ...
- mysql 新增从数据库_从零开始学 MySQL - 创建数据库并插入数据
目录 1.实验内容 2.实验知识点 3.开发准备 4.实验总结 1.实验内容 本次课程将介绍 MySQL 新建数据库,新建表,插入数据以及基本数据类型的相关知识.本节实验将创建一个名为 mysql_s ...
- access 导入 txt sql语句_从零开始学习 MySQL 系列索引、视图、导入和导出
阅读本文大概需要 8 分钟 前言上篇文章我们学习了数据库和数据表操作语句,今天我们学习下数据库索引,视图,导入和导出的知识.作为基础篇,不会涉及到关于索引和视图的高级应用和核心概念,但是基本操作大家会 ...
- mysql5.5从零开始_【MySQL函数】MySQL 5.5从零开始学第六章
说明:本文总结自:<MySQL 5.5从零开始学>第六章 MySQL中的函数包括: 数学函数.字符串函数.日期和时间函数.条件判断函数.系统信息函数和加密函数等. 函数: 表示对输入参数值 ...
- 从零开始学 MySQL —数据库和数据表操作
前言 今天我们学习下核心的内容,学习并实践如何对数据库表和表中的内容做修改,删除,重命名等操作.(想看看周末还有多少爱学习的小伙伴,你们在哪里呀,O(∩_∩)O哈哈~) 1.目录 数据库操作:删除数 ...
- mysql 5 7从零开始学_MYSQL 5.5从零开始学 (刘增杰,张少军) pdf扫描版
<mysql 5.5从零开始学>主要包括mysol的安装与配置.数据库的创建.数据表的创建.数据类型和运算符.mysql函数.查询数据.数据表的操作(插入.更新与删除数据).索引.存储过程 ...
- 兄弟连mysql数据库_兄弟连学python-------MySQL数据库基础知识
1.数据库系统(database system) 数据库系统是计算机系统中一种专门管理数组资源的系统,数据库存储的是一组或多组经过处理后的数据,管理这个数据库的软件成为数据库管理系统. 组成: 数据库 ...
- 财务学习mysql_从零开始学 MySQL - 前言
前言 如果真的要说程序员用得最多的语言,那应该是 SQL 吧. 不仅是前端,或是后端或多或少都要懂得写一些 SQL.甚至接触过很多业务人员,例如产品经理.运营.财务人员,也懂得写 SQL. SQL 作 ...
- mysql导入dat文件_从零开始学习 MySQL 系列--索引、视图、导入和导出
前言 上篇文章我们学习了数据库和数据表操作语句,今天我们学习下数据库索引,视图,导入和导出的知识. 作为基础篇,不会涉及到关于索引和视图的高级应用和核心概念,但是基本操作大家会了解,尤其是关于索引的内 ...
最新文章
- web服务器与网页表单通信,前端与后端通信的几种方式
- php源码编译常见错误解决方案大全
- WIN7如何禁止IE浏览器自动升级
- SAP Spartacus B2B 页面 Disable Confirmation 对话框的显示原理
- 磁盘的块大小(Block Size)和扇区大小(Sector Size)
- Docker学习总结(18)——阿里超大规模Docker化之路
- C++初学之 3. ASCII数值的应用(大小写变换)
- mycat mysql 主从_Mycat实现Mysql主从读写分离
- java ajaxsubmit_ajaxSubmit返回JSON格式
- item_get - 根据ID取聚美优品商品详情
- 内部显示不支持自定义分辨率
- DoIP节点连接状态管理
- PS中图层混合模式的Blend公式
- MySQL字段约束及多表查询---讲解三
- 【Win10 UWP】微信SDK基本使用方法和基本原理
- 华米自有品牌销量过百万,去小米化或进一步加强
- find和findstr区别
- C语言幻方矩阵的求解
- Apache Calcite 论文翻译
- 从原始文档到KNN分类算法实现(一)
热门文章
- 【翻译自mos文章】job 不能自己主动运行的解决方法
- 【转】IE劫持原理 BHO
- java对xml文件做增删改查------摘录
- Hdu 1072 【广搜】.cpp
- 火星人敏捷开发手册 原10.31版本已于10.14提前发布,特此通知
- react 子组件ref_React中Ref 的使用方法详解
- java 方法重载 应用举例,Java 实例 - 重载(overloading)方法中使用 Varargs
- wp comments post.php,通过修改wp-comments-post.php 防wordpress垃圾(spam)评论 | 沉默过客
- mysql6支持connect by_mysql 实现oracle start with connect by递归
- java读取ini_java 读取ini配置文件