SQL必知必会 第十五课 笔记——插入数据

第15课 插入数据
这一课介绍如何利用SQL的INSERT语句将数据插入表中。
提示:插入及系统安全
使用 INSERT语句可能需要客户端/服务器DBMS中的特定安全权限。在你试图使用INSERT前,应该保证自己有足够的安全权限。
15.1 数据插入
15.1.1 插入完整的行
INSERT INTO Customers
VALUES ('1000000006',
  '123 Any Street',
  'NY',
  NULL );
分析
这个例子将一个新顾客插入到Customers表中。存储到表中每一列的数据在 VALUES子句中给出,必须给每一列提供一个值。 如果某列没有值,则应该使用NULL值(假定表允许对该列指定空值)。各列必须以它们在表定义中出现的次序填充。
Attention :如果表的结构改变,这条INSERT语句将不能正确工作。最好给出Customer具体的内容:
INSERT INTO Customers(cust_id,
  cust_address,
  cust_city,
  cust_email)
VALUES ('1000000006',
  '123 Any Street',
  'NY',
  NULL );

15.1.2 插入部分行
15.1.1中例子没有给cust_email这列提供值(NULL).因此,INSERT语句可以省略这列及其对应的值.

15.1.3 插入检索出的数据
INSERT INTO Customers(cust_id,
  cust_email,
  cust_address,
  cust_city,)
SELECT cust_id,
  cust_email,
  cust_address,
  cust_city
FROM CustNew;
说明:新例子的说明
这个例子从一个名为CustNew的表中读出数据并插入到Customers表。CustNew表的结构与Customers表相同。
提示:INSERT SELECT中的列名
为简单起见,这个例子在INSERT和SELECT语句中使用了相同的列名。 但是,不一定要求列名匹配。事实上,DBMS一点儿也不关心SELECT返回的列名。 它使用的是列的位置,因此SELECT中的第一列(不管其列名)将用来填充表列中指定的第一列,第二列将用来填充表列中指定的第二列......

15.2 从一个表复制到另一个表
SELECT *
INTO CustCopy
FROM Customers;

15.3 小结
这一课介绍如何将行插入到数据库表中。我们学习了使用INSERT的几种方法,为什么要明确使用列名,如何用INSERT SELECT从其他表中导入行,如何用SELECT INTO将行导出到一个新表。

你可能感兴趣的:(数据库)