常用的SQL语句
admin
2023-05-10 16:21:47
0

SELECT 

sql="select * from  数据表  where  字段名=字段值  order by  字段名  [desc]" 

 

sql="select * from  数据表  where  字段名  like %字段值% order by  字段名 

[desc]" 

 

sql="select top 10 * from  数据表  where  字段名  order by  字段名  [desc]" 

 

sql="select * from  数据表  where  字段名  in ( 1, 2, 3)" 

 

sql="select * from  数据表  where  字段名  between   1 and   2" 



select *(列名) from table_name(表名) where column_name operator value 

ex:(宿主

select * from stock_information where stockid = str(nid) 

stockname = 'str_name' 

stockname like '% find this %' 

stockname like '[a-zA-Z]%' --------- ([]指定值的范围

stockname like '[^F-M]%' --------- (^排除指定范围

---------  只能在使用 like 关键字的 where 子句中使用通配符

or stockpath = 'stock_path' 

or stocknumber < 1000 

and stockindex = 24 

not stock*** = 'man' 

stocknumber between 20 and 100 

stocknumber in(10,20,30) 

 

order by stockid desc(asc) ---------  排序,desc-降序,asc-升序 

order by 1,2 --------- by 列号 

stockname = (select stockname from stock_information where stockid = 4) 

---------  子查询 

---------  除非能确保内层 select 只返回一个行的值, 

---------  否则应在外层 where 子句中用一个 in 限定符 

select distinct column_name form table_name --------- distinct 指定检索独有的列值, 

不重复 

select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name 

select stockname , "stocknumber" = count(*) from table_name group by stockname 

--------- group by  将表按行分组,指定列中有相同的值 

having count(*) = 2 --------- having 选定指定的组 

select * from table1, table2 where table1.id *= table2.id --------  左外部连接,table1 中有的而 table2 中没有得 

 null 表示 

table1.id =* table2.id --------  右外部连接 

select stockname from table1 

union [all] ----- union 合并查询结果集,all-保留重复行 

select stockname from table2 

insert 

sql="insert into  数据表  (字段 1,字段 2,字段 3 ) valuess ( 1, 2, 3 )" 

 

sql="insert into  目标数据表  select * from 源数据表" (把源数据表的记录添加到 

目标数据表

 

insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx") 

value (select Stockname , Stocknumber from Stock_table2)---value  select 语句 

update 

sql="update  数据表  set  字段名=字段值  where  条件表达式

 

sql="update  数据表  set  字段 1= 1,字段 2= 2   字段 n= n where  条件表 

达式

 

 

update table_name set Stockname = "xxx" [where Stockid = 3] 

Stockname = default 

http://hi.baidu.com/ttcc2009 


 

Stockname = null 

Stocknumber = Stockname + 4 

delete 

sql="delete from  数据表  where  条件表达式

 

sql="delete from  数据表" (将数据表所有记录删除

 

delete from table_name where Stockid = 3 

truncate table_name -----------  删除表中所有行,仍保持表的完整性 

drop table table_name ---------------  完全删除表 



select *(列名) from table_name(表名) where column_name operator value 

ex:(宿主

select * from stock_information where stockid = str(nid) 

stockname = 'str_name' 

stockname like '% find this %' 

stockname like '[a-zA-Z]%' --------- ([]指定值的范围

stockname like '[^F-M]%' --------- (^排除指定范围

---------  只能在使用 like 关键字的 where 子句中使用通配符

or stockpath = 'stock_path' 

or stocknumber < 1000 

and stockindex = 24 

not stock*** = 'man' 

stocknumber between 20 and 100 

stocknumber in(10,20,30) 

 

order by stockid desc(asc) ---------  排序,desc-降序,asc-升序 

order by 1,2 --------- by 列号 

stockname = (select stockname from stock_information where stockid = 4) 

---------  子查询 

---------  除非能确保内层 select 只返回一个行的值, 

---------  否则应在外层 where 子句中用一个 in 限定符 

select distinct column_name form table_name --------- distinct 指定检索独有的列值, 

不重复 

select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name 

select stockname , "stocknumber" = count(*) from table_name group by stockname 

--------- group by  将表按行分组,指定列中有相同的值 

having count(*) = 2 --------- having 选定指定的组 

select * from table1, table2 where table1.id *= table2.id --------  左外部连接,table1 中有的而 table2 中没有得 

 null 表示 

table1.id =* table2.id --------  右外部连接 

select stockname from table1 

union [all] ----- union 合并查询结果集,all-保留重复行 

select stockname from table2 

insert 

sql="insert into  数据表  (字段 1,字段 2,字段 3 ) valuess ( 1, 2, 3 )" 

 

sql="insert into  目标数据表  select * from 源数据表" (把源数据表的记录添加到 

目标数据表

 

insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx") 

value (select Stockname , Stocknumber from Stock_table2)---value  select 语句 

update 

sql="update  数据表  set  字段名=字段值  where  条件表达式

 

sql="update  数据表  set  字段 1= 1,字段 2= 2   字段 n= n where  条件表 

达式

 

 

update table_name set Stockname = "xxx" [where Stockid = 3] 

Stockname = default 

http://hi.baidu.com/ttcc2009 


 

Stockname = null 

Stocknumber = Stockname + 4 



IN 操作符

IN 操作符允许我们在 WHERE 子句中规定多个值。

SQL IN 语法

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)




AND  OR 运算符

AND  OR 可在 WHERE 子语句中把两个或多个条件结合起来。

如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。




where

如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。

SELECT 列名称 FROM 表名称 WHERE 列 运算符 值


操作符描述
=
等于
<>不等于
>大于
<小于
>=
大于等于
<=小于等于
between

在某个范围内

like
搜索某种范围




alter table ---  修改数据库表结构 

alter table database.owner.table_name add column_name char(2) null ..... 

sp_help table_name ----  显示表已有特征 

create table table_name (name char(20), age smallint, lname varchar(30)) 

insert into table_name select ......... -----  实现删除列的方法(创建新表) 

alter table table_name drop constraint Stockname_default ----  删除 Stockname  

default 约束 






CREATE TABLE 

CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....)



function(/*常用函数*/) 

----统计函数---- 

AVG(字段名)  得出一个表格栏平均值 

COUNT(*|字段名)  对数据行数的统计或对某一栏有值的数据行数统计 

MAX(字段名)  取得一个表格栏最大的值 

MIN(字段名)  取得一个表格栏最小的值 

SUM(字段名)  把数据栏的值相加 

 

引用以上函数的方法: 

 

sql="select sum(字段名) as  别名  from  数据表  where  条件表达式

set rs=conn.excute(sql) 

 

  rs("别名")  获取统的计值,其它函数运用同上。 

 

--AVG 

use pangu 

select avg(e_wage) as dept_avgWage 

 

from employee 

group by dept_id 

--MAX 

--求工资最高的员工姓名 

use pangu 

select e_name 

from employee 

where e_wage = 

(select max(e_wage) 

from employee) 

--STDEV() 

--STDEV()函数返回表达式中所有数据的标准差 

--STDEVP() 

--STDEVP()函数返回总体标准差 

--VAR() 

--VAR()函数返回表达式中所有值的统计变异数 

--VARP() 

--VARP()函数返回总体变异数 

----算术函数---- 





相关内容

热门资讯

动物园老虎走路颤颤巍巍,园方回... 5月13日,一位网友称在山东德州“泉城欧乐堡”虎餐厅,关注到现场老虎身体发黑,其中一只颤颤巍巍、走路...
热水器40升可以洗多久 一般来说40升的热水器可以洗20-40分钟左右的时间,有差距是因为每个人洗澡时对水的温度要求不同,比...
2020年流行什么样的壁布 2020年最流行的是田园风格的壁布,因为体验风格的壁布适合大部分的装修风格,不管你家里是中式装修还是...
热水器50升和60升哪个实用 1、一般三口之家使用的是50升的,但是机器在加热过程中也会消耗一部分水,所以选60升的也可以。2、以...
煤气热水器不恒温怎么办 煤气热水器不恒温是很常见的问题,会给我们的生活带来很大的不便。这种情况的出现可能是由于多种因素引起的...
恒温热水器没有温度怎么办 如果您的恒温热水器没有温度,那么这可能是一个很大的问题,因为您无法使用这个热水器来满足您的热水需求。...
沈伯洋不认“抗中保台”?徐巧芯... 海峡导报综合报道 民进党13日正式征召民进党民代沈伯洋参选台北市长,蓝绿对决态势至此成形。对此,国民...
宝马线上股东大会“技术故障”背... 【文/观察者网 张家栋 编辑/高莘】当地时间5月13日,据德国《世界报》报道,宝马集团年度股东大会因...
线上预约+线下收购,十部门联合... 2026年夏粮旺季收购即将全面启动。近日,国家发展改革委、国家粮食和物资储备局等十部门联合发出通知,...
赖清德再度缺席弹劾案审查会,国... 台民意机构于5月14日继续召开针对台湾地区领导人赖清德弹劾案的第二次审查会,赖清德与13日一样未出席...