关于SQL的常用操作(增、删、改、查)
关于SQL的常见操作主要是增、删、改、查。
1、增,顾名思义就是新增数据(insert into)。该语句用于向表中插入新纪录。insert into有两种用法。
(1)、无需指定要插入数据的列名,只提供被插入的值,
语法:INSERT INTO table_name VALUES (value1,value2,value3,...);
但是这种方法要注意一点,那就是需要列出插入行中的每一列数据,如果某一列没有数据的话,可以使用引号替代,如果没有列出插入行中每一列数据,就会报错。
(2)、指定列名及被插入的值,
语法:INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...);
通过这种方法也可以向指定的列中添加数据
(3)、一次性向表中插入多条数据。
操作为,insert into table_name values (value1,value2,...), (value3, value4,...), (value5, value6)。可以指定列名,也可以不指定列名,如果指定了列名,则是向指定列添加数据。如果不指定列名,那么则需要列出插入行中的每一列数据。
2、删,也就是删除数据,这里其实也有两种,delete与drop。然而这两种的效果确实不一样的,虽然都能删除数据。
(1)、delete。该语句用于删除表中的记录。语法:DELETE FROM table_name WHERE some_column=some_value;
例如,要从myTable表中删除title为 ‘扫毒’的数据。操作为 delete from [dbo].[myTable] where title='扫毒'
如果是要删除myTable表中的所有数据,操作为 delete from [dbo].[myTable],此时表中的数据都会被删除,但是表的结构、属性、索引等仍保持不变,也不会释放内存空间。
注意:使用delete删除数据时,如果省略了where子句,那么所有的数据都将会被删除。
(2)、drop。该语句用于删除表,且内存空间会被释放。
例如,要删除表myTable,那么操作为,drop table [dbo].[myTable]
(3)、删除表中重复的数据。可以这样做,首先去除重复,再获取n条数据并将其插入到临时表中,再将原表的数据删除,然后将临时表的数据插入到原表,最后删除临时表
例如表myTable中有多条title相同的数据,要删除相同的,只保留一条,那么操作为:
select distinct * into [dbo].[newTable] from [dbo].[myTable];
delete from [dbo].[myTable];
insert [dbo].[myTable] select * from [dbo].[newTable];
drop table [dbo].[newTable];
3、改,也就是更改表中的数据(update),用于更新表中已存在的数据。
语法:UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value;
例如,要将myTable表中 title为 ‘扫毒’ 的这条数据,将play改为 ‘古天乐、张家辉、刘青云’,那么操作为,update [dbo].[myTable] set play='古天乐、张家辉、刘青云' where title='扫毒'
注意:使用update更新表中数据时,如果省略了where子句,那么表中所有数据都将被更新。
4、查,也就是查询表中的数据(select)。
语法:SELECT column_name,column_name FROM table_name; 或 SELECT * FROM table_name;
例如,要查询表myTable中的所有数据,可以使用 select * from [dbo].[myTable] 或者将 "*"更改为表中数据行每一列的数据名。
(1)、选取表中包含某字符的数据。
例如,选取表myTable中play包含 ‘古’ 的所有数据,则操作为,select * from [dbo].[myTable] where play like '%古%'
(2)、选取表中以某字符开始的数据。
例如,选取表myTable中play以 “古” 开头的所有数据,则操作为,select * from [dbo].[myTable] where play like '古%'
(3)、选取表中以某字符结尾的数据。
例如,选取表myTable中play以 “古” 结尾的所有数据,则操作为,select * from [dbo].[myTable] where play like '%古'
(4)、选取表中指定长度包含指定字符的数据。
例如,选取表myTable中play包含三位且中间为 “古”的数据,则操作为 select * from [dbo].[myTable] where play like '_古_'
选取表myTable中play包含三位且开头为 “古”的数据,则操作为 select * from [dbo].[myTable] where play like '古__'
选取表myTable中play包含三位且结尾是 “古” 的数据,则操作为 select * from [dbo].[myTable] where play like '__古'
ps:% => 代表0个或多个字符
_ => 代表1个字符
(5)、使用in操作符,该操作符允许在where子句中规定多个值。
例如,要选取表myTable中title为 "扫毒" 或 "贪狼" 的数据,则操作为 select * from [dbo].[myTable] where title in ('扫毒', '贪狼')
(6)、between操作符,选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
例如,要选取表myTable中score 介于 10 到 200 间的数据。则操作为 select * from [dbo].[myTable] where score between 10 and 200
注意:在某些数据库中,BETWEEN 选取介于两个值之间但不包括两个测试值的字段。
在某些数据库中,BETWEEN 选取介于两个值之间且包括两个测试值的字段。
在某些数据库中,BETWEEN 选取介于两个值之间且包括第一个测试值但不包括最后一个测试值的字段。
(7)、选取要返回指定数目的数据(select top)。
语法:SELECT TOP number|percent column_name(s) FROM table_name;
例如,要选取表myTable中前100条数据,则操作为 select top 100 * from [dbo].[myTable]
选取表myTable中前50%的数据,则操作为 select top 50 percent * from [dbo].[myTable]
(8)、返回表中唯一不同的值(distinct)。
语法:SELECT DISTINCT column_name,column_name FROM table_name;
例如表myTable中有多条 title 为 ‘扫毒’的数据,现在只想返回一条,那么操作为 select distinct title from [dbo].[myTable]
关于SQL的常用操作(增、删、改、查)的更多相关文章
- 好用的SQL TVP~~独家赠送[增-删-改-查]的例子
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...
- django单表操作 增 删 改 查
一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取出数据. 目的:通过classes(班 ...
- iOS sqlite3 的基本使用(增 删 改 查)
iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...
- django ajax增 删 改 查
具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...
- iOS FMDB的使用(增,删,改,查,sqlite存取图片)
iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...
- C# ADO.NET (sql语句连接方式)(增,删,改)
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- ADO.NET 增 删 改 查
ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...
- MVC EF 增 删 改 查
using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...
- MongoDB增 删 改 查
增 增加单篇文档 > db.stu.insert({sn:'001', name:'lisi'}) WriteResult({ "nInserted" : 1 }) > ...
- python基础中的四大天王-增-删-改-查
列表-list-[] 输入内存储存容器 发生改变通常直接变化,让我们看看下面列子 增---默认在最后添加 #append()--括号中可以是数字,可以是字符串,可以是元祖,可以是集合,可以是字典 #l ...
随机推荐
- 谈互联网开放平台:“去中心化”大势所趋 zz
文/磐石之心 几天前与好友聊到众筹咖啡馆的事情,他向我讲述了一个非常具有特色的众筹咖啡馆案例.而这个案例也引发我对当前互联网开放.去中心和集权的一些思考,今天就简单写出来与大家分享. 一个无赚钱目的的 ...
- Word图片上传控件卸载教程-Xproer.WordPaster
卸载教程: 卸载控件-IE Windows XP Windows 7(x86) Windows 7(x64) 卸载控件-C ...
- HP 集群软件 - 不能接收节点的设备查询信息:软件引起的连接失败
问题 # cmcheckconf -v -C /etc/cmcluster/cmclconfig.ascii Begin cluster verification... Checking clust ...
- slice()
提取字符串中的一部分,并返回这个新的字符串 str.slice(beginSlice[, endSlice]) 参数 beginSlice 从该索引(以 0 为基数)处开始提取原字符串中的字符.如果值 ...
- 【python-ini】python读写ini文件
[python-ini]python读写ini文件 本文实例讲述了Python读写ini文件的方法.分享给大家供大家参考.具体如下: 比如有一个文件update.ini,里面有这些内容: 1 2 ...
- python生成器实例
生成器是一种特殊的迭代器,它有yield语句 #coding:utf-8def fibs(max): n,a,b = 0,0,1 while n < max: yield b a , b = b ...
- hdu 1443 Joseph【约瑟夫环】
题目 题意:一共有2k个人,分别为k个好人和k个坏人,现在我们需要每隔m个人把坏人挑出来,但是条件是最后一个坏人挑出来前不能有好人被挑出来..问最小的m是多少 约瑟夫环问题,通常解决这类问题时我们把编 ...
- hihocode 1336 Matrix Sum 【二维树状数组】
题目 两个操作: 1. Add x y value: Add value to the element Axy. (Subscripts starts from 0 2. Sum x1 y1 x2 y ...
- SRM481
250pt 题意:上帝知道一个“先有鸡还是先有蛋”的答案,上帝和N<=10^6个人说了答案,不过有x个人故意告诉了他们错误的答案,然后有一个人问了这N个人问题的答案,有M个人说先有鸡,N-M个人 ...
- 把EXE可执行文件等作为资源包含在Delphi编译文件中
摘自我自己过去写的一段心得. 1.编辑资源文件 *.RCWave: 资源文件是声音文件:RCDATA: 二进制数据AVI: AVI动画:ICON: 图标文件:BITMAP: 位图文件:CURSOR: ...