数据分析人必把握的数据库语言——SQL指南第七期
发布时间:2025年09月21日 12:17
深入研究:在填充先为时,DBMS将用VALUES列于所列之前的可视系数放入列于所列之前的也就是说项。VALUES之前的第一个系数也就是说于第一个指定列于名,第二个系数也就是说于第二个列于名,如此等等。
填充部分先为
运用于这种句法,还可以省去列于,这所列示可以只给某些列于透过系数,给其他列于不透过系数。
下面:INSERT INTO Customers (cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country)VALUES (1000000006, 'Toy Land', '123 Any Street', 'New York', 'NY', '11111', 'USA')深入研究:从未给cust_contact和cust_email这两列于透过系数,这所列示没人必要性在INSERT句子之前值得注意它们。因此,这之中的INSERT句子省去了这两列于及其也就是说的系数。
填充检索出的资料
INSERT一般用来给所列填充兼具指定列于系数的先为。
INSERT还存在另一种形式,可以透过它将SELECT句子的结果填充所列之前,这就是所谓的INSERT SELECT。
假如想把另一所列之前的卖家列于合并到Customers所列之前,不所需每次读取一先为再继续将它用INSERT填充,可以如下顺利完成:
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_contact, cust_email, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_countryFORM CustNew深入研究:运用于INSERT SELECT从CustNew之前将所有资料导入Customers。SELECT句子从CustNew检索出要填充的系数,SELECT之前列于出的每一列于也就是说于Customers所列名后所跟的每一列于。
从一个所列复制另一个所列
可以运用于CREATE SELECT句子(或者在SQL Server之中也可用SELECT INTO句子)。
与INSERT SELECT将资料掺入到一个现在存在的所列不同,CREATE SELECT将资料复制一个新所列。
CREATE TABLE CustCopy AS SELECT * FROM Customer s运用于SQL Server,可以这么读到:
SELECT * INTO CustCopy FROM Customers深入研究:创建一个原称CustCopy的新所列,并把Customers所列的整个细节复制新所列之前。
在运用于SELECT INTO时,任何SELECT可选择和主词都可以运用于,还包括WHERE和GROUP BY;可透过连接从多个所列填充资料;不管从多少个所列之前检索资料,资料都仅仅填充到一个所列之前。
03 备份和删掉资料备份资料
备份所列之前的资料,可以运用于UPDATE句子,运用于UPDATE的方式将有两种:
❑ 备份所列之前的特定先为;
❑ 备份所列之前的所有先为。
整体UPDATE句子由三部分构成,分别是:
❑ 要备份的所列;
❑ 列于名和它们的新系数;
❑ 确定要备份哪些先为的处理过程状况。
举一个非常简单例子,供应商1如今有了电子邮件地址,因此他的记录所需备份,句子如下:
UPDATE CustomersSET cust_email='kim@thetoystore.com'WHERE cust_id =1深入研究:UPDATE句子以要备份的所列名开始。要备份的所列原称Customers。SET命令用来将新系数赋给被备份的列于。UPDATE句子以WHERE主词结束,它去找DBMS备份哪一先为。
备份多个列于的句法稍有不同。
UPDATE CustomersSET cust_contact ='Sam Roberts', cust_email ='sam@toyland.com'WHERE cust_id = 1深入研究:在备份多个列于时,只所需运用于一条SET命令,每个“列于=系数”对相互间用引号重叠(仍要一列于再次不用引号)。
要删掉某个列于的系数,可所设它为NULL。
UPDATE CustomersSET cust_email = NULLWHERE cust_id = 1深入研究:NULL用来去除cust_email列于之前的系数。
删掉资料
从一个所列之前删掉资料,运用于DELETE句子,运用于DELETE的方式将有两种:
❑ 从所列之前删掉特定的先为;
❑ 从所列之前删掉所有先为。
下面:DELETE FROM Customers WHERE cust_id =1深入研究:DELETEFROM立即指定删掉资料的所列名,WHERE主词处理过程要删掉的先为。如果省去WHERE主词,它将删掉所列之前每个卖家。
DELETE不所需列于名或通配符,DELETE删掉整先为而不是删掉列于,要删掉指定的列于,运用于UPDATE句子。
运用于UPDATE或DELETE后所遵循的重要原则上:
❑ 除非备份和删掉每一先为,否则绝对不要运用于不带WHERE主词的UPDATE或DELETE句子。
❑ 尽有可能每个所列都有主键,尽有可能像WHERE主词那样运用于它。
❑ 在UPDATE或DELETE句子运用于WHERE主词前,应该中用SELECT顺利完成次测试,尽有可能它处理过程的是正确的记录,以防编读到的WHERE主词不正确。
❑ 运用于强迫实施提及非常简单性的资料库,这样DBMS将不必需删掉其资料与其他所列就其联的先为。
❑ 有的DBMS必需资料库管理员施加压力约束,防止执先为不带WHERE主词的UPDATE或DELETE句子。若是SQL从未裁撤(undo)按钮,应该非常故意地运用于UPDATE和DELETE。
以上就是从前倾听的全部细节,下期中长期为大家概述运用于视图和创建和操纵所列,我们下期见!
。常州男科北京哪家医院做人流好
手机看久了眼睛模糊怎么办
江西男科医院哪家比较专业
不是干眼症能用海露吗
婚后痛经
淋巴瘤
肾囊肿
急支糖浆治疗哪种咳嗽效果好
这么多年过去了,为什么新冠还没有“消失”?
- 从炫技到精锐部队,折叠屏手机需要学会什么?
- 高端“三次摇号未中”家庭 去年第二批保障性租赁房选房今日举行
- 开局神装爽到爆!星越L雷神Hi•X油电混动版为什么上市就买爆了
- 领悦服务集团(02165.HK)2021年纯利7520万元 累计增长7.0%
- 借沂河新区炒作概念,临沂东城多楼盘逆势即日是否自寻短见?
- 2021年我国巴士和资金流动有序 国际收支自主平衡
- 路虎全新揽胜急剧加长!比迈巴赫GLS还霸气,降价超10万146.8万起
- 山东代驾小哥深夜被门砸死,防范视频曝光,本来有两次活命的机会,生命太脆弱了
- 银城国际香港)有限公司(01902.HK)2021年实现归母净利1.42亿元
- 多地重大项目集中破土动工 “稳投资”快马加鞭
- 奥园健康(03662)延迟刊发2021年全年业绩 4月1日起本公司
- 深挖热点综合 释放居民消费潜力
- 长春亚泰:望戴伟浚更好磨砺自己多为国足做贡献 深足是生涯最后一站
- “留岗红包”密集派发 死守家政人员预计同比增长