热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MySql使用全记录2-----列操作(添加列、设定默认值、修改指定多条记录的列值)

1在指定数据库为某一个表增加一列,并为该列指定默认值描述:在数据库test中有一张保存接收邮件信息的表Tab_mail_Inbox,现根据应用需要,需要在表中增加一个字

1 在指定数据库为某一个表增加一列,并为该列指定默认值

描述:

        在数据库test中有一张保存接收邮件信息的表Tab_mail_Inbox,现根据应用需要,需要在表中增加一个字段TransType,并且为该字段指定默认值为http。

示例

操作前

mysql> use test;
Database changed
mysql> desc Tab_mail_Inbox;
+---------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+-------+
| RecvAccount | varchar(100) | YES | | NULL | |
| SenderAccount | varchar(100) | YES | | NULL | |
| CCAccount | varchar(100) | YES | | NULL | |
| RecvTime | datetime | NO | MUL | | |
| MailTheme | varchar(100) | YES | | NULL | |
| ContentPath | varchar(100) | YES | | NULL | |
| MailID | varchar(50) | YES | | NULL | |
| SrcIP | varchar(20) | YES | | NULL | |
| SrcPort | varchar(10) | YES | | NULL | |
| DstIP | varchar(20) | YES | | NULL | |
| DstPort | varchar(10) | YES | | NULL | |
| MailContact | varchar(50) | YES | | NULL | |
| Att | varchar(50) | YES | | NULL | |
+---------------+--------------+------+-----+---------+-------+
13 rows in set (0.00 sec)

操作

mysql> alter table Tab_mail_Inbox add TransType varchar(20);
mysql> alter table Tab_mail_Inbox alter column TransType set default 'http';

操作后

mysql> desc Tab_mail_Inbox;
+---------------+--------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+--------------+------+-----+-------------------+-----------------------------+
| RecvAccount | varchar(300) | YES | | NULL | |
| SenderAccount | varchar(300) | YES | | NULL | |
| CCAccount | varchar(200) | YES | | NULL | |
| RecvTime | timestamp | NO | MUL | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| MailTheme | varchar(100) | YES | | NULL | |
| ContentPath | varchar(100) | YES | | NULL | |
| MailID | varchar(50) | YES | | NULL | |
| SrcIP | varchar(20) | YES | | NULL | |
| SrcPort | varchar(10) | YES | | NULL | |
| DstIP | varchar(20) | YES | | NULL | |
| DstPort | varchar(10) | YES | | NULL | |
| MailContact | varchar(50) | YES | | NULL | |
| Att | varchar(50) | YES | | NULL | |
| TransType | varchar(20) | YES | | http | |
+---------------+--------------+------+-----+-------------------+-----------------------------+
14 rows in set (0.00 sec)


注:

我把增加列和设置默认值分成两步来写,似乎有一步完成的方法,不过我不清楚。

 

2 根据应用需要,把表中多条记录的某一列的值改作其他值

描述:

        当前数据库中有一张保存邮件信息的表tab_mail_info,该表中有一个名为TransType的字段,原来用来保存邮件传输方向信息(收为recv ,发为send)。现根据需要,要用TransType字段保存邮件传输使用的协议信息,我们知道方向为recv的使用了POP3协议,方向为send的使用了SMTP协议。

        为此需要把tab_mail_info表中所有TransType字段值为recv的记录的TransType字段的值改为pop3,把表中所有TransType字段值为send的记录的TransType字段的值改为smtp。

示例:

mysql> update tab_mail_info set TransType = ' smtp ' where TransType = ' send ';
mysql> update tab_mail_info set TransType = ' pop3 ' where TransType = ' recv ';

注:

        我曾经为此事头痛不已,因为我想着要改变的对象正是选择的条件本身,这是矛盾的。我一开始的想法是,先增加一个字段TransType1,他的值和完全和TransType字段一致。然后再以TransType1的值作为选择条件,最后改完了删除TransType1字段。

        后来终于想通了,MySQL的运算逻辑其实是先根据选择条件得到一个待操作的对象集合,然后对该集合做相应操作。亦即选择和操作是有严格的先后顺序的,不存在冲突问题。

 


