一、列完整性约束

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

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. Ubuntu下实现歌词解析

    我们要明确目的,实现歌曲歌词同步. 1.将歌词文件一次性去取到内存中.(以周董的“简单爱”为例) a.用fopen打开歌词文件 FILE *fp  = fopen(“简单爱.lrc”,"r& ...

  2. 【Weiss】【第03章】练习3.3:通过交换指针交换单/双链表元素

    [练习3.3] 通过之调整指针(而不是数据)来交换两个相邻的元素,使用 a.单链表 b.双链表 Answer: 先放测试代码,折叠标题可以看到分别是哪种链表的测试. 实测可满足题意,但单链表和双链表的 ...

  3. 记一次:Windows的Socket编程学习和分析过程

    Socket编程依赖于:WS2_32.dll --- 服务端 --- .导入我们需要的函数 #incldue <windows.h> //#include<WinSock2.h> ...

  4. python enumerate用法总结(转)

    原文链接:https://blog.csdn.net/churximi/article/details/51648388 enumerate()说明 enumerate()是python的内置函数en ...

  5. Python-文件操作-之优化购物车

    #此次购物车优化,主要使用了文件操作的相关方法,有买家入口,和商家入口 一.买家入口 1.买家第一次启动程序输入金额,金额会记录到文件里,再登录就读取文件里保存的金额,买家可以购买商品,按 ‘q’ 退 ...

  6. [Linux系统] CentOS7(RHEL7)重置root用户密码

    1.系统启动时,按"e"进入编辑界面 2.编辑内容 将rhgb quiet修改为 init=/bin/sh : 然后按 ctrl+x . 3.修改root密码 mount -o r ...

  7. 使用docker构建双主mysql

    我们有的时候需要双主mysql, 这样无论哪个数据库出现了问题的话都可以继续使用数据库.把两个数据库挂到一个代理上面,这样哪个服务出问题了,另外一个就可以继续服务了.当然本文不是主要谈代理的,所以这个 ...

  8. 《自拍教程51》Python_adb批量生成App版本表格

    案例一:版本在软件研发阶段是很重要的, 不同的版本, 已修复的Bug也不一样, 所实现的功能不一样, Android终端产品正式版本发布前,项目经理除了确保系统版本确定无误外, 还会逐个验证所搭载的所 ...

  9. 使用TensorFlow v2.0构建卷积神经网络

    使用TensorFlow v2.0构建卷积神经网络. 这个例子使用低级方法来更好地理解构建卷积神经网络和训练过程背后的所有机制. CNN 概述 MNIST 数据集概述 此示例使用手写数字的MNIST数 ...

  10. 关于TensorFlow九件你非知不可的事

    来源 | Hackernoon 译者 | Revolver 前些天我参加了7 月24 日在美国旧金山举行的Google Cloud Next 2018 大会,其中的一个演讲( What's New w ...