图解MySQL数据库表操作(一)

MySQL数据库中的数据存储在被称为表(tables)的数据库对象中。表是相关的数据项的集合,它由列(字段)和行(记录)组成。
本篇将详细介绍数据表操作中的准备工作、创建数据表、查看数据表、记录操作记记录约束,希望对大家有所帮助!

准备工作

  • 01

    在进行数据表操作之前,需要先登录mysql服务器,创建一个数据库,并使用创建好的数据库,如下图所示:

创建数据表

  • 01

    下面在db1数据库中创建数据表tb1 CREATE TABLE [IF NOT EXISTS] table_name(column_name data_type,...) 在下面的数据表tb1中,创建一个VARCHAR(20)的变长字符型的username字段;创建一个TINYINT UNSIGNED的一个字节长度的无符号(0-255)整型的age字段;创建一个salary FLOAT(8,2) UNSIGNED的数字总长度为8,小数位数为2的无符号浮点数的salary字段,如下图所示:

  • 02

    查看数据表 SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr] 查看数据表的列项 SHOW COLUMNS FORM tbl_name 如下图所示:

记录操作

  • 01

    记录操作的第一步是写入记录 在写入记录时,要注意的是,如果没有省略的字段,则按照参数顺序直接赋值即可;如果有省略的字段,则字段名和参数值都需要写出来 INSERT [INTO] tbl_name [(col_name,...)] VALUES(VAL,...) 如下图所示:

  • 02

    下面来查找记录 SELECT EXPR,...FROM tbl_name 如下图所示:

记录约束

  • 01

    NULL 字段值可以为空 NOT NULL  字段值禁止为空 首先,创建一个数据表tb2,username字段禁止为空,而age字段可以为空。插入记录时,如果username字段为空,则提示错误,如下图所示:

  • 02

    每张数据表只能存在一个主键(PRIMARY KEY),主键保证记录的唯一性,且自动为NOT NULL 主键可以写为KEY或PRIMARY KEY,如下图所示:

  • 03

    自动编号(AUTO_INCREMENT)必须与主键组合使用,默认情况下,起始值为1,每次增量为1,如下图所示:

  • 04

    唯一约束(UNIQUE KEY)是指选定的记录中不可以存在相同值的情况,这样可以保证记录的唯一性,唯一约束的字段可以为空值NULL,每张数据表可以存在多个唯一约束 下面记录中对username字段进行唯一约束限制,添加username为'Tom'记录后,不允许再添加username为'Tom'记录,如下图所示:

  • 05

    当插入记录时,如果没有明确为字段赋值,则自动赋予默认值(DEFAULT),如下图所示:

  • 06

    外键约束(FOREIGN KEY)用来保持数据一致性和完整性,实现一对一或一对多的关系 外键列是指加入(FOREIGN KEY)的列,外键列参照的那一列叫做参照列,外键列和参数列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同;而字符的长度则可以不同 索引是一种特殊的文件,在InnoDB数据表上的索引是表空间的一个组成部分,它们包含着对数据表中所有记录的引用指针。外键列和参照列必须创建索引,如果参照列不存在索引的话,MySQL将自动创建索引 子表指有外键列的表,子表所参照的表叫做父表。父表和子表必须使用相同的存储引擎,而且禁止使用临时表。数据表的存储引擎只能是InnoDB 所以,首先需要修改mysql配置文件my.ini中的默认存储引擎 default-storage-engine = INNODB 创建父表provices,参照列为id,如下图所示:

  • 07

    创建子表users,外键列为pid,如下图所示:

  • 08

    父表provices的参照列id为主键列,主键在创建的同时,会自动创建索引 下面来查看父表provices的索引,如下图所示:

  • 09

    下面来查看子表users的索引,如下图所示:

  • 10

    外键约束的参照操作中,一共存在四个选项。用来设置更新父表时,子表是否也进行相应操作 1、CASCADE: 从父表删除或更新且自动删除或更新子表中匹配的行 2、SET NULL: 从父表删除或更新行,并设置子表中的外键列为NULL。如果使用该选项,必须保证子表列没有指定NOT NULL 3、RESTRICT: 拒绝对父表的删除或更新操作 4、NO ACTION: 标准SQL的关键字,在MYSQL中与RESTRICT相同 首先,创建父表provinces,如下图所示:

  • 11

    创建子表users1,并设置选项cascade,如下图所示:

  • 12

    在父表中插入记录'A'、'B'、'C',如下图所示:

  • 13

    在子表中,插入名字'a1'、'a2'、'a3'、'a4',如下图所示:

  • 14

    删除父表中id为2的记录,并查看删除后父表和子表的结果,如下图所示:

  • 15

    在实际的开发过程中,我们很少使用物理的外键约束,很多都去使用逻辑的外键约束,因为物理的外键约束只有INNODB这种引擎才会支持,像我们另外的一种引擎MYISAM的引擎则不支持,反过来说,如果我想创建的数据表,假设存储引擎为MYISAM,而且又想使用外键约束的话,其实是不可能实现的,所以说,我们在实际的项目开发中,我们不去定义物理的外键,所谓的逻辑外键指的是就是我们在定义两张表的结构的时候,我们是按照存在的某种结构的方式去定义,但是不去使用FOREIGN KEY这个关键词来定义 【表级约束和列级约束】 约束除了按照功能,分为上面介绍过的5种约束外,也可以按照作用范围分为表级约束和列级约束 对一个数据列建立的约束,称为列级约束,对多个数据列建立的约束,称为表级约束。列级约束既可以在列定义时声明,也可以在列定义后声明。而表级约束只能在列定义后声明 在实际开发中,用列级约束比较多,表级约束很少用,除此之外,在所有的约束中,并不是说每种约束都存在着表级或列级约束,其中,NOT NULL 非空约束,DEFAULT约束这两种约束就不存在表级约束,它们只有列级约束,而对于其他的三种,像主键,唯一,外键,它们都可以存在表级和列级约束。

