前言:
如今姐妹们对“数据库添加一列数据”大体比较看重,咱们都需要了解一些“数据库添加一列数据”的相关知识。那么小编同时在网摘上搜集了一些关于“数据库添加一列数据””的相关文章,希望我们能喜欢,各位老铁们快快来了解一下吧!INSERT是常用的语句,插入的方式有几种
1、插入完成的行
2、插入一行的部分数据
3、插入一些查询结果的数据
这个一般需要权限的,正常开发是都有权限的,生产一般是没有权限直接进行数据库的INSERT操作的。
插入完整行(要求指定表名,插入新行中的值)
INSERT INTO customers VALUES( 1000000007, 'INSERT_NAME', 'CUOS Maple Lane', 'BEIJING', 'BJ', 10000, 'CHN', 'John Smith', '110@QQ.COM')
存储在每一列中的数据在VALUES中给出,如果没有值给出该列的默认字段,空字符串或者NULL,每列的值必须按顺序放在VALUES中,一般我们在业务开发中是不这么写的,因为一旦在其它地方对当前表添加了新的列,如果你记得你会回来调整费事,如果你不记得了/或者离职换工作了,就是一个巨坑了。简单不推荐的写法。
INSERT INTO customers( cust_id, cust_name , cust_address, cust_city, cust_state , cust_zip, cust_country, cust_contact , cust_email)VALUES( 1000000008, 'INSERT_NAME', 'CUOS Maple Lane', 'BEIJING', 'BJ', 10000, 'CHN', 'John Smith', '110@QQ.COM')
在表customers指定字段可以解决表结构发生变化时照成的问题,同时只需要表后的字段和VALUES后的字段对应就可以了。同时一旦表后给出列明,VALUES后就必须给出相应的值如果没有也需要给出默认的空值BULL或者空字符串,不然这条数据是插入不成功的。
错误(少了最后的cust_email值)
INSERT INTO customers( cust_id, cust_name , cust_address, cust_city, cust_state , cust_zip, cust_country, cust_contact , cust_email)VALUES( 1000000008, 'INSERT_NAME', 'CUOS Maple Lane', 'BEIJING', 'BJ', 10000, 'CHN', 'John Smith',)
插入部分列
INSERT INTO customers( cust_id, cust_name , cust_address, cust_email)VALUES( 1000000009, 'INSERT_NAME', 'CUOS Maple Lane', '110@QQ.COM')
查询
使用指定列的方式,完成部分列的数据插入
注意项:
1、当前忽略的列,必须允许为NULL(无值)
2、在表定义该列的时候给出默认值
插入检索出的数据
它是由INSERT语句和SELECT语句组成,也是我们常说的INSERT SELECT。
INSERT INTO customers( cust_id, cust_name , cust_address, cust_city, cust_state , cust_zip, cust_country, cust_contact , cust_email)SELECT cust_id, cust_name , cust_address, cust_city, cust_state , cust_zip, cust_country, cust_contact , cust_emailFROM custnew
这里插入的时候CustNew检索出的数据中的唯一键值不应该和customers中的唯一键值相同
SELECT语句从custnew中检错出要插入的值,而不是列出它们,SELECT后的每一列对应INSERT INTO customers后的每一列。这里SELECT的列名是为了保持和customers一致取的它们不是必须。
其中INSER 是插入单行数据的,多条数据是我们必须执行多次INSERT,但是INSERT SELECT语句我们是可以批量插入的,我们SELECT语句检索出多少条就会被INSERT插入多少条,当前键值唯一的并且重复的会报错的
SELECT后可以跟随WHERE语句过滤数据,检索出我们需要的数据
INSERT INTO customers( cust_id, cust_name , cust_address, cust_city, cust_state , cust_zip, cust_country, cust_contact , cust_email)SELECT cust_id, cust_name , cust_address, cust_city, cust_state , cust_zip, cust_country, cust_contact , cust_emailFROM custnewWHERE cust_id NOT IN(SELECT cust_id FROM customers)
将一个表单数据复制到另一张表中
CREATE SELECT语句
CREATE TABLE CopyCust AS SELECT * FROM custnew;
SQL server 写法
SELECT * INTO CopyCust FROM custnew
这里创建了一张新表CopyCust 将custnew表中的数据复制到了新表中
标签: #数据库添加一列数据