![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=1739304904-1ROs8C4TZhqheCZUV50ws4KQY9FeFDbr-0-144c133f1ed36586617873def0748357)
使用INSERT语句可以在指定记录前添加记录。INSERT语句可以有以下两种编写形式。
第一种形式无须指定要插入数据的列名,只需提供被插入的值即可,语法结构如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P66_37352.jpg?sign=1739304904-xyzU421aaQB1VKkrVeWPA8YswlaCXw5R-0-7e846a997564365228101746abece270)
第二种形式需要指定列名及被插入的值,语法结构如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P66_37354.jpg?sign=1739304904-5BG1klnrXTK8bhgVLno7UqdmVVYSDtky-0-1015d11c7a194e7963158552c20ca34f)
例如,在Persons数据表中插入一行数据记录,SQL语句如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_37356.jpg?sign=1739304904-VwD8OA4hUDc7Oa1fwjix1AOmHhqmsNFB-0-25a2153f0060b092b4f811329274ab62)
5.2.2 数据的更改——UPDATE语句
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_8885.jpg?sign=1739304904-GQxo8Bj6GM1kdXYsVIcF96N1Srmcv20A-0-d3ba653e37fcb73485ead76b09cd7693)
UPDATE语句用于更新表中已存在的记录。具体语法格式如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_37357.jpg?sign=1739304904-gQj1bnVH4oX77mNK17nxI3uF6h3ewHsH-0-452e4ef5a86d3c5a372f0045dda02cfc)
例如,修改Persons数据表中的数据,将“夏明”的“Address”更改为“天明路12号”、“City”更改为“上海”。SQL语句如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_37358.jpg?sign=1739304904-qxF0jX31tbGtAxoPt45Dagw3u40Ges19-0-8928597b9395d09874a95a0d1717ce63)
注意:SQL UPDATE语句中的WHERE子句规定哪条记录或者哪些记录需要更新。如果省略了WHERE子句,所有的记录都将被更新。
5.2.3 数据的查询——SELECT语句
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_8884.jpg?sign=1739304904-D3GAynWa7kzihTUn8NERhxRaC3FIW0tz-0-44693a7d67dec21d9ba116f941602ca5)
数据查询语句(DQL)的基本结构是由SELECT子句、FROM子句、WHERE子句组成的查询块,具体格式如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_37359.jpg?sign=1739304904-p4kcEIlopiIPuEO7XUBqfBNIWSmF0t1i-0-0b30967e9152f4b6e6361ae3464d0a99)
SELECT语句用于从数据库中选取数据,结果被存储在一个结果表中,称为结果集。SELECT语法结构如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_37360.jpg?sign=1739304904-PwXsKkMs9jNxOytRQzOX3yiPaTUKotmJ-0-b2c21d58c23deea0e7ec271c0b6cafcf)
与
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_37361.jpg?sign=1739304904-wg1iuS6hEM3qr5DS0MjQLFY7hNBWoHom-0-bf1a062278b62e4c0edacfe66bd816a6)
例如,查询fruit表中的name和price列,SQL语句如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_37362.jpg?sign=1739304904-LoBVZeGF6IQGK8YUtgsbmOgZ2GnPdyrh-0-3c45c72dc3a7c5f6e8cfa6a2fbb2c93f)
如果想要获取数据表fruit中的所有列,SQL语句如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_37364.jpg?sign=1739304904-N0ZFQzij0Xfk2AmAspZQPK8n0wvBKCaP-0-5c3a645f7c4a96a8c75082a8deb9f934)
5.2.4 数据的删除——DELETE语句
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_8883.jpg?sign=1739304904-fm8cABHRDSF5Hkzak6MOBJDfgGPzAWYI-0-6cbd906751406f1fe2decb195b59fbde)
DELETE语句用于删除表中不需要的记录,该语句使用比较简单,具体的语法格式如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P67_37365.jpg?sign=1739304904-sjjrH3Q7tG49lQnzOvq0R2xfFe8erSBq-0-cc51d9574ef4088735dbca325aaf7b3f)
参数介绍如下。
- table_name:要删除的数据所在的表名。
- some_column=some_value:限制要删除的行,该条件可以是指定具体的列名、表达式、子查询或者比较运算符等。
注意:SQL DELETE语句中的WHERE子句规定哪条记录或者哪些记录需要删除。如果省略了WHERE子句,所有的记录都将被删除!
如果想要在不删除表的情况下,删除表中所有的行。这意味着表结构、属性、索引将保持不变,具体的语法格式如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P68_37368.jpg?sign=1739304904-hV89SsfgYZa61mxWx8hALJDd6aaIKG2W-0-157d16b1186543db4a7927a13714cc7e)
或
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P68_37369.jpg?sign=1739304904-0Wj2QY02DkY9HtaXijrrhWjI2drzoXES-0-790e924194e46099337f684a126686b1)
注意:在删除记录时要格外小心!因为不能重来!
例如,删除数据表Persons中的数据记录。SQL语句如下:
![](https://epubservercos.yuewen.com/2AE60C/15477656704589106/epubprivate/OEBPS/Images/Figure-P68_8914.jpg?sign=1739304904-FAEjCkLjzf9GDGIfcIYimnp68GhmQk2G-0-340f7837c1060b2cf05af2f03f01e998)