视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001 知道1 知道21 知道41 知道61 知道81 知道101 知道121 知道141 知道161 知道181 知道201 知道221 知道241 知道261 知道281
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
MySQL入门教程(五)之表的创建、修改和删除
2020-11-09 20:51:30 责编:小采
文档

MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成。

表是DB存储数据的基本单位,一个表包含若干个字段或记录。表的操作包括创建、修改和删除。

  1、创建表

  创建表即在已存在的数据库中创立新表。在使用USE语句选择具体数据库后,可以使用它SQL语句创建表

  其中,属性名指表中字段的名称,数据类型即对应字段的数据类型,完整性约束条件指对应字段的某些特殊约束条件。

  MySQL中基本的完整性约束条件有

  1.1 设置表的主键

  主键是表的一个特殊字段,该字段能唯一地表示该表中的每条信息,即主键如同表中记录的身份证。主键的主要目的在于帮助MySQL以最快的速度查找表中的某一条信息。主键必须按满足唯一性,表中任意提两条记录的主键字段的值不可相同,主键的值为非空值。主键可以是单一的字段也可以是多个字段的组合。

  对于单字段主键只要在创建表时使用下属语句即可

  属性名 数据类型 PRIMARY KEY

  对于多字段主键,要在属性定义完后统一设置主键,如

  即用stu_id和course_id两个字段组合来唯一确定一条记录。

  1.2 设置表的外键

  如果字段a是表A的属性,且依赖于表B的主键,那么,称表B为父表,表A为子表,a为表A的外键。通过字段a将父表B和子表A建立了关联关系,即外键的作用在于建立该表与其父表的关联关系。当父表中删除某条信息时,子表中与之对应的信息也必须有相应的改变,来保证信息的完整性。

  在创建表时的设置外键的基本语法为

  其中,外键别名指外键的代号,属性一列表指子表中设置的外键,属性二列表指父表的主键,而表名指父表的名称。如


 注意,子表的外键关联的必须是父表的主键,且数据类型必须一致。

  1.3 设置表的非空约束

  非空性指字段的值不能为空值NULL。基本语法为

  属性名 数据类型 NOT NULL

  当在有非空约束的字段上插入的记录对应该字段的值为空时,系统将保存并不接受此次插入。

  1.4 设置表的唯一性约束

  唯一性是指所有记录中该字段的值不可重复出现。基本语法为

  属性名 数据类型 UNIQUE

  1.5 设置表的属性值自动增加

  AUTO_INCREMENT是MySQL数据库中的一个特殊约束条件,主要用于为表中插入的新纪录自动生成唯一的ID。基本语法为

  属性名 数据类型 AUTO_INCREMENT

  一个表只能有一个字段使用该约束,且该字段必须为主键的一部分,该字段可以是任何整数类型。默认情况下,该字段的值从1开始自增。如果第一条记录设置了该字段的初值,则后续新增加的记录就从初值开始自增。

  1.6 设置表的属性的默认值

  对于设定了默认值的字段,在新插入记录时如果没有为这个字段赋值,则系统自动为其赋予此默认值。基本语法为

  属性名 数据类型 DEFAULT 默认值

  2、查看表结构

  查看表结构指查看DB中已存在的表的定义,包括DESCRIBE语句和SHOW CREATE TABLE语句。

  2.1 DESCRIBE语句

  可查看表的基本定义,包括字段名、字段数据类型、是否为主外键、默认值和额外信息。

  基本语法为

  DESCRIBE 表名;

  2.2 SHOW CREATE TABLE语句

  可查看表的详细定义,包括字段名、字段数据类型、完整性约束条件等定义时的信息,以及默认的存储引擎和字符编码。同样可用\G结尾代替;使得显示结果更美观。

  3、修改表

  修改表是指修改数据库中已存在的表的定义。

  通过Alter Table语句来修改表,包括修改表名、修改字段数据类型、修改字段名、增加字段、删除字段、修改字段的排列位置、更改默认存储引擎和删除表的外键约束等。

  3.1 修改表名

  语法为

  ALTER TABLE 旧表名 RENAME [TO] 新表名;

  其中To是可选参数,其是否在语句中出现不会影响语句的执行。

  3.2 修改字段名

  基本语法为

  ALTER TABLE 表名 Change 旧属性名 新属性名 新数据类型;

  如果只修改字段名不修改字段数据类型,则保持新数据类型与原来一致即可。

  3.3 修改字段的数据类型

  基本语法为

  ALTER TABLE 表名 MODIFY 属性名 新数据类型;

  3.4 增加字段

  基本语法为

  ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST | AFTER 属性名2];

  其中FIRST为可选参数,用于将新增字段设置为表的第一个字段,AFTER属性名2也为可选参数,用户将新增字段放到属性名2后面,如果这两个可选参数都不选,新增字段将默认放到表的最后一个字段。

  实际上,对于一个数据表而言,其中字段的排列顺序对表不会有什么影响,只是对于创建的人来说,将有某种直接或间接联系的字段放在一起,便于理解这个表的结构。

  3.5 增加字段

  基本语法为

  ALTER TABLE 表名 DROP 属性名;

  3.6 修改字段的排列位置

  基本语法为

  ALTER TABLE 表名 MODIFY 属性名1 数据类型 FIRST | AFTER 属性名2;

  3.7 更改表的存储引擎

  基本语法为

  ALTER TABLE 表名 ENGINE=新存储引擎名;

  如果一个表中已经存在了很多数据,最好不要轻易更改其存储引擎。

  3.8 删除表的外键约束

  即断开表与其父表之间的关联关系基本语法为

  ALTER TABLE 表名 DROP FOREIGN KEY 外键别名;

  4、删除表

  删除表会删除表中的所有数据,由于创建表时可能存在外键约束,一些表成为了与之关联的表的父表,要删除这些父表,情况比较复杂。

  4.1 删除没有被关联的普通表

  基本语法为

  DROP TABLE 表名;

  4.2 删除被关联的父表

  此时由于有外键依赖于该表,用4.1的删除语法会报错。

  删除此类父表一般有两种方法:直接先将与之关联的子表删除再删父表,或者先删除子表的外键约束再删父表,一般我们采取第二种方法。

您可能感兴趣的文章:

  • Mysql基础入门 轻松学习Mysql命令
  • Mysql入门基础 数据库创建篇
  • MySQL中触发器入门简单实例与介绍
  • 21分钟 MySQL 入门教程
  • MySQL新手入门指南--快速参考
  • MySQL正则表达式入门教程
  • MySQL入门完全指南及Linux系统下基本的安装教程
  • 快速学习MySQL索引的入门超级教程
  • Python中操作MySQL入门实例
  • 20分钟MySQL基础入门
  • 下载本文
    显示全文
    专题