MySQL数据库基础(二)(约束以及修改数据表)(持续更新中)

一,约束以及修改数据表

约束的作用?1.约束保证数据的完整性、一致性;2.约束分为表级约束、列级约束;3.约束类型包括:NOT NULL(非空约束)、PRIMARY KEY(主键约束)、UNIQUE KEY(唯一约束)、DEFAULT(默认约束)、FOREIGN KEY(外键约束);

列级约束:只针对某一个字段;表级约束:针对两个或两个以上的字段;

1.外键约束的要求解析

外键约束作用:1.保持数据一致性、完整性;2.实现一对一或一对多关系;(这是也把MySQL称之为“关系型”数据库的一个根本性原因)

外键约束的要求:1.;2.;3.

;4.外键列和参照列必须创建索引,如果外键列不存在索引的话,MySQL将自动创建索引;

子表:具有外键列的表;父表:字表所参照的表;外键列:加过外键关键词的列;参照列:外键列所参照的列;

查看数据表的属性命令:SHOW CREATE TABLE tb_name,从下图中可以看到,数据表provinces的存储引擎为:InnoDB

下图展示子表(users)、父表(provinces)具体的创建过程,其中子表中的pid为外键列,父表中的id为参照列,英文reference的意思为“参照”

查看数据表的索引命令:SHOW INDEXES FROM tb_name,命令结尾加‘\G’,可以将命令执行结果以网格的形式展示,从下图中可以看到,id字段上已经创建了索引,这是因为创建主键的时候会自动创建索引而子表users中存在两个索引,pid字段上存在索引这也证明了‘‘如果外键列不存在索引的话,MySQL将自动创建索引” 

 

 

时间: 2024-10-04 11:18:22

MySQL数据库基础(二)(约束以及修改数据表)(持续更新中)的相关文章

MySQL(三) —— 约束以及修改数据表

约束: 1. 约束保证数据的完整性和一致性: 2. 约束分为表级约束和列级约束: 3. 约束类型包括:NOT NULL, PRIMARY KEY, UNIQUE KEY, DEFAULT, FOREIGN KEY 外键约束 父表和子表必须使用相同的存储引擎,而且禁止使用临时表: 数据库的存储引擎只能为InnoDB: 外键列和参照列必须具有相似的数据类型.其中数字的长度或是否有符号位必须相同:而字符的长度则可以不同: 外键列和参照列必须创建索引.如果外键列不存在索引的话,MySQL将自动创建索引.

MySQL学习笔记 约束以及修改数据表

*** 约束保证数据的完整性和一致性 *** 约束分为表级约束和列级约束 *** 约束类型包括: NOT NULL(非空约束) PRIMARY KEY(主键约束) UNIQUE KEY(唯一约束) DEFAULT(默认约束) FOREIGN KEY(外键约束) 1.外键约束的要求解析 *** 父表和子表必须使用相同的存储引擎,而且禁止使用临时表. *** 数据表的存储引擎只能为InnoDB. *** 外键列和参照列必须具有相似的数据类型.其中数字的长度或是否有符号位必须相同:而字符的长度则可以不

约束以及修改数据表

先创建一个数据表 再创建一张数据表,让其属性pid参照上一个provinces数据表的id 主要代码为:FOREIGN KEY (pid) REFERENCES provinces(id) 查看province以及users的表索引,就可以看到两个约束,一个是主键id另一个就是pid 接下来了解外键约束的参照操作 CASCAD:从父表删除或更新且自动删除或更新子表中匹配的行 SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL.如果使用该选项,必须保证子表列没有指定NOT NUL

MySQL数据库基础(三)(操作数据表中的记录)(持续更新中)

1.插入记录INSERT 命令:,expr:表达式 注意:如果给主键(自动编号的字段)赋值的话,可以赋值'NULL'或'DEFAULT',主键的值仍会遵守默认的规则:如果省略列名的话,所有的字段必须一次赋值.   INSERT SET(用的较少,一次只能插入一条记录) 命令: 插入记录INSERT SELECT 命令: 2.单表更新记录UPDATE 命令:

MySQL学习12:修改数据表(二)

我们接着上一篇的添加约束的操作讲述. 三添加约束 (3)添加外键约束 ALTER TABLE table_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [index_type] (index_col_name,...) references_definition; 例子: ALTER TABLE users2 ADD FOREIGN KEY (pid) REFERENCES provinces (id); SHOW COLUMNS

MySQL数据库基础知识

day02 MySQL数据库基础知识 一.基础知识概述: 基础决定你这门课程的学习成败!只有学习好这些基础知识以后,你才能真正的运用自如.才能够对数据库有更深入的了解,道路才会越走越远. 二.基础知识: 1.数据库(database):数据库就好比是一个物理的文档柜,一个容器,把我们整理好的数据表等等归纳起来. 创建数据库命令:        create database 数据库名; 2.查看数据库         show databases; 3.打开指定的数据库         use 

MySQL学习11:修改数据表(一)

修改数据表包括添加列.删除列.添加约束.删除约束,修改列定义和修改数据表名称,后面的两个我们使用时 一定要谨慎,尽量不使用. 下面就来一个一个单独介绍怎么修改数据表: 一添加数据表中的列 (1)添加单列 MySQL数据库的数据表中添加单列的语法格式为: ALTER TABLE table_name ADD [COLUMN] col_name columns_definition [FIRST | AFTER col_name]; 例子: SHOW COLUMNS FROM users1; ALT

MYSQL数据库基础学习笔记

一.mysql的安装与初始化: 安装mysql命令: yum install -y mysql-server mysql mysql-devel 初始化: service mysqld start   //第一次启动mysqld服务会自动初始化: 创建用户并初始化密码: mysqladmin -u root passwd '密码' 登陆mysql: mysql -u root -p 退出mysql: quit.exit 设置mysqld服务自启动: chkconfig mysqld on mys

MySQL数据库基础(一)——MySQL数据库简介

MySQL数据库基础(一)--MySQL数据库简介 一.MySQL简介 1.MySQL简介 MySQL是一个轻量级关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.目前MySQL被广泛地应用在Internet上的中小型网站中,由于体积小.速度快.总体拥有成本低,开放源码.免费,一般中小型网站的开发都选择Linux + MySQL作为网站数据库.MySQL是一个关系型数据库管理系统,MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据