易友编程,网站全新改版!欢迎大家光临!

常用SQL语句之DML,数据操作语言

常用SQL语句
DML,数据操作语言,主要用于检索或修改数据,也就是对表的内容的操作。
select 用于检索、查找数据;
用法:select 字段名 from 表名 where 条件
强调:在where语句后,可用常见的运算符:=等于、>大于、<小于、>=大于等于、<=小于等于、<>不等于、like类似于(支持通配符)、not like不类似于(支持通配符)、and连接多条件必须同时满足、or 连接多条件至少满足1个、not排除后面的条件。


强调2:在where条件语句中,还可以设置其他子条件:group by 字段名将数据相同的行集中在一起并允许合计函数计算;having 内部函数表达式 设定记录的条件;order by 字段名 asc/desc根据指定的字段排序,默认为升序(ASC),例见简单查询2


例如(简单查询1):select * from 图书库存表 where 出版社=‘易语言出版社’(*代表查询返回所有字段信息,也就是在图书库存表中查询易语言出版社出版的所有图书的信息)


例如(简单查询2):select 书名,作者 from 图书库存表 where 价格<90 order by 价格 asc(排序:查询图书库存表中价格小于90元的图书的书名和作者,并按价格升序排列)


例如(简单查询3):select * from 图书库存表 where 数量 between 10 and 20(取中间值:查询图书库存表中数量在10至20之间的所有图书信息,between介于之间)


例如(简单查询4)select * from 图书库存表 where 书名 like ‘易%’(通配符:查询图书库存表中书名第一个字为易的所有图书的信息

强调(SQL通配符):like 语句格式为:字段名 like  指定字符串。指定字符串有常见几种形式:“%”任意长度的任意字符;“_”下划线代表任意单个字符;其他字符:仅代表字符本身;“[]”字符组,符合字符组中任意字符(和正则一样);“[^]”排除字符组内的字符。


例如(简单查询5):select distinct 姓名 from 学生信息表(去除重复:查询学生信息表,显示姓名不重复,即重名时只显示一个)


例如(简单查询6):select 姓名 from 学生信息表 limit 3(限制结果:查询学生信息表,且只显示3条数据)


例如(简单查询7):select 姓名 from 学生信息表 limit 4,3(限制结果:从第5行开始,显示3条结果(数据库行序号从0开始))


例如(简单查询8):select * from 学生信息表 where 姓名 is null(查空:查询出学生信息表中姓名为空的所有字段信息)


例如(简单查询9):select * from 学生信息表 where 姓名=‘张三’ and (年龄=8 or 年龄=5)(括号应用:在此例中,括号具有优先权,这样查询的就是年龄是5岁或是8岁的张三的信息,如果没有括号时,会查询出姓名是年龄是8岁的张三的信息和年龄是5岁的其他人员的信息)


例如:(简单查询10):select * from 学生信息表 where 编号 in (1,2,5,7)(IN的范围选择:在学生信息表查询出编号1、2、5、7的信息)


例如:(简单查询11):select * from 学生信息表 where 编号 not in (1,2,5,7)(not in排除范围:在学生信息表查询出除了编号1、2、5、7的信息


例如:(简单查询12):select 供应商,sum(库存量) from 产品 group by 供应商(分组查询:对每个供应商进行分组,并计算出每个供应商所有产品 的库存量)
强调:分组查询还有很多与函数一起配合使用,可以直接百度 select 分组查询)

-------------------------------------------------------------------------

例如(联合查询1(同时查询两表及以上):select * from 图书库存表,图书租借表 where 图书租借表.书号=图书库存表.书号 and 图书租借表.借书人=‘冯可’(查询图书库存表、图书租借表内被冯可借出的所有图书信息(书号相同))


例如(联合查询2):select 图书库存表.书名,图书租借表.借书人 from 图书库存表,图书租借表 where 图书租借表.书名=图书库存表.书名 and 图书库存表.价格<60(查询图书库存表和图书租借表中价格小于60的书名和借书人)

SQL统计函数:统计查询,想对一个表中的记录进行数据统计,需要用到统计函数。以下为常见的SQL统计函数:min返回最小值;max返回最大值;sum求和;avg求平均数;count统计个数;count(*)统计行数。
例如(统计查询)(记录数目):select count (数量)from 图书库存表 where 数量>=10(统计图书库存表中数量在10本以上的有几种图书)(注意SQL统计函数格式用法,“函数(字段)”)


例如(统计查询)(求平均值):select avg (价格)from 图书库存表(求图书库存表中所有图书价格的平均数)


例如(统计查询)(求和)):select sum (价格) from 图书库存表 where 出版社=‘易语言出版社’(求图书库存表中易语言出版社出版的图书的价格总和)


例如(统计查询)(求最大最小值):select max(价格) from 图书库存表(查询图书库存表中最贵的价格)
-------------------------
insert 用于增加数据;
用法:insert into 表名 (字段1,字段2、字段3.....) values (数据1,数据2,数据3.....)
向表中播入数据,要在insert into 后面紧跟表名,再然后是一个括号里是以逗号分开的字段名;在values后面的括号里,是以前面字段相对应的数据。
注意:在SQL语句中,命令前后都应该有空格;多个表名、字段名、数据中间要用逗号隔开;文本型、日期型数据,必须要用单引号引上,否则会出错。
例如:insert into 图书库存表 (书号,书名,作者,价格,入库日期) values (3003,‘易语言教育',‘吴涛’,‘2010-1-10’)
---------
update 用于修改数据;
用法:update 表名 set 字段及内容 where 条件
例如(修改单表):update 图书库存表 数量=8 where 书名=‘易语言教育’(就是把图书库存表中的书名为《易语言教育》的这本书的数量改为8本。
例如(修改多表)update 图书库存表,图书租借表 set 图书库存表.书名=‘易语言教育’,图书租借表.书名=‘易语言教育’ where 图书库存表.书号=1 and 图书租借表.书号=1(就是把这两个表中书号为1的书名改为易语言教育。
注意:修改多表时,注意语句的结构update后面紧跟着两个或多个表名 set后面是需要修改的数据,表名与字段用“.”连接,where 后面跟着条件。update和set后面跟着的表和字段数据,用“,”连接”;而where后面的多条件是用and连接。
----------
delete 用于删除数据;
用法:delete from 表名 where 条件语句
注意:当没有给定where语句时,会删除表内的所有记录,使用时要十分注意
例如:delete from 图书库存表 where 书名=‘易语言教育’

最后编辑于:2015/7/12作者: 张 波

还没回应

发表评论

电子邮件地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???