无涯教程-Derby - 插入数据

119 阅读2分钟

插入查询将数据:新记录插入表中。

Insert Data - 语法

以下是INSERT语句的基本语法-

ij>INSERT INTO table_name VALUES (column_name1, column_name2, ...);

其中column1,column2是要插入的行中的列值。

Insert Data - 示例

以下SQL INSERT语句在Student表中插入新行,并在 id,age,first_name和last_name列中插入值。

SQL> INSERT INTO Student VALUES (101, 20, Zara, Ali);

Insert Data - 语法2

或者,您可以通过提及列名来插入两个特定的列,如下所示:

ij>INSERT INTO table_name VALUES (column_name1, column_name2, ...) VALUES
(value1, value2, ...);

注意-Apache Derby自动计算生成的列的值,如,不需要为本教程前面创建的学生表中的id列传递值,如果您的表已生成列,请使用 syntax2 。

Insert Data - 示例

ij> INSERT INTO Student(Age, First_Name, Last_Name) VALUES (21, Sucharitha , Tyagi);
1 row inserted/updated/deleted

并且,您还可以使用一条语句插入两行,如下所示:

ij>INSERT INTO Student(Age, First_Name, Last_Name) VALUES (20, Amit,
Bhattacharya), (22, Rahul, Desai);
2 rows inserted/updated/deleted

您可以使用SELECT命令验证表的内容(无涯教程将在本教程的后面部分讨论此命令)。

Insert Data - 语法3

您可以在insert语句中使用另一个查询,如下所示:

INSERT INTO table_Name Query 

Insert Data - 示例

假设无涯教程在数据库中有一个名为 First_Year 的表,如下所示,其列与Student表中的列类似-

ID |AGE |FIRST_NAME |LAST_NAME
-----------------------------------------------------------------
1 |20 |Raju |Pendyala
2 |21 |Bhargav |Prayaga
3 |22 |Learnfk |Yerramilli 

您可以使用上述语法,将此表中的值插入到学生表中,如下所示:

ij> INSERT INTO Student (Age, First_Name, Last_Name)
 SELECT Age, First_Name, Last_Name FROM First_Year;
> 3 rows inserted/updated/deleted

执行完上述所有插入语句后,Student表将如下所示:

ID |AGE |FIRST_NAME |LAST_NAME
-------------------------------------------------------------
1 |21 |Sucharitha |Tyagi
2 |20 |Amit |Bhattacharya
3 |22 |Rahul |Desai
4 |20 |Raju |Pendyala
5 |21 |Bhargav |Prayaga
6 |22 |Learnfk |Yerramilli 

Insert Data - JDBC示例

以下JDBC示例演示了如何使用JDBC程序将数据插入Apache Derby中的表中,在这里,无涯教程使用嵌入式驱动程序连接到名为sampleDB的数据库(如果不存在则创建)。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class InsertData {
   public static void main(String args[]) throws Exception {
      //注册驱动
      Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
      //创建连接
      String URL = "jdbc:derby:SampleDB;create=true";
      Connection conn = DriverManager.getConnection(URL);
  </span><span class="com">//获取Statement对象</span><span class="pln">
  </span><span class="typ">Statement</span><span class="pln"> stmt </span><span class="pun">=</span><span class="pln"> conn</span><span class="pun">.</span><span class="pln">createStatement</span><span class="pun">();</span><span class="pln">

  </span><span class="com">//创建表结构</span><span class="pln">
  </span><span class="typ">String</span><span class="pln"> query </span><span class="pun">=</span><span class="pln"> </span><span class="str">"CREATE TABLE Employees("</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"Id INT NOT NULL GENERATED ALWAYS AS IDENTITY, "</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"Name VARCHAR(255), Salary INT NOT NULL, "</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"Location VARCHAR(255), "</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"PRIMARY KEY (Id))"</span><span class="pun">;</span><span class="pln">
  </span><span class="com">//执行SQL语句</span><span class="pln">
  </span><span class="typ">String</span><span class="pln"> query </span><span class="pun">=</span><span class="pln"> </span><span class="str">"INSERT INTO Employees("</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"Name, Salary, Location) VALUES "</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"(Amit, 30000, Hyderabad), "</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"(Kalyan, 40000, Vishakhapatnam), "</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"(Renuka, 50000, Delhi), "</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"(Archana, 15000, Mumbai), "</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"(Trupthi, 45000, Kochin), "</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"(Suchatra, 33000, Pune), "</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"(Rahul, 39000, Lucknow), "</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"(Trupti, 45000, Kochin)"</span><span class="pun">;</span><span class="pln">
  stmt</span><span class="pun">.</span><span class="pln">execute</span><span class="pun">(</span><span class="pln">query</span><span class="pun">);</span><span class="pln">
  </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Values inserted"</span><span class="pun">);</span><span class="pln">

} }

在执行上述程序时,您将获得以下输出-

Values inserted

参考链接

www.learnfk.com/derby/apach…