当前位置: 首页 > 编程日记 > 正文

SQL基础学习总结:6(INSERT语句的相关使用方法)

数据的插入(INSERT语句的使用方法)

我们之前在表的创建部分简单地介绍了一下INSERT语句的功能和使用方法,现在我们再详细讲一下它的用法。

INSERT语句的基本语法

其语法结构如下:

INSERT INTO <表名> (列名1,列名2,列名3...)-> VALUES (数据1,数据2,数据3...);

例:在这里插入图片描述
将列名和值用逗号隔开,分别括在()内,这种形式称为清单。像上面这个例子就分为列清单值清单

列清单的省略

但我们对表进行全列INSERT时,可以省略表名后面的列清单,这时VALUES子句的值就会默认按照从左到右的顺序赋给每一列,但是,要注意此时VALUES子句的中的值要按照创建表时列的默认顺序来插入,否则将会出现错误。
例:值清单中的数据不按照列的默认顺序
在这里插入图片描述
例:正确的做法
在这里插入图片描述

插入NULL

使用INSERT语句想要给某一列赋予NULL值时,可以直接在VALUES子句得值清单中写入NULL。
例:
在这里插入图片描述
注意:想要插入NULL的列一定不能设置NOT NULL约束,否则,向设置了NOT NULL约束的列中插入NULL时,INSERT语句会出现错误。

插入默认值

我们还可以向表中插入默认值(初始值)。可以通过在创建表的CREATE TABLE语句中设置DEFAULT约束来设定默认值。

例:设置默认值
在这里插入图片描述
在上表中我们设置了学生编号的默认值为0,如下图我们可以看到student_id那一列的默认值为0。
在这里插入图片描述

默认值的使用方法通常有显式和隐式两种。

通过显式方法插入默认值

在VALUES子句中指定DEFAULT关键字。
例:通过显式方法设定默认值
在这里插入图片描述
在这里插入图片描述
因为student_id列的默认值是0,所以student_id列被赋予了0。

通过隐式方法插入默认值

插入默认值时也可以不使用DEFAULT关键字,只要在列清单和VALUES中省略设定了默认值的列就可以了,如下图:
在这里插入图片描述
在这里插入图片描述
注意:如果我们省略了没有设定默认值的列,该列的值就会被设定为NULL(仅限未设置NOT NULL约束的列)

从其他表中复制数据

要插入数据,除了使用VALUES子句指定具体的数据之外,还可以从其他表中复制数据,如下:

只复制表的结构,不复制表的数据

语法结构如下:

CREATE TABLE <新表名> SELECT * FROM <旧表名> WHERE 1=2;

CREATE TABLE <新表名> LIKE <旧表名>;

例:
在这里插入图片描述

在这里插入图片描述
查看新表中是否存在数据
在这里插入图片描述

在这里插入图片描述
我们可以看到新表中是空的,只有旧表的结构,并不存在任何数据。

复制表的结构和数据

方法一

语法结构如下:

CREATE TABLE <新表名> SELECT * FROM <旧表名>;

例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们可以看到,新表完全复制了旧表的结构和表中存在的数据。

方法二

使用INSERT INTO SELECT 语句从旧表复制数据,然后把数据插入到一个已存在的表(新表)中,新表中任何已存在的行都不会受影响。
语法结构如下:

INSERT INTO <新表> SELECT * FROM <旧表>;

例:
我们先创建一个新表
在这里插入图片描述
我们可以先往新表中插入数据
在这里插入图片描述
进行复制操作
在这里插入图片描述
查看复制结果
在这里插入图片描述
我们可以发现,新表中在进行复制之前存在的数据在复制过程中并没有受到影响。

注意:如果两个表的结构不同,复制会出现错误,如下:
在这里插入图片描述

相关文章:

JVM安全退出(如何优雅的关闭java服务)

为了保障应用重启过程中异步操作的执行,避免强制退出JVM可能产生的各种问题,我们可以采用关闭钩子、自定义信号的方式,主动的通知JVM退出,并在JVM关闭前,执行应用程序的一些扫尾工作,进一步保证应用程序可以安全的退出。

常用的CSS(收集)

1. 防padding属性改变盒子模型宽度 Css代码 * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } 当前css将固定盒子模型宽度总是以(显示)指定的宽度(width:300px)为准, 并不会受到padding而强制改变和模型宽…

2022-2028年中国EMI膜产业发展态势及市场发展策略报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新&#xff08;交付时间约3个工作日&#xff09; 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国EMI膜行业市场行业相关概述、中国EMI膜行业市场行业运行环境、分析了中国EMI膜行业市场行业…

JS报“Uncaught TypeError: undefined is not a function ”异常

最终的原因是&#xff1a;js引用的位置太靠后&#xff0c;导致使用js方法时&#xff0c;js库还没加载。报此异常的可能原因有&#xff1a; 1、函数名写错了&#xff1b; 2、没有引用js文件&#xff1b; 3、定义晚了转载于:https://www.cnblogs.com/finalstar/p/4254632.html

