![SQL Server 从入门到项目实践(超值版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/709/27111709/b_27111709.jpg)
5.2 数据操作语句
用户通过数据操作语句(Data Manipulation Language, DML)可以实现对数据库的基本操作,例如,对表中数据的插入、删除和修改等。
5.2.1 数据的插入——INSERT语句
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P66_8735.jpg?sign=1739291305-HBLJdqCdLASEVONg0fF1Wrye9NeoMJeY-0-5450eda575fa7d35605869418db2c3f9)
使用INSERT语句可以在指定记录前添加记录。INSERT语句可以有以下两种编写形式。
第一种形式无须指定要插入数据的列名,只需提供被插入的值即可,语法结构如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P66_37352.jpg?sign=1739291305-kor6Pq2EuZ3hoWb9TSV192UQRlnqBI6N-0-6842806c49447c2e9e41a9d1a136b7ee)
第二种形式需要指定列名及被插入的值,语法结构如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P66_37354.jpg?sign=1739291305-DceMwH7RRTA1Q58Ch6RnyilnibXwiA6c-0-4f715a3252c614ab4ffd4821e4eb81cc)
例如,在Persons数据表中插入一行数据记录,SQL语句如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_37356.jpg?sign=1739291305-KgrPZlWZTDyOsoX09Dv9fRrvEnQd46pX-0-3b0fe02e3cd0d8817181044cfd98dc2b)
5.2.2 数据的更改——UPDATE语句
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_8885.jpg?sign=1739291305-DWTNdnOYFyuhVmfOshcw8OeXDvv4rnD9-0-a7ec17425e70266490e4e95f278a8a67)
UPDATE语句用于更新表中已存在的记录。具体语法格式如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_37357.jpg?sign=1739291305-ltXTgjI0SeHjJsJUkgjXbosxoXtslkkn-0-ab9650a88d5bb09edc5ecfb81d91ca35)
例如,修改Persons数据表中的数据,将“夏明”的“Address”更改为“天明路12号”、“City”更改为“上海”。SQL语句如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_37358.jpg?sign=1739291305-5MkRr6dMm23wuGFS83KIQIMWqccHVUqs-0-a5b8da439747c13a07027153743e10fc)
注意:SQL UPDATE语句中的WHERE子句规定哪条记录或者哪些记录需要更新。如果省略了WHERE子句,所有的记录都将被更新。
5.2.3 数据的查询——SELECT语句
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_8884.jpg?sign=1739291305-ZMb53LsaQV49ZmupeavBYVoMfl2MTBRz-0-443fe22fb1815278ca8ad8d158eff152)
数据查询语句(DQL)的基本结构是由SELECT子句、FROM子句、WHERE子句组成的查询块,具体格式如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_37359.jpg?sign=1739291305-SzvhvX5NAZYNRys0lhiPK40x4eE5onDn-0-6af00b634e06c2a303188b131fde6760)
SELECT语句用于从数据库中选取数据,结果被存储在一个结果表中,称为结果集。SELECT语法结构如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_37360.jpg?sign=1739291305-WbTDNXLWyRDIh1oUs5zgeMaMrS8EpJcq-0-6f04f1dccdc3736b8434d3172941e109)
与
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_37361.jpg?sign=1739291305-ZiDkQNXA9r6dgRn3pQC2um2ys41CXEqP-0-5d31ee6f51acaf49cac8bc4e01d8b237)
例如,查询fruit表中的name和price列,SQL语句如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_37362.jpg?sign=1739291305-PIAQ31e1xgtNwnM2LxL6BeUjQUBVVIWX-0-9e10861016681915e6e1604c0767d268)
如果想要获取数据表fruit中的所有列,SQL语句如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_37364.jpg?sign=1739291305-Zwgxh84L90r01PNABOScW9sYP18FvbwN-0-25a8f5ef7e7aace2c706caa8996280fa)
5.2.4 数据的删除——DELETE语句
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_8883.jpg?sign=1739291305-2rt3Yqc1dXhsxtJRVeKJwZlgDwX2v6pU-0-989333631f2dab1b43c78c92eed1fdbc)
DELETE语句用于删除表中不需要的记录,该语句使用比较简单,具体的语法格式如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_37365.jpg?sign=1739291305-LVfDRScTB6zYYy2ldXhpwPKbFDWk3qmT-0-1cc5f9e236d39e903a6375e6800761d8)
参数介绍如下。
- table_name:要删除的数据所在的表名。
- some_column=some_value:限制要删除的行,该条件可以是指定具体的列名、表达式、子查询或者比较运算符等。
注意:SQL DELETE语句中的WHERE子句规定哪条记录或者哪些记录需要删除。如果省略了WHERE子句,所有的记录都将被删除!
如果想要在不删除表的情况下,删除表中所有的行。这意味着表结构、属性、索引将保持不变,具体的语法格式如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P68_37368.jpg?sign=1739291305-6NHRWa2OD52RY1zSo73JhAjuj4gp27cO-0-12f744f77c49b10640b97199dee52a0b)
或
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P68_37369.jpg?sign=1739291305-nwyL0Y0U4slj8dEQWrG7K38Ua57vh3cK-0-811a4b9a9c745171b8b2115c4bf94b93)
注意:在删除记录时要格外小心!因为不能重来!
例如,删除数据表Persons中的数据记录。SQL语句如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P68_8914.jpg?sign=1739291305-PuTRee2yccdda03whWki8k3plSWKxheq-0-417a705225081c050a17f12f33e5a08a)