(0)

相关推荐

  • 图解MySQL数据库的存储过程及存储引擎

    我们经常会对数据表进行插入.删除.更新及查找的工作,即我们常说的CURD.其实,当我们输入命令时,MySQL引擎会按照下图进行操作.如果我们省略了分析和编译的环节,那么执行效率将大大提高. 本篇将会和 ...

  • jsp如何链接mysql数据库的操作

    我们建造网站的时候,需要使用很多的编程语言,处理css样式处理外,我们还可能使用asp,java,php等语言.这里,主要介绍一下, jsp连接mysql数据库的操作方式. 1:在数据服务端安装好my ...

  • 图解MySQL数据库基本操作

    本篇经验将和大家介绍MySQL数据库操作,希望对大家的工作和学习有所帮助! 操作方法 01 在操作数据库之前,首先我们需要连接到数据库上,如下图所示: 02 查询所有数据库:show database ...

  • 图解MySQL数据库之聚合函数、自定义函数

    MySQL数据库中的函数根据功能可以划分为字符函数.数值运算符与函数.比较运算符与函数.日期时间函数.信息函数.加密函数.聚合函数以及自定义函数等. 本篇经验将详细介绍数据库中的,希望对大家的工作和学 ...

  • 怎样修改MySQL数据库表中的数据

    MySQL有一款非常优秀的插件,叫做MySQL-Front.我们都知道MySQL其实是没有界面的,使用起来稍微有一些不方便,于是有一个团队开发了一个软件就叫做MySQL-Front,可以实现MySQL ...

  • CentOS6.4系统中Mysql数据库卸载.安装与配置教程[图文]

    一、mysql简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数 ...

  • myeclipse连接mysql数据库详细步骤

    ‍‍对于刚刚使用myeclipse进行Java开发的同学来说,数据库的连接非常重要.课堂上老师也是会很快的讲完,还没有回过神来,课程已经结束了,那种感觉自己深有体会,尤其是英文版.想问又不敢问.因为自 ...

  • MySQL数据库创建.修改和删除表操作实例介绍

    其实对很多人来说对于SQL语句已经忘了很多,或者说是不懂很多,因为有数据库图形操作软件,方便了大家,但是我们不能忘记最根本的东西,特别是一些细节上的东西,可能你用惯了Hibernate,不用写SQL语 ...

  • 在Toad for MySQL软件中怎么查询数据库表的统计信息?

    相信很多小伙伴都有在使用TOAD,在其中如何才能查看数据库表的统计信息呢?方法很简单,下面小编就来为大家介绍.具体如下:1. 首先,打开"Toad for MySQL"软件,然后再 ...