• 不得不会的MySQL数据库知识点(七)


    用SELECT 创建记录和表

    你也许已经注意到,INSERT 语句与DELETE语句和UPDATE语句有一点不同,它一次只操作一个记录。然而,有一个方法可以使INSERT 语句一次添加多个记录。要作到这一点,你需要把INSERT 语句与SELECT 语句结合起来,象这样:

    1. INSERT mytable (first_column,second_column) SELECT another_first,another_second
    2. FROM anothertable

    WHERE another_first=’Copy Me!’ 这个语句从anothertable拷贝记录到mytable.只有表anothertable中字段another_first的值为’Copy Me!’的记录才被拷贝。

    当为一个表中的记录建立备份时,这种形式的INSERT 语句是非常有用的。在删除一个表中的记录之前,你可以先用这种方法把它们拷贝到另一个表中。

    如果你需要拷贝整个表,你可以使用SELECT INTO 语句。例如,下面的语句创建了一个名为newtable的新表,该表包含表mytable的所有数据:

    SELECT * INTO newtable FROM mytable 

    你也可以指定只有特定的字段被用来创建这个新表。要做到这一点,只需在字段列表中指定你想要拷贝的字段。另外,你可以使用WHERE 子句来限制拷贝到新表中的记录。下面的例子只拷贝字段second_columnd的值等于’Copy Me!’的记录的first_column字段。

    SELECT first_column INTO newtable FROM mytable WHERE second_column=Copy Me!

    使用SQL修改已经建立的表是很困难的。例如,如果你向一个表中添加了一个字段,没有容易的办法来去除它。另外,如果你不小心把一个字段的数据类型给错了,你将没有办法改变它。但是,使用本节中讲述的SQL语句,你可以绕过这两个问题。

    例如,假设你想从一个表中删除一个字段。使用SELECT INTO 语句,你可以创建该表的一个拷贝,但不包含要删除的字段。这使你既删除了该字段,又保留了不想删除的数据。

    如果你想改变一个字段的数据类型,你可以创建一个包含正确数据类型字段的新表。创建好该表后,你就可以结合使用UPDATE语句和SELECT 语句,把原来表中的所有数据拷贝到新表中。通过这种方法,你既可以修改表的结构,又能保存原有的数据。

  • 相关阅读:
    Makefile 初期学习笔记
    [NISACTF 2022]popchains - 反序列化+伪协议
    发布新版博客备份功能:生成 sqlite 数据库文件,vscode 插件可查看
    不安全的反序列化
    Mujoco仿真【将urdf文件转化为xml文件】
    网络中的图片传输
    重学设计模式(三、设计模式-策略模式)
    Centos服务在服务器重启后自启
    【知识简略】说说分布式常见问题及解决方案:分布式锁、分布式事务、分布式session、分布式任务调度;
    Linux知识点+命令
  • 原文地址:https://blog.csdn.net/xiejiachao/article/details/125442863