首页 > 数据库 >数据库技术提升-MySQL数据库原理、设计与应用【1.4】

数据库技术提升-MySQL数据库原理、设计与应用【1.4】

时间:2024-09-28 15:24:19浏览次数:3  
标签:1.4 语句 goods 数据库 SQL 数据表 MySQL 数据 字段名

4.新增字段
对于已经创建好的数据表,也可以根据业务需求利用 ADD新增字段,基本语法格式如下
·语法格式 1:新增一个字段,并可指定其位置
ALTER TABLE 数据表名
ADD [COLUMN]新字段名 字段类型[FIRSTIAFTER 字段名]语法格式 2:同时新增多个字段
ALTER TABLE 数据表名
ADD [COLUMN](新字段名 1 字段类型 1,新字段名 2 字段类型 2,…)
在上述语法中,在不指定位置的情况下,新增的字段默认添加到表的最后。另外,同时新增多个字段时不能指定字段的位置。
下面在 my_goods 数据表中字段 name 后新增一个 num 字段,表示商品的数量,具体SQL 语句如下。
mysql>ALTER TABLE my goods ADD num INT AFTER name,
Query OK,0 rows affected (0.01 sec)
Records:0 Duplicates:0warnings:0

5.删除字段
删除字段指的是将某个字段从数据表中删除,MySQL 中可以通过 DROP 完成。基本语法格式如下
ALTER TABLE 数据表名 DROP [COLUMN]字段名;
下面以删除 my_goods 数据表中 num 字段为例演示,具体 SQL 语句如下
mySql> ALTER TABLE my goods DROP num;
Query OK,0 rows affected (0.02 sec)
Records:0 Duplicates:0Warnings:0
执行上述 SQL,语句后,査看删除 num 字段后数据表中的字段,具体结果如下

2.2.6 删除数据表

        删除数据表操作指的是删除指定数据库中已经存在的表。另外,在删除数据表的同时,存储在数据表中的数据都将被删除,基本语法格式如下
DROP [TEMPORARY]TABLE [IF EXISTS]数据表 1[,数据表 2]…;
从上述语法可知,删除数据表时,可同时删除多个数据表,多个数据表之间使用逗号分隔。可选项 IF EXISTS用于在删除一个不存在的数据表时,防止产生错误

下面以删除数据表 my_goods 为例进行演示,具体 SQL语句及执行结果如下
mysql>DROP TABLE IF EXISTS my goods;
Query OK,0 rows affected (0.01 sec)
值得一提的是,在开发时应谨慎使用数据表删除操作,因为数据表一旦删除,表中的所有数据都将被清除。

2.3 数据操作

2.3.1 添加数据

        通常情况下,要想操作数据表中的数据,首先要保证数据表中存在数据。MySQL 中使用 INSERT语句向数据表中添加数据。根据操作的不同目的一般可以分为两种,一种是为所有字段添加数据,另一种是为部分字段添加数据。下面将对这两种操作进行详细讲解。
1.为所有字段添加数据
        在 MySQL, 中,为所有字段插入记录时,可以省略字段名称,严格按照数据表结构(字段的位置)插人对应的值,基本语法格式如下。