密码学摘要算法之MD5

摘要算法 摘要算法是一种能产生特殊输出格式的算法&#xff0c;这种算法的特点是:无论用户输入什么长度的原始数据&#xff0c;经过计算后输出的密文都是固定长度的&#xff0c;这种算法的原理是根据一定的运算规则对原数据进行某种形式的提取&#xff0c;这种提取就是摘要&…

Revit:从入门到精通学习教程

流派:电子学习| MP4 |视频:h264&#xff0c;1280720 |音频:AAC&#xff0c;48.0 KHz 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09; |大小:8.07 GB |时长:12h 16m Revit:从开始到专业掌握Revit 你会学到什么 Revit的最新功能 在Revit中创建…

JDBC编程:1(使用JDBC连接数据库)

使用JDBC连接数据库 下载连接MySQL数据库的驱动 这个jar包可以在官网上对照着你的MySQL版本来下载&#xff0c;这里我下载的是最新的8.0.20版本&#xff0c; 这里是8.0.20版本的驱动包&#xff1a;mysql-connector-java-8.0.20.zip 因为CSDN的积分不能设置永久免费&#xff0…

VS2010 编译 QT4.8.7 x64

1 下载qt4.8.7源代码&#xff0c;解压到合适位置(如本文为d:\qt\4.8.7) 2 设置环境变量&#xff1a; set QMAKESPECwin32-msvc2010set QTDIRd:\qt\4.8.7 3 修改配置文件&#xff1a; 修改\mkspecs\win32-msvc2010\qmake.conf将QMAKE_CFLAGS_RELEASE的O2改为O1 或 安装补丁http…

2022-2028年中国EBA树脂(乙烯丙烯酸丁酯)产业竞争现状及发展前景规划报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新&#xff08;交付时间约3个工作日&#xff09; 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国EBA树脂&#xff08;乙烯丙烯酸丁酯&#xff09;行业市场行业相关概述、中国EBA树脂&#…

JAX_WS 2.2 规范的webservices客户端实现(Axis2,Cxf)

为了对接之前老版本的接口,折腾了好几个小时. 主要是目前我的程序采用的是axis2的jax_rpc方式发布webservices服务,用这种服务的客户端,去调用老版本的jax_ws 2.2的接口,会报Runtime空指针。 于是采用cxf&#xff0c;使用了cxf3.0.3&#xff08;当前版本&#xff09; 的wsdl2ja…

idea mybatis plugin插件,免费mybatis插件

idea的mybatis插件。一直想下一个&#xff0c;在大批量修改一些问题时候 mapper和.xml文件查看会方便许多。 直接在idea的插件market里看经常会卡住&#xff0c;直接去网站看。 于是去官网查查看&#xff0c;网站巨慢 https://plugins.jetbrains.com/ 曾经试过mybatis plugin的…

从头开始学习Unity着色器

MP4 |视频:h264&#xff0c;1280720 |音频:AAC&#xff0c;44.1 KHz&#xff0c;2 Ch 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09;|时长:56节课(4h 26m) |大小解压后:2.89 GB Unity Shaders和HLSL阴影语言的完整指南 你会学到: 编写Uni…

JDBC编程:2(数据库的基本操作)

数据库的基本操作 查询数据 在开始前先简单地介绍一下什么是静态SQL和动态SQL&#xff1a; 静态SQL&#xff0c;在编译阶段就可以确定数据库要做什么事情。在某种高级语言中&#xff0c;如果嵌入了SQL语句&#xff0c;而这个SQL语句的主体结构已经明确&#xff0c;例如在Jav…

[Asp.net 5] Options-配置文件(2)

很久之前写过一篇介绍Options的文章&#xff0c;2016年再打开发现很多变化。增加了新类&#xff0c;增加OptionMonitor相关的类。今天就对于这个现在所谓的新版本进行介绍。 老版本的传送门&#xff08;[Asp.net 5] Options-配置文件之后昂的配置&#xff09;。 首先上一个图&a…

android-sdk-windows版本号下载

Android SDK 4.0.3 开发环境配置及执行 近期又装了一次最新版本号的ADK环境 眼下最新版是Android SDK 4.0.3 本文的插图和文本尽管是Android2.2的 步骤都是一样的&#xff0c;假设安装的过程中遇到什么问题&#xff0c;能够留言&#xff0c;我会尽快回复&#xff01; 系统环境的…

vs code搭建Django环境

在网上找了很多博客&#xff0c;看了vs code的官方文档&#xff0c;最终拼凑起来&#xff0c;终于搭建起来了djangode开发虚拟环境&#xff08;win10下&#xff09; 一、新建项目文件夹 F:\Python\temp\django_demo&#xff08;例子&#xff09; 二、在项目文件夹创建虚拟pytho…

Marvelous Designer衣袖设计教程

大小解压后&#xff1a;2.96G 持续时间3h 28m 包含项目文件 1280X720 MP4 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09; 标题:技能分享——卓越设计师大师班(袖子) 信息: 在我的课程中&#xff0c;精彩设计师大师班(袖子)。在本课程中&…

