简单的增 删 改 查

一:insert语句
into 关键字是可选的
values关键字前面的()是可选的,这里是要接收数据的列
values后面,有两种方式提供值
1:显式的给出值  2:从select语句中导出值

insert语句注意几点
1:不要理标志列,系统会给你插入的
2:给出实际的值,如果没有,那就null
3:给出默认的值,default关键字,告诉数据库取默认值

insert into ... select
什么时候会这么用,当成批的数据来自
1:数据库中的另一个表
2:同一台服务器完全不同的数据库
3:另一个SQLSERVER的数据库
4:来自同一个表中的数据
说实在的2和3我从来没用过

好,看一个例子
declare @mytable table
(
 id int,
 sortid int
);
insert into @mytable  (id,sortid)  select id,classid from product;
select * from @mytable;
注意我定义了一个表的对象
每一句之间是用分号隔开的
(id,sortid)  是可以忽略的

二:update语句
看例子
update e set e.flag = 'm'   from  employee  e  join contact ce on e.id = ce.employeeid where ce.name = 'jo'
这里用到了join子句,当然是可以用的
如果修改不止一列  只要加一个逗号
set   num = num * 1.2当然可以写表达式

三:delete语句
delete from actors from actors a  left join film f on a.filmid = f.filmid where f.filmid is null
outer连接将在没有匹配的一端返回null,
这里也就是film表没有匹配的行是null
注意   is null  的写法

四: select语句
这里还是不说了,还是多说说子句吧

五:where子句
1:
=    >     <    >=  <=    <>  !=  !>  !<
其中<>  与 !=都是不相等的意思
!>与!<不怎么常见,但仔细想想也没什么用处 

2:
and   or   not  
如果一个where子句中同时出现这三个操作符
最先评估not   然后是and  然后是or 

3:
between 例子 between 1 and 5   这个就不多说了 

4:
like   例子:like "xland%"
%和_是通配符
%代表零个或多个任意字符
_表示单个任意字符
把字符包括在方括号中
[a-c]表示a b c都可行
[ab]表示a或b
^与not表示下一个字符将被排除掉 

5:
in  例子  in ( 1,2,3)   这个也不多说了

六:order by子句
order by由于比较常用  我这里就不多说了
1:order by username  是可以识别中文的(sql先把中文转换成拼音再进行排序)
2:可以对 查询到的表中的任何列 进行排序  无论该列是否包含在select列表中
3:基于多个列的order by  
      例如:order by addtime,id
      先按时间排序,再在这个基础上根据id排序,你也看到了,性能是有很大幅度的降低的

七:distinct关键字
select  count(distinct  column) from table
检索某一列不重复的记录数

八:group by  聚集函数  和 having子句
先看例子:
select   orderid sum(orderMoney) from sales where orderid between 3 and 123 group by orderid
注意这里的orderid在表里是有可能重复的
这个语句的作用是检索出orderid从3到123的记录,
然后在这个记录集合上  以orderid分组
把orderid相同的数据分到一组  (这一组就是最终结果的一条记录)
然后通过sum函数把各组的orderMoney数据相加,
结果是最终结果的第二个字段

我发现用group  by子句基本上都是和聚集函数一起用的
举几个聚集函数的例子
sum 求和
avg求平均数
min/max求最大和最小值
count(表达式|*)获取一个查询中的行数
只说说count吧:
count(coloum)如果这一列有null,那么这些null的行将不会计算在内 
count(*)将得到表里的所有行的数目
聚集函数不一定非和group by一起使用不可
(另外avg基本上都是和group by一起使用的)

having子句是在组上放置条件的
看例子
select   orderid sum(orderMoney) from sales where orderid between 3 and 123 group by orderid  having sum(orderMoney)>5
group by得到了一个记录的集合
然后通过having子句,再在这个集合上做筛选

时间: 2024-09-16 00:17:21

简单的增 删 改 查的相关文章

简单的php数据库操作类代码(增,删,改,查)_php实例

数据库操纵基本流程为: 1.连接数据库服务器 2.选择数据库 3.执行SQL语句 4.处理结果集 5.打印操作信息 其中用到的相关函数有 •resource mysql_connect ( [string server [, string username [, string password [, bool new_link [, int client_flags]]]]] ) 连接数据库服务器•resource mysql_pconnect ( [string server [, strin

Struts2实现CRUD(增 删 改 查)功能实例代码_java

CRUD是Create(创建).Read(读取).Update(更新)和Delete(删除)的缩写,它是普通应用程序的缩影.如果您掌握了某框架的CRUD编写,那么意味可以使用该框架创建普通应用程序了,所以大家使用新框架开发OLTP(Online Transaction Processing)应用程序时,首先会研究一下如何编写CRUD.这类似于大家在学习新编程语言时喜欢编写"Hello World". 本文旨在讲述Struts 2上的CRUD开发,所以为了例子的简单易懂,我不会花时间在数

oracle监控某表变动触发器例子(监控增,删,改)_oracle

使用oracle触发器 实现对某个表的增改删的监控操作,并记录到另一个表中. 代码: 复制代码 代码如下: create or replace trigger test_trigger    before insert or update or delete on test_table    for each row  declare    v_id        varchar2(30);    v_bdlb      varchar2(1);    v_jgdm      VARCHAR2(

Lucene能否像数据库那样对已存放记录的索引文件的某字段进行增/删/改?

问题描述 比如现在的索引文件中的字段是articleid.title.content.create_date.userid,并且已经索引了10000个记录.我现在需要将其中的userid字段删除掉,将date字段重命名为last_modify,同时增加一个visit_count字段.请问Lucene是否支持这样的操作呢? 解决方案 据我所知不能,都不能不过你可以试试引用通过读取index文件,然后遍历所有的doc,获取所有的field,然后添加到你新的doc里面,然后重新写入index文件因为我

使用DataTable更新数据库(增,删,改)_实用技巧

1.修改数据 复制代码 代码如下:             DataRow dr = hRDataSet.Tables["emp"].Rows.Find(textBox3.Text);            //DataRow dr = hRDataSet.Tables["emp"].Select("id="+textBox3.Text)[0];            dr.BeginEdit();            dr["nam

JS操作图片(增,删,改) 例子_javascript技巧

复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>    <title></titl

C#&amp;nbsp;对Outlook联系人的增、删、查&amp;nbsp;

原文:C# 对Outlook联系人的增.删.查 [转] 注:定义变量 Outlook.Application myOlApp = new Outlook.ApplicationClass(); Outlook.NameSpace myNameSpace; Outlook.MAPIFolder myFolder; 一.添加联系人 Outlook.ContactItem addItem = (Outlook.ContactItem)myOlApp.CreateItem(Outlook.OlItemT

谁有最简单的增删改查程序啊,发过来研究研究呗

问题描述 以前学的是ASP,最近转到.net上,看了一些书还是有些迷茫,还求能给个最简单的增删改查或者新闻发布系统研究一下,我用的是VS2008 解决方案 解决方案二:http://topic.csdn.net/u/20110414/10/06526263-9e0d-491f-b963-7ae0afd1f7e4.html解决方案三:简单增删改查:

mongodb+php实现简单的增删改查_MongoDB

windows上安装mongodb的php扩展 下载地址https://s3.amazonaws.com/drivers.mongodb.org/php/index.html 找到对应的php版本的dll文件,下载php_mongo.dll,放到php安装目录下的ext目录中,修改php.ini,添加一项extension=php_mongo.dll,没有找到支持php7的dll 获取MongoClient对象,new出来 获取数据库对象db,通过MongoClient对象的数据库属性,$Mon