INSERT [INTO]数据表名 {VALUES |VALUE}(值 1[,值 2]…);
从上述语法可知,关键字 INTO 是可选项,VALUES 和 VALUE 可以任选一种,通常情况下使用 VALUES。值列表“值 1[,值 2]…”中多个值之间使用逗号分隔。下面为 goods 表添加一条商品记录,编号为1,商品名为 notebook,售价是 4998 元,描述信息为 High cost performance,具体 SQL 语句如下。
mysql> INSERT INTO goods
->VALUES(l,"notebook',4998,'High cost performance');Query OK,1 row affected (0.00 sec)
在上述 SQL,语句中,插入的数据顺序与创建数据表时对应的字段顺序相同,分别表示商品编号、商品名、价格和商品描述。

脚下留心
        在 MySQL中,若创建的数据表未指定字符集,则数据表及表中的字段将使用默认的字符集 latin1。因此,若用户插入的数据中含有中文,则会出现错误提示。例如,向 goods 表中输入含有中文的数据,具体SQL语句及执行结果如下,
mysql> INSERT INTO goods
->VALUES(2,"笔记本',9998,"续航时间超过10个小时');ERROR 1366 (HY000) : Incorrect string value: '\xB1\xCA\xBC\xC7\xBl\xBE'for column 'name' at row 1
为了解决以上中文插入的问题,通常在创建数据表时添加表选项,设置数据表的字符集,如下所示。
CREATE ITEMPORARYI TABLE IIF NOT EXISTS]表名(字段名 字段类型[字段属性]…)[DEEAUIT]{CHARACIER SETICHARSET}[-]utf8;
        在上述语法中,CHARACTER SET与 CHARSEI是同义词,设置字符集时选取其一即可。其中,utf8 字符集支持世界上大多数国家的字符,通常推荐使用此字符集。另外,对于已经添加数据的数据表,则可以通过 ALTER TABLE…CHANGEMODIFY完成对表字段字符集的设置,在使用时需要注意它们语法的不同。下面以修改goods 表中 name 和 description 字段的字符集为例进行演示。具体 SQL,语句及执行结果如下。

        上述 SQL语句中,在同时修改多个字段时,使用逗号(,)分隔。修改完成后,可以再次向 goods 表中插入以上含有中文的数据,可以看到 Query OK 成功插入的提示。
2.为部分字段添加数据
        除了为数据表中所有字段添加数据外,还可以通过指定字段名的方式增加数据。其中指定的字段名可以是数据表中全部的字段,也可以是部分的字段。基本语法格式如下
INSERT [INTO]数据表名(字段名1【,字段名 2]…)(VALUES IVALUE}(值 1L,值 2]…);
        在上述语法中,“(字段名1[,字段名2…)”字段列表中,多个字段名之间使用逗号分隔,且字段名的编写顺序可与表结构(字段位置)不同,只需保证值列表“(值 1[,值 2…)”中的数据与其相对应即可。
下面将编号为3的 Mobile phone 插人到 goods 数据表中。具体 SQL,语句及执行结果如下
mysql>INSERT INTo goods (id, name)VALUES (3, 'Mobile phone' );Query OK,1 row affected (0.00 sec)
        上述 SQL语句中,字段的名称在使用时不需要使用引号包裹。另外,未添加数据的字段系统会自动为该字段添加默认值 NULL(空的)。
        除此之外,MySQL,中还提供了另外一种使用INSERT语句为指定字段添加数据的方基本语法格式如下。
INSERT [INTO]数据表名
SET字段名1-值1[,字段名2-值2]…;
在上述语法中,“字段名 1”“字段名 2”表示待添加数据的字段名称,“值 1”“值 2”表示添加的数据。若在 SET 关键字后,为表中多个字段添加数据,在每对“字段名=值”之间使用逗号(,)分隔即可。

例如,使用“INSERT…SET…"语法实现上述示例的功能,具体 SQL 语句如下
INSERT INTo goods SET id =3,name ="Mobile phone";
需要注意的是,最后一个字段赋值后不需要添加逗号。
3.一次添加多行数据
在实际开发中,向一张数据表中同时插人多条记录时,重复地书写以上 INSERT指令,操作不仅烦琐,又不便于阅读。因此,可以使用 MySQL 提供的另外一种插入数据的语法完成多数据插人。基本语法格式如下,
INSERT [INTO]数据表名[(字段列表)]
{VALUESIVALUE}(值列表)[,(值列表)]…;
在上述语法中,多个“值列表”之间使用逗号(,)分隔。其中,“字段列表”在省略时,插入的数据需严格按照数据表创建的顺序插入,否则“值列表”插入的数据仅需与字段列表中的字段相对应即可。
例如,将以上一次插入一条记录的操作修改成以下形式,完成一次添加多行数据
mySql> INSERT INTO GOOdS VALUES
->(1,'notebook',4998,"High cost performance')
->(2,'笔记本',9998,"续航时间超过 10个小时'),
->(3,"Mobile phone',NULL,NULL);
Query OK,3 rows affected (0.00 sec)
Records:3 Duplicates:0warnings:0
需要注意的是,在多数据插人时,若一条数据插入失败,则整个插入语句都会失败

2.3.2 查询数据

        数据的查询操作是 MySQL中最常用,也是最重要的功能之一。下面介绍3种最基本的数据查询方式,其他更复杂的操作会在本书的其他章节中详细地讲解。

1.查询表中全部数据
查询数据表中所有字段的数据,可以使用星号“*”通配符代替数据表中的所有字段名,基本语法格式如下。
SELECT * FROM 数据表名;
下面利用以上语法査看 goods 表中插人的全部数据。具体 SQL语句如下

2.查询表中部分字段
查询数据时,可在SELECT语句的字段列表中指定要查询的字段。基本语法格式如下
SELECT {字段名 1,字段名 2,字段名 3,…}EROM 数据表名;
上述语法中,字段列表“字段名1,字段名2,字段名3,…”中,若列出数据表中所有的字段名,则表示查询表中全部数据。
下面仅査看 goods 表中 id 和 name 字段,具体 SQL语句及执行结果如下

3.简单条件查询数据
在查询数据时,若想要查询出符合条件的相关数据记录时,可以使用 WHERE 实现基本语法格式如下。
SELECT *|{字段名 1,字段名 2,字段名 3,…}
EROM数据表名 MIRE字段名=值;
上述语法表示获取“字段名”等于指定“值”的数据记录,数据的内容中可以是表的部分字段或全部字段。
下面获取 goods 表中 id 等于1的全部商品信息。具体 SQL,语句及执行结果如下

2.3.3 修改数据

        修改数据是数据库中常见的操作,通常用于对表中的部分记录进行修改。例如,商品在做活动时,需要在原价的基础上打折,此时就需要对商品价格的数据进行修改。MySQL, 提供了 UPDATE 语句修改数据。基本语法格式如下
UPDATE 数据表名
SET字段名 1=值 1[,字段名 2-值 2,…]
[WHERE 条件表达式1
上述语法中,若实际使用时没有添加WHERE条件,那么表中所有对应的字段都会被修改成统一的值,因此读者在修改数据时,请谨慎操作。
下面将 goods 表中编号为 2的商品价格由 9998 元修改为 5899 元。具体 SQL 语句及执行结果如下。

执行完上述 SQL 语句后,使用 SELECT 查看编号为2的商品价格修改情况

2.3.4 删除数据

        删除数据是指对表中存在的记录进行删除。例如,商品停产后,可以删除商品表中的相关数据。MySQL 中使用 DELETE 语句删除表中的记录,基本语法格式如下
DELETE FROM数据表名 [WHERE 条件表达式1;
在上述语法中,“数据表名”指定要执行删除操作的表,WHERE条件为可选参数,用于设置删除的条件,满足条件的记录会被删除。
下面删除 goods 表中编号等于3的商品数据。具体 SQL 语句如下

执行上述 SQL 语句后,使用 SELECT 查询 goods 表中记录的变化。需要注意的是,在删除数据时若未指定 WHERE条件,系统就会自动删除该表中所有的记录,因此读者在操作时需要慎重。
2.4 动手实践:电子杂志订阅表的操作
数据库的学习在于多看、多学、多想、多动手,只有将理论与实际相结合,才能够体现出数据开发与管理的重要性,展现知识学习的价值与力量。接下来请结合本章所学的知识完成电子杂志订阅表的操作。
实践目标
此实践的目标就是能够根据文字提示,完成对应数据表的创建,并可以对数据表中的数据进行简单的增、删、改、查操作。
实践需求
(1)在 mydb 数据库中创建一张电子杂志订阅表(subscribe)。
(2)电子杂志订阅表中要包含4个字段,分别为编号(id)、订阅邮件的邮箱地址(email)、用户是否确认订阅(status,使用数字表示,1 表示已确认,0 表示未确认)、邮箱确认的验证码(code)。
(3)为电子杂志订阅表添加5条测试数据,如表 2-2 所示。

(4)查看已经通过邮箱确认的电子杂志订阅信息。
(5)将编号等于4的订阅确认状态设置为“已确认”
(6)删除编号等于5的电子杂志订阅信息。
动手实践】
1.选择数据库
当 MySQL, 服务器中不存在 mydb 数据库时,创建此数据库,否则忽略。在 mydb 数据库已经存在后,选择 mydb 数据库。具体 SQL 语句如下。

创建电子杂志订阅表2
根据【实践需求】第(2)条需求,创建电子杂志订阅表,具体 SQL,语句及执行结果如下
mysql>CREATE TABLE subscribe(
idINTOMET编号
emai1 VARCHAR(60)COMMENT'邮件订阅的邮箱地址'
statuS INT COMMENT'是否确认,0未确认,1已确认'
code VARCHAR(10)COMMENT'邮箱确认的验证码'
->)DEFAULT CHARSET utf8;
Query OK,0 rows affected (0.01 sec)
3.操作电子杂志订阅表的数据
(1)添加数据。根据【实践需求 第(3)条给出的信息完成电子杂志订阅数据的新增,具体 SQL 语句及执行结果如下。

执行上述 SQL 语句后,使用 SELECT 查询表中的所有数据。
(2)查询数据。查看已经通过邮箱确认的电子杂志订阅信息。具体 SQL,语句及执行结果如下,

2.5 本章小结

本章主要讲解了数据库的创建、查看、选择与删除,数据表和数据的基础操作。通过本章的学习希望读者能够掌握 MySQL,的数据库,数据表以及数据的基本操作,为以后的学习和开发奠定夯实的基础。

标签:1.4,语句,goods,数据库,SQL,数据表,MySQL,数据,字段名
From: https://blog.csdn.net/qq_43416206/article/details/142501967

相关文章

  • 数据库技术提升-MySQL数据库原理、设计与应用【1.6】
    3.1.3字符串类型MySQ1.中的字符串类型分为CHAR、VARCHAR、TEXT等多种类型,不同数据类型具有不同的特点,具体如表3-5所示。1.CHAR和VARCHAR类型CHAR和VARCHAR类型都用来保存字符串数据。不同的是,VARCHAR可以存储可变长度的字符串。在MySQ1.中,定义CHAR和VARCH......
  • 数据库技术提升-MySQL数据库原理、设计与应用【1.5】
    第3章数据类型与约束学习目标掌握MySQL中常用数据类型的使用掌握MySQl.中常用的束的使用掌握MySQL中字符集的设置与处理        在数据库中,数据表用来组织和保存各种数据,它是由表结构和数据组成的。在设计表结构时,经常需要根据实际需求,选择合适的数据类型......
  • DC00020基于springboot新闻网站系统java web项目MySQL新闻管理系统
    1、项目功能演示DC00020基于springboot新闻网站系统javaweb项目MySQL2、项目功能描述  基于springboot+vue新闻网站包括用户和系统管理员两个角色。2.1用户功能1、用户登录、用户注册2、新闻信息:点赞、点踩、收藏、查看3、用户分享:点赞、点踩、收藏、查看、添加......
  • 数据库 - MySQL的事务
    目录前言一、事务的特性(一)原子性(二)一致性(三)隔离性(四)持久性二、事务的控制语句三、事务隔离级别(一)读未提交(二)读已提交(三)可重复读(四)可序列化四、使用场景五、事务操作(一)开启事务(二)提交事务(三)回滚事务(四)示例六、自动提交模式七、隐式提交八、提交前的保存点......
  • Springboot轮滑竞赛管理系统gsj4e--(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,比赛信息,比赛报名,比赛分类,成绩公布,裁判,评审打分,比赛通知,作品提交,奖项信息,比赛奖励开题报告内容一、课题名称轮滑竞赛管理系统开发与应用二、研......
  • Springboot旅游攻略平台2de9n(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,旅游攻略,旅游景点,攻略分类,景点分类,问题分类,旅游问答开题报告内容一、项目背景随着旅游业的蓬勃发展,游客对于旅游信息的获取需求日益多样化、个性化......
  • Springboot路政管理信息系统v93sc(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:用户,新闻公告,公路路产,路权维护,处罚信息,行驶信息,违规信息,违规类型开题报告内容一、课题名称路政管理信息系统设计与实现二、研究背景与意义随......
  • Springboot流浪动物救助管理系统y7274(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:用户,动物信息,申领信息,回访信息,动物分类,撤销申领开题报告内容一、选题背景与意义面对日益增长的流浪动物问题,社会对于高效、有序的救助管理需求日......
  • Springboot列车调度信息系统的设计与实现4guf9程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:旅客用户,列车调度员,列车信息,运输计划,行车调度图,票务信息开题报告内容一、研究背景与意义随着铁路交通的快速发展,列车调度作为铁路运输的核心环节......
  • Springboot乐享游乐场管理系统的设计与实现t4xv8--程序+源码+数据库+调试部署+开发环
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:员工,游乐设施,设施采购,设施维修,设施损坏,商店类型,商店信息开题报告内容一、研究背景与意义随着休闲娱乐产业的快速发展,游乐场作为家庭娱乐的重要......