1.外键约束(保持数据一致,完整。实现一对多或一对一)

父表(参照的表)和子表(有外键列的表)必须使用相同的存储引擎InnoDB,禁止使用临时表。

外键列和参照列必须具有相似的数据类型。其中数字的长度或有符号位必须相同,而字符长度可以不同。

外键列和参照列必须创建索引。外键列不存在索引,mysql将自动创建。

CREATE TABLE t6(
     id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
     pname VARCHAR(20) NOT NULL
  );
CREATE TABLE t7(
    id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
     username VARCHAR(20) NOT NULL,
    pid SMALLINT UNSIGNED,
    FOREIGN KEY(pid) REFERENCES provinces(id)
 );

可查看索引

SHOW INDEXES FROM t6

1.CASCADE:从父表删除或更新且自动删除或更新子表与之匹配的行

2.SET NULL:从父表删除或更新行,并设置子表中的外键列

3.RESTRICT:拒绝对父表的删除或更新操作

4:NO ACTION:sql关键字,在mysql中与RESTRICT相同

注:一般开发过程中,使用逻辑外键,不使用FOREIGN KEY因为具又局限性。

表级约束与列级约束

对一个数据列建立的约束,称为列级约束

对多个数据列建立的约束,称为表级约束

2.修改数据表,增加字段

ALTER TABLE t7 ADD age TINYINT UNSIGNED NOT NULL DEFAULT 10

删除列

ALTER TABLE t7 DROP age

添加约束

ALTER TABLE user2 ADD id SMALLINT NOT NULL

添加主键约束

ALTER TABLE user2 ADD CONSTRAINT PK_user2_id PRIMARY KEY(pid)

添加唯一约束

ALTER TABLE user2 ADD UNIQUE(username);

添加外键约束

ALTER TABLE user2 ADD FOREIGN KEY (pid) REFERENCES provinces(id);

添加默认约束

ALTER TABLE user2 ALTER age SET DEFAULT 15;

删除约束

ALTER TABLE user2 DROP PRIMARY KEY;
ALTER TABLE user2 DROP INDEX username;
ALTER TABLE user2 DROP FOREIGN KEY user2

修改列定义

ALTER TABLE user2 MODIFY id SMALLINT UNSIGNED NOT NULL;

mysql的学习笔记(三)的更多相关文章

  1. MYSQL进阶学习笔记三:MySQL流程控制语句!(视频序号:进阶_7-10)

    知识点四:MySQL流程控制语句(7-10) 选择语句: (IF ELSE ELSE IF CASE 分支)IFNULL函数 IF语法: 语法规则: IF search_condition THEN ...

  2. MYSQL初级学习笔记三:数据的操作DML!(视频序号:初级_24,25,36)

    知识点五:数据的操作DML(24,25,36) 插入数据: --测试插入记录INSERT CREATE TABLE IF NOT EXISTS user13( id TINYINT UNSIGNED ...

  3. MYSQL学习笔记三:日期和时间函数

    MYSQL学习笔记三:日期和时间函数 1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ ...

  4. MySql学习笔记三

    MySql学习笔记三 4.DML(数据操作语言) 插入:insert 修改:update 删除:delete 4.1.插入语句 语法: insert into 表名 (列名1,列名2,...) val ...

  5. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  6. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  7. [Firefly引擎][学习笔记三][已完结]所需模块封装

    原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读:        笔记三主要就是各个模块的封装了,这里贴 ...

  8. 基于【 MySql 】二 || mysql详细学习笔记

    mysql重点学习笔记 /* Windows服务 */ -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysql ...

  9. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  10. MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

随机推荐

  1. CSS布局-圣杯布局

    圣杯布局 圣杯布局很完美(兼容所有浏览器,包括IE6),但是使用了相对定位,布局有局限性,宽度控制要改的地方也多. 第一种方法公用部分: .lgyz, .lzrg, .lrzcg, .lcgrz, . ...

  2. python 3.6 lxml标准库lxml的安装及etree的使用注意

    据我所知,python 3.5之后的lxml模块里面不再包含etree,那么要怎么解决这个问题呢? lxml模块下的etree函数的使用问题,部分lxml模块不再支持etree方法,因此只能想办法下载 ...

  3. Python startswith()方法

    描述 Python startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False.如果参数 beg 和 end 指定值,则在指定范围内检查. 语法 ...

  4. phantomjs Can not connect to the Service phantomjs错误

    尝试方法一: 打开hosts文件配置 cat /etc/hosts 添加 127.0.0.1 localhost 重新运行 尝试方法二: 1,抛开服务,直接调用phantomjs定位问题 由于我是从服 ...

  5. selenium webdriver (python)大全

    webdriver的简介 硒2.0的主要新功能是集成的webdriver的API.webdriver的设计除了解决一些seleniumr-RC API的一些限制,与webdriver 的整合,将提供一 ...

  6. php一些需要注意的点

    1,类的自动加载: spl_autoload_register(function ($class_name) { require_once $class_name . '.php';}); autol ...

  7. 插入排序算法java

    转自https://blog.csdn.net/jianyuerensheng/article/details/51254415 1.基本思想 直接插入排序的基本操作是将一个记录插入到已经排好的有序表 ...

  8. Java借助CountDownLatch完成异步回调

    public class AsyncDemo { private static void doSomeTask() { System.out.println("Hello World&quo ...

  9. txn.go

    package clientv3 import (     "sync"     pb "github.com/coreos/etcd/etcdserver/etcdse ...

  10. BZOJ_1433_[ZJOI2009]假期的宿舍_二分图匹配

    BZOJ_1433_[ZJOI2009]假期的宿舍_二分图匹配 题意: 学校放假了······有些同学回家了,而有些同学则有以前的好朋友来探访,那么住宿就是一个问题.比如A 和B都是学校的学生,A要回 ...