Mybatis入门:1(Mybatis框架的环境搭建)

Mybatis框架的环境搭建 一.创建maven工程并导入坐标 导入坐标&#xff1a; <dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.4</version></dependency><d…

html表单的创建和css的构成

产品参数 <h2>LIFAair LA500参数表</h2><table><tr><td>测试数目</td><td>单位</td><td>数据</td></tr><tr><td>颗粒物CADR</td><td>m<sup>3</sup>/h</td><t…

Gartner2014年魔力象限(商业智能和分析平台)

转载于:https://www.cnblogs.com/crsn/p/4271377.html

@SupperssWarnings注解

SupperssWarnings注解&#xff1a;压制、控制警告 SuppressWarnings(“rawtypes”) 是什么含义 SuppressWarnings压制警告&#xff0c;即去除警告 rawtypes是说传参时也要传递带泛型的参数 SuppressWarnings(“unchecked”) unchecked 执行了未检查的转换时的警告 SuppressWarn…

虚幻引擎C++编程游戏开发基础

流派:电子学习| MP4 |视频:h264&#xff0c;1280720 |音频:AAC&#xff0c;44.1 KHz 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09;|大小解压后:23.8 GB |时长:44h 59m 学习C编程和游戏开发基础和虚幻引擎 你会学到什么 通过简单的例子和插…

Mybatis入门:3(动态sql)

动态sql语句 if标签 基本使用 一.在ProductDao接口中创建一个查询方法findByType import com.domain.Product;import java.util.List;public interface ProductDao {/*** 根据类型来查找* param product* return*/Product findByType(Product product); }二.在映射配置文件…

javaweb学习总结(二十三)——jsp自定义标签开发入门

一、自定义标签的作用 自定义标签主要用于移除Jsp页面中的java代码。 二、自定义标签开发和使用 2.1、自定义标签开发步骤 1、编写一个实现Tag接口的Java类(标签处理器类) 1 package me.gacl.web.tag;2 3 import java.io.IOException;4 5 import javax.servlet.http.HttpServle…

Java数组的三种声明方式

具体的细节大家可以不用先去了解,这涉及到很多知识,只要记住输出的时候,先导包,然后再利用Arrays.toString(arr)输出就行了。如:先定义好一个长度为4的新数组,此时数组为空,使用arr[ ]数组下标来进行逐个赋值。那我们定义好数组之后,就理所应当的对声明好的数组进行赋值。那么对于未涉及过编程的小伙伴,看到这可能会蒙了。原因就是我们sout(arr)时,输出的是这个数据的内存地址,而不是真实的数据。使用数组: 只需要一个变量,然后数组中存很多的数据, 其实可以把数组想成 一个容器。

Math: Math.atan() 与 Math.atan2() 计算两点间连线的夹角

Math.atan2()函数返回点(x,y)和原点(0,0)之间直线的倾斜角.那么如何计算任意两点间直线的倾斜角呢?只需要将两点x,y坐标分别相减得到一个新的点(x2-x1,y2-y1).然后利用他求出角度就可以了.使用下面的一个转换可以实现计算出两点间连线的夹角.然而,Math.atan()只能返回一个角度值,因此确定他的角度非常的复杂,而且,90度和270度的正切是无穷大,因为除数为零,我们也是比较难以处理的~!angel为一个角度的弧度值,slope为直线的斜率,是一个数字,这个数字可以是负的。

@RequiredArgsConstructor详解&@AllArgsConstructor和@RequiredArgsConstructor区别

RequiredArgsConstructor是Lombok的一个注解,简化了我们对@Autowired书写,我们在写Controller层或者Service层的时候,总是需要注入很多mapper接口或者service接口,如果每个接口都写上@Autowired,这样看起来就会很繁琐,@RequiredArgsConstructor注解可以代替@Autowired注解。

RDIFramework.NET ━ 9.8 用户权限管理 ━ Web部分

RDIFramework.NET ━ .NET快速信息化系统开发框架 9.8 用户权限管理 -Web部分 在实际应用中我们会发现&#xff0c;权限控制会经常变动&#xff0c;如&#xff1a;需要调整角色的分配&#xff0c;需要收回与授予某些角色、用户可访问的模块&#xff08;菜单&#xff09;与相应…

python并发

python并发 &#xff08;这部分还需要改&#xff0c;先将就着看&#xff09; Python 的 threading 模块引入了锁&#xff08;Lock&#xff09;。threading 模块提供了 Lock 和 RLock 两个类&#xff0c;它们都提供了如下两个方法来加锁和释放锁&#xff1a; acquire(blockingTr…

学会在Unity中创建一个Match-3益智游戏 Learn To Create a Match-3 Puzzle Game in Unity

MP4 |视频:h264&#xff0c;1280720 |音频:AAC&#xff0c;44.1 KHz&#xff0c;2 Ch 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09; |时长:48场讲座(6h 38m) |大小解压后:2.8 GB 含课程文件 游戏开发变得容易了。使用Unity学习C#并创建自…