推荐阅读
  • 本文作为探讨PHP依赖注入容器系列文章的开篇,将首先通过具体示例详细阐述依赖注入的基本概念及其重要性,为后续深入解析容器的实现奠定基础。 ... [详细]
  • MySQL索引详解及其优化策略
    本文详细解析了MySQL索引的概念、数据结构及管理方法,并探讨了如何正确使用索引以提升查询性能。文章还深入讲解了联合索引与覆盖索引的应用场景,以及它们在优化数据库性能中的重要作用。此外,通过实例分析,进一步阐述了索引在高读写比系统中的必要性和优势。 ... [详细]
  • 数据库多表联合查询:内连接与外连接详解
    在数据库的多表查询中,内连接和外连接是两种常用的技术手段。内连接用于检索多个表中相互匹配的记录,即只有当两个表中的记录满足特定的连接条件时,这些记录才会被包含在查询结果中。相比之下,外连接则不仅返回匹配的记录,还可以选择性地返回不匹配的记录,具体取决于左外连接、右外连接或全外连接的选择。本文将详细解析这两种连接方式的使用场景及其语法结构,帮助读者更好地理解和应用多表查询技术。 ... [详细]
  • 在数据表中,我需要触发一个操作来刷新特定列的数据。例如,对于以下表格:| ID | Name | IsDeleted ||----|-------|-----------|| 1 | test | True || 2 | test2 | False |我希望在点击“更新”按钮时,能够仅刷新选定行的“IsDeleted”列。这将有助于确保数据的实时性和准确性。 ... [详细]
  • 本指南详细介绍了在Linux环境中高效连接MySQL数据库的方法。用户可以通过安装并使用`mysql`客户端工具来实现本地连接,具体命令为:`mysql -u 用户名 -p 密码 -h 主机`。例如,使用管理员账户连接本地MySQL服务器的命令为:`mysql -u root -p pass`。此外,还提供了多种配置优化建议,以确保连接过程更加稳定和高效。 ... [详细]
  • 在Android应用开发中,实现与MySQL数据库的连接是一项重要的技术任务。本文详细介绍了Android连接MySQL数据库的操作流程和技术要点。首先,Android平台提供了SQLiteOpenHelper类作为数据库辅助工具,用于创建或打开数据库。开发者可以通过继承并扩展该类,实现对数据库的初始化和版本管理。此外,文章还探讨了使用第三方库如Retrofit或Volley进行网络请求,以及如何通过JSON格式交换数据,确保与MySQL服务器的高效通信。 ... [详细]
  • 微信小程序实现类似微博的无限回复功能,内置云开发数据库支持
    本文详细介绍了如何利用微信小程序实现类似于微博的无限回复功能,并充分利用了微信云开发的数据库支持。文中不仅提供了关键代码片段,还包含了完整的页面代码,方便开发者按需使用。此外,HTML页面中包含了一些示例图片,开发者可以根据个人喜好进行替换。文章还将展示详细的数据库结构设计,帮助读者更好地理解和实现这一功能。 ... [详细]
  • 在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
  • MySQL数据库安装图文教程
    本文详细介绍了MySQL数据库的安装步骤。首先,用户需要打开已下载的MySQL安装文件,例如 `mysql-5.5.40-win32.msi`,并双击运行。接下来,在安装向导中选择安装类型,通常推荐选择“典型”安装选项,以确保大多数常用功能都能被正确安装。此外,文章还提供了详细的图文说明,帮助用户顺利完成整个安装过程,确保数据库系统能够稳定运行。 ... [详细]
  • 如何在MySQL中选择合适的表空间以优化性能和管理效率
    在MySQL中,合理选择表空间对于提升表的管理和访问性能至关重要。表空间作为MySQL中用于组织和管理数据的一种机制,能够显著影响数据库的运行效率和维护便利性。通过科学地配置和使用表空间,可以优化存储结构,提高查询速度,简化数据管理流程,从而全面提升系统的整体性能。 ... [详细]
  • 在C#中开发MP3播放器时,我正在考虑如何高效存储元数据以便快速检索。选择合适的数据结构,如字典或数组,对于优化性能至关重要。字典能够提供快速的键值对查找,而数组则在连续存储和遍历方面表现优异。根据具体需求,合理选择数据结构将显著提升应用的响应速度和用户体验。 ... [详细]
  • 【漫画解析】数据已删,存储空间为何未减?揭秘背后真相
    在数据迁移过程中,即使删除了原有数据,存储空间却未必会相应减少。本文通过漫画形式解析了这一现象背后的真相。具体来说,使用 `mysqldump` 命令进行数据导出时,该工具作为 MySQL 的逻辑备份工具,通过连接数据库并查询所需数据,将其转换为 SQL 语句。然而,这种操作并不会立即释放存储空间,因为数据库系统可能保留了已删除数据的碎片信息。文章进一步探讨了如何优化存储管理,以确保数据删除后能够有效回收存储空间。 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • 英语面试技巧:提升个人技能与表现
    在英语面试中,个人技能是指除专业知识外,能够促进职业发展的各种能力。虽然你可能具备多种技能,但建议重点突出与目标岗位最相关的几项,以增强面试官对你专业能力和适应性的认可。 ... [详细]
  • 本文深入探讨了 MySQL 中 `ANALYZE TABLE` 和 `SHOW CREATE TABLE` 的语法规则及其应用。`ANALYZE TABLE` 语句用于分析并存储表的关键字分布情况,以优化查询性能。该操作在执行过程中会获取表的读锁,确保数据的一致性。而 `SHOW CREATE TABLE` 则用于显示创建表时的详细语句,包括表结构、索引和存储引擎等信息,有助于数据库管理和维护。通过这些命令,DBA 可以更好地理解和优化数据库性能。 ... [详细]
author-avatar
漆黑中的萤火虫
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有