一、列完整性约束

列完整性约束:是指对某一列设置的约束条件。该列上的数据必须满足。最常见的有:

NOT NULL 该列值不能为空
NULL  该列值可以为空
UNIQUE 该列值不能存在相同
DEFAULT 该列某值在未定义时的默认值
CHECK  用户自定义的约束
AUTO_INCREMENT 该列值自动增加

二、表级完整性约束

表级完整性约束:规定了关系主键、外键和用户自定义完整性约束

PRIMARY KEY 主键
FOREIGN KEY 外键

三、创建表的格式

CREATE TABLE [表名]
(
[属性名称] [数据类型] [列完整性约束],
...
[表级完整性约束]
); 格式一: CREATE TABLE [表名]
(
[属性名称] [数据类型] [列完整性约束] PRIMARY KEY,
...
CONSTRAINT [约束名] FOREIGN KEY (属性) REFERENCES [约束属性所在表](属性)
); 格式二: CREATE TABLE [表名]
(
[属性名称] [数据类型] [列完整性约束],
...
CONSTRAINT [约束名] PRIMARY KEY(属性),
CONSTRAINT [约束名] FOREIGN KEY (属性) REFERENCES [属性所在表](属性)
);

注意:假如定义一个表时需要参考引用其它表的属性作为约束条件,那么必须保证被参考的表已经定义

四、简单建表示例

CREATE TABLE IF NOT EXISTS 专业(
专业编号 INT NOT NULL PRIMARY KEY,
专业名称 VARCHAR(20)
); CREATE TABLE IF NOT EXISTS 基本信息(
学号 INT AUTO_INCREMENT,
专业编号 INT NOT NULL,
身份证号 CHAR(18) UNIQUE,
籍贯 VARCHAR(5) DEFAULT '河北省',
性别 CHAR(1) CHECK(性别='女' OR 性别='男'),
是否婚配 ENUM('是','否'),
CONSTRAINT 主键约束 PRIMARY KEY(学号),
CONSTRAINT 外键约束 FOREIGN KEY(专业编号) REFERENCES 专业(专业编号)
);

五、删除表

DROP TABLE IF EXISTS [表名];

MySQL入门,第四部分,学会创建、删除表的更多相关文章

  1. mysql创建/删除表的例子

    创建表 简单的方式 CREATE TABLE person ( number INT(11), name VARCHAR(255), birthday DATE ); 或者是 CREATE TABLE ...

  2. MySQL入门,第八部分,多表查询(一)

    一.数据库脚本 #-------------------------------------------------------------------------------- #--------- ...

  3. Oracle 创建/删除 表空间、用户、授权

    首先以DBA连接到数据库:sqlplus / as sysdba; --创建表空间 create tablespace test_tablespace datafile 'D:\developer\o ...

  4. Oracle创建/删除表空间和用户(2014-3-10 记)

    /*创建表空间名为:DB_NAME*/ create tablespace DB_NAME datafile 'E:\oracle_data\db_name.dbf' size 100M autoex ...

  5. 六分钟学会创建Oracle表空间的步骤

    经过长时间学习创建Oracle表空间,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西. 1.先查询空闲空间 select tablespace_name,file_id,blo ...

  6. MySQL入门,第七部分,单表查询

    首先我们需要了解一下整个数据库的结构 其中Student表中Sno为主键.Study表中Sno和Cno合起来做主键.Course表中Cno为主键 其创建脚本如下: #----------------- ...

  7. MySQL入门(四)

    我好久没有写这个系列了,也确实不知道写什么.回首我学习数据库的路,最开始搞Oracle的时候其实没有搞懂Oracle,也不知道学了什么,后来学习MySQL尤其是InnoDB才大概入了门了.我最开始学习 ...

  8. 【数据库】8.0 MySQL入门学习(八)——创建并使用数据库、获得数据库和表的信息

    1.0 使用SHOW语句找出服务器上当前存在什么数据库: mysql> SHOW DATABASES; 每台机器上的数据库列表是不同的,但是很可能有mysql和test数据库.mysql是必需的 ...

  9. oracle创建/删除表空间、创建/删除用户并赋予权限

    创建表空间 分开执行如下sql语句 --创建临时表空间 CREATE SMALLFILE TEMPORARY TABLESPACE "TEMP11" TEMPFILE 'E:\ap ...

  10. oracle创建删除表空间

    create [undo|temporary] tablespace orcp datafile|tempfile 'E:\orcle\oracleBaseDir\oradata\orcp\orcp. ...

随机推荐

  1. 附013.Kubernetes永久存储Rook部署

    一 Rook概述 1.1 Ceph简介 Ceph是一种高度可扩展的分布式存储解决方案,提供对象.文件和块存储.在每个存储节点上,将找到Ceph存储对象的文件系统和Ceph OSD(对象存储守护程序)进 ...

  2. IE8使用chrome内核渲染

    1  第一步  https://download.csdn.net/download/qq_34626479/11223448  下载chrome frame安装包; 2  第二步  网页头部添加一行 ...

  3. Git 基础入门

    目录 git安装 基本设置 创建版本库 相关概念 将代码提交到分支仓库 版本回退 代码修改 撤销修改 文件删除 github 远程仓库 添加远程仓库 克隆远程仓库 分支操作 忽略特殊文件 git安装 ...

  4. Clipboard.SetText()卡住问题

    调用 Clipboard.SetText(),每次都抛出异常:"CLIPBRD_E_CANT_OPEN" 调查后发现,实际上SetText有成功的将文本复制到Clipboard,但 ...

  5. java时间切片工具

    项目中经常会遇到根据根据时间区间来查询数据的场景, 如时间跨度大可能相应的sql的执行效率会显著降低, 因此可以对时间区间进行切割成若干个小范围的时间片, 这样不仅可以提高sql的性能还可以做一下并发 ...

  6. Lambda表达式学习笔记

    Lambda基础语法 Java8中引入了一个新的操作符" -> ",该操作符被称为箭头操作符或Lambda操作符,箭头操作符将Lambda表达式拆分成两部分: 左侧:Lamb ...

  7. 项目部署Django+celery+redis

    celery介绍 1.celery应用举例 1.Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理,   如果你的业务场景中需要用到异步任务,就可以 ...

  8. iOS开发如何面对疫情过后的面试高峰期 !

    2020年本应该是一个 "爱你.爱你"的年份!却因为 黑天鹅 给我们带来非常大的影响! 一.2020年iOS招聘数据分析 这里是 2020年3月份BOSS直聘 北京iOS招聘前几页 ...

  9. JSFinder:一个在js文件中提取URL和子域名的脚本

    JSFinder介绍 JSFinder是一款用作快速在网站的js文件中提取URL,子域名的脚本工具. 支持用法 简单爬取 深度爬取 批量指定URL/指定JS 其他参数 以往我们子域名多数使用爆破或DN ...

  10. python浅学【网络服务中间件】之MongoDB

    一.关于MongoDB: MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为WEB应用提供 ...