首页 > 其他分享 >openGauss INSERT-INTO语句

openGauss INSERT-INTO语句

时间:2024-04-26 11:22:05浏览次数:21  
标签:customer INSERT name INTO 插入 openGauss

INSERT INTO语句

在创建一个表后,表中并没有数据,使用这个表之前,需要向表中插入数据。INSERT INTO语句用于向表中插入新记录。该语句可以插入一行数据也可以同时插入多行数据。

语法格式

INSERT INTO table_name [ ( column_name [, ...] ) ]
    { DEFAULT VALUES
    | VALUES {( { expression | DEFAULT } [, ...] ) }[, ...] };

参数说明

  • table_name

    要插入数据的目标表名。

    取值范围:已存在的表名。

  • column_name

    目标表中的字段名:

    • 字段名可以有子字段名或者数组下标修饰。
    • 没有在字段列表中出现的每个字段,将由系统默认值,或者声明时的默认值填充,若都没有则用NULL填充。例如,向一个复合类型中的某些字段插入数据的话,其他字段将是NULL。
    • 目标字段(column_name)可以按顺序排列。如果没有列出任何字段,则默认全部字段,且顺序为表声明时的顺序。
    • 如果value子句只提供了N个字段,则目标字段为前N个字段。
    • value子句提供的值在表中从左到右关联到对应列。

    取值范围:已存在的字段名。

  • expression

    赋予对应column的一个有效表达式或值:

    • 向表中字段插入单引号 " ' "时需要使用单引号自身进行转义。
    • 如果插入行的表达式不是正确的数据类型,系统试图进行类型转换,若转换不成功,则插入数据失败,系统返回错误信息。
  • DEFAULT

    对应字段名的缺省值。如果没有缺省值,则为NULL。

示例

  • 向已创建成功的表customer_t1中插入一行。

    数据值是按照这些字段在表中出现的顺序列出的,并且用逗号分隔。通常数据值是文本(常量),但也允许使用标量表达式。

    openGauss=# INSERT INTO customer_t1(c_customer_sk, c_customer_id, c_first_name,Amount) VALUES (3769, 'hello', 'Grace', 1000);
    INSERT 0 1
    

    如果用户已经知道表中字段的顺序,也可无需列出表中的字段。例如以下命令与上面的命令效果相同。

    openGauss=# INSERT INTO customer_t1 VALUES (3769, 'hello', 'Grace',DEFAULT,1000);
    INSERT 0 1
    

    如果用户不知道所有字段的数值,可以忽略其中的一些。没有数值的字段将被填充为字段的缺省值。例如:

    openGauss=# INSERT INTO customer_t1 (c_customer_sk, c_first_name) VALUES (3769, 'Grace');
    INSERT 0 1
    等同于
    openGauss=# INSERT INTO customer_t1 VALUES (3769, 'hello');
    INSERT 0 1
    

    用户也可以对独立的字段或者整个行明确缺省值。

    openGauss=# INSERT INTO customer_t1 (c_customer_sk, c_customer_id, c_first_name) VALUES (3769, 'hello', DEFAULT);  
    INSERT 0 1
    openGauss=# INSERT INTO customer_t1 DEFAULT VALUES;
    INSERT 0 1
    
  • 如果需要在表中插入多行,请使用以下命令。

    openGauss=# INSERT INTO customer_t1 (c_customer_sk, c_customer_id, c_first_name,Amount) VALUES 
        (6885, 'maps', 'Joes',2200),
        (4321, 'tpcds', 'Lily',3000),
        (9527, 'world', 'James',5000);
    INSERT 0 3
    

    如果需要向表中插入多条数据,除此命令外,也可以多次执行插入一行数据命令实现。但是建议使用此命令可以提升效率。

标签:customer,INSERT,name,INTO,插入,openGauss
From: https://www.cnblogs.com/renxyz/p/18159581

相关文章

  • CIRCLEQ_INSERT_AFTER, C语言循环队列
     CMakeLists.txt#CMakeList.txt:CMakeprojectforllist,includesourceanddefine#projectspecificlogichere.#cmake_minimum_required(VERSION3.2)#Addsourcetothisproject'sexecutable.add_executable(poj2823"main.c""......
  • RemoveInsert
    删除顺序表L中下标为p(0≤p≤length-I)的元素,成功返回l,否则返回0,并将被删除元素的值赋给e。/*************************************************************filename:*author:[email protected]*date:2024/04/22*function:......
  • mysql中last_insert_id()用法
    前言在使用MySQL时,若表中含自增字段(auto_increment类型),则向表中insert一条记录后,可以调用last_insert_id()来获得最近insert的那行记录的自增字段值。但事实上,使用last_insert_id()时有很多注意事项,很容易踩到坑。数据准备CREATETABLE`tb_product`(`id`bigin......
  • openGauss Slow-Query-Diagnosis-慢SQL根因分析命令参考
    命令参考表1gs_dbmindcomponentslow_query_diagnosis命令行说明参数参数说明取值范围-h,--help帮助命令-action动作参数show:结果展示clean:清理结果diagnosis:交互诊断-c,--conf配置目录---query慢SQL文本*--start-time显示开始时间......
  • openGauss Slow-Query-Diagnosis-慢SQL根因分析使用指导
    使用指导假设用户已经初始化配置文件目录confpath,则可以通过下述命令实现本特性的功能:仅启动慢SQL诊断功能(输出Top3根因),启动命令如下(更多用法参考对service子命令的说明):gs_dbmindservicestart-cconfpath--only-runslow_query_diagnosis用户交互式慢SQL诊断,命令如下......
  • openGauss SQLdiag-慢SQL发现
    SQLdiag:慢SQL发现SQLdiag是openGauss中SQL语句执行时长预测工具。现有的预测技术主要基于执行计划的预测方法,但这些预测方案仅适用于OLAP场景且可以获取执行计划的任务,对于OLTP或者HTAP这样的快速、简单查询是没有太多使用价值的。与上述方案不同,SQLdiag着眼于数据库的历史SQL语......
  • openGauss Slow-Query-Diagnosis-慢SQL根因分析常见问题处理
    常见问题处理如果用户对没有执行过的慢SQL执行交互式诊断命令,则无法给出诊断结果。exporter指标采集功能没有启动时运行慢SQL诊断功能,此时功能无法正常运行。配置文件中的参数重新设置后,需要重新启动服务进程才能生效。使用慢SQL的交互诊断功能时,工具基于RPC和数据采集服务获......
  • openGauss Prometheus-Exporter组件命令参考
    命令参考reprocessing-exporter的使用帮助详情:gs_dbmindcomponentreprocessing_exporter--helpusage:[-h][--disable-https][--ssl-keyfileSSL_KEYFILE][--ssl-certfileSSL_CERTFILE][--ssl-ca-fileSSL_CA_FILE][--web.listen-addressWEB.LISTEN_ADDRESS][--web......
  • openGauss Prometheus-Exporter组件使用指导
    使用指导用户可通过gs_dbmind命令启动对应的exporter。下面为用户演示一个完整的Prometheus监控平台的搭建过程。通过命令行进行Prometheus和所有exporter的启动:gs_dbmindcomponentdeployment--runprometheus和各个exporter单独的启动方式可以参考后续步骤,如果用户只采......
  • openGauss service子命令
    service子命令该子命令可用于对配置目录进行初始化,同时也可以实现启动和停止后台任务。配置目录初始化用户可通过gs_dbmindservicesetup子命令进行配置目录的初始化。该配置文件中可包括DBMind的配置文件、日志等内容。该目录中的部分文件说明:dbmind.conf:DBMind的参数配......