SQL语句大全- -语句功能
- -数据操作
SELECT- -从数据库表中检索数据行和列IN SERT- -向数据库表添加新数据行
DELETE- -从数据库表中删除数据行
UPDATE- -更新数据库表中的数据
-数据定义
CREATETABLE- -创建一个数据库表
DROPTABLE- -从数据库中删除表
ALTERTABLE- -修改数据库表结构
CREATE VIEW- -创建一个视图
DROP VIEW- -从数据库中删除视图
CREATE INDEX- -为数据库表创建一个索引DROP INDEX- -从数据库中删除索引
CREATEPROCEDURE- -创建一个存储过程DROPPROCEDURE- -从数据库中删除存储过程CREATE TRIGGER- -创建一个触发器
DROP TRIGGER- -从数据库中删除触发器CREATESCHEMA- -向数据库添加一个新模式DROPSCHEMA- -从数据库中删除一个模式
CREATEDOMAIN- -创建一个数据值域
ALTERDOMAIN- -改变域定义
DROPDOMAIN- -从数据库中删除一个域
- -数据控制
GRANT- -授予用户访问权限
DENY- -拒绝用户访问
REVOKE- -解除用户访问权限
- -事务控制
COMMIT- -结束当前事务
ROLLBACK- -中止当前事务
SET TRANSACTION- -定义当前事务数据访问特征- -程序化SQL
DECLARE- -为查询设定游标
EXPLAN- -为查询描述数据访问计划
OPEN- -检索查询结果打开一个游标
FETCH- -检索一行查询结果
CLOSE- -关闭游标
PREPARE- -为动态执行准备SQL语句
EXECUTE- -动态地执行SQL语句
DESCRIBE- -描述准备好的查询
- - -局部变量declare @id char(10)
- -set @id= ' 10010001 'select @id= ' 10010001 '
- - -全局变量
- - -必须以@@开头
- -IF ELSEdeclare @xint @yint @zintselect @x= 1 @y=2@z=3if @x>@yprint 'x >y' - -打印字符串'x >y'else if @y>@zprint 'y >z'else print 'z >y'
- -CASEuse panguupdate employeeset e_wage =casewhen job_level = ’1’ then e_wage*1 .08when job_level = ’2’ then e_wage*1 .07when job_level = ’3’ then e_wage*1 .06else e_wage*1 .05end
- -WHILE CONTINUE BREAKdeclare @xint @yint @cint
select @x= 1 @y=1while @x<3beginprint @x- -打印变量x的值while @y<3beginselect @c= 100*@x+@yprint @c- -打印变量c的值select @y=@y+ 1endselect @x=@x+ 1select @y= 1end
- -WAITFOR
- -例等待1小时2分零3秒后才执行SELECT语句waitfor delay ’01:02:03’select * from employee
- -例等到晚上11点零8分后才执行SELECT语句waitfor t ime ’23:08:00’select * from employee
***SELECT***select *(列名) from table_name(表名) where column_name operator valueex: (宿主)select * from stock_information where stockid = str(nid)stockname = ' str_name'stockname l ike '%find this %'stockname l ike ' [a-zA-Z]%' - - - - - - - - - ( [ ]指定值的范围)
stockname l ike ' [^F-M]%' - - - - - - - - - (^排除指定范围)
- - - - - - - - -只能在使用l ike关键字的where子句中使用通配符)or stockpath = ' stock_path'or stocknumber < 1000and stockindex =24not stock*** = 'man'stocknumber between 20 and 100stocknumber 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 formtable_name - - - - - - - - - distinct指定检索独有的列值不重复select stocknumber , "stocknumber + 10" = stocknumber + 10 fromtable_nameselect stockname , "stocknumber" =count(*) from table_name group bys tockname
- - - - - - - - - group by将表按行分组,指定列中有相同的值having count(*) =2 - - - - - - - - - having选定指定的组select *from table1 , table2where table1 . id *= table2. id - - - - - - - -左外部连接 table1中有的而table2中没有得以null表示
table1 . id =* table2. id - - - - - - - -右外部连接select stockname fromtable1union [all] - - - - - union合并查询结果集 all-保留重复行select stockname fromtable2
***insert***insert into table_name (Stock_name,Stock_number) value ("xxx" ,"xxxx")value (select Stockname , Stocknumber from Stock_table2)-- -value为select语句
***update***update table_name set Stockname = "xxx" [where Stockid = 3]
Stockname =default
Stockname =nul l
Stocknumber = Stockname +4
***delete***delete from table_name where Stockid = 3truncate table_name - - - - - - - - - - -删除表中所有行仍保持表的完整性drop table table_name- - - - - - - - - - - - - - -完全删除表
***alter table*** - - -修改数据库表结构alter table database.owner. table_name add column_name char(2)nu l l . . . . .sp_help table_name - - - -显示表已有特征create table table_name (name char(20) , age smallint, lnamevarchar(30))insert into table_name select . . . . . . . . . - - - - -实现删除列的方法创建新表alter table table_name drop constraint Stockname_default - - - -删除Stockname的default约束
***function(/*常用函数*/)***
- - - -统计函数- - - -
AVG- -求平均值
COUNT- -统计数目
MAX- -求最大值
MIN- -求最小值
SUM- -求和
- -AVGuse panguselect avg(e_wage) as dept_avgWagefrom employeegroup by dept_id
- -MAX
- -求工资最高的员工姓名use panguselect e_namefrom employeewhere e_wage =
(select max(e_wage)from employee)
- -STDEV()
- -STDEV()函数返回表达式中所有数据的标准差- -STDEVP()
- -STDEVP()函数返回总体标准差
- -VAR()
- -VAR()函数返回表达式中所有值的统计变异数- -VARP()
- -VARP()函数返回总体变异数
- - - -算术函数- - - -
/***三角函数***/
SIN(float_expression) - -返回以弧度表示的角的正弦
COS(float_expression) - -返回以弧度表示的角的余弦
TAN(float_expression) - -返回以弧度表示的角的正切
COT(float_expression) - -返回以弧度表示的角的余切
/***反三角函数***/
ASIN(float_expression) - -返回正弦是FLOAT值的以弧度表示的角
ACOS(float_expression) - -返回余弦是FLOAT值的以弧度表示的角
ATAN(float_expression) - -返回正切是FLOAT值的以弧度表示的角
ATAN2(float_expression1 ,float_expression2)
- -返回正切是float_expression1 /f loat_expres-sion2的以弧度表示的角DEGREES(numeric_expression)
- -把弧度转换为角度返回与表达式相同的数据类型可为
- -INTEGER/MONEY/REAL/FLOAT类型
RADIANS(numeric_express ion) - -把角度转换为弧度返回与表达式相同的数据类型可为
- -INTEGER/MONEY/REAL/FLOAT类型
EXP(float_expression) - -返回表达式的指数值
LOG(float_expression) - -返回表达式的自然对数值
7月4日是美国独立日,大致就是国庆节的意思吧。hostodo今年提前搞了个VPS大促销活动,4款便宜VPS,相当于7折,续费不涨价,本次促销不定时,不知道有多少货,卖完为止。VPS基于KVM虚拟,NVMe阵列,1Gbps带宽,自带一个IPv4+/64 IPv6,solusvm管理,送收费版DirectAdmin授权,VPS在用就有效! 官方网站:https://www.hostodo.com ...
美国知名管理型主机公司,2006年运作至今,虚拟主机、VPS、云服务器、独立服务器等业务全部采用“managed”,也就是人工参与度高,很多事情都可以人工帮你处理,不过一直以来价格也贵。也不知道knownhost什么时候开始运作无管理型业务的,估计是为了扩展市场吧,反正是出来较长时间了。闲来无事,那就给大家介绍下“unmanaged VPS”,也就是无管理型VPS,低至5美元/月,基于KVM虚拟,...
vinahost怎么样?vinahost是一家越南的主机商家,至今已经成13年了,企业运营,老牌商家,销售VPS、虚拟主机、域名、邮箱、独立服务器等,机房全部在越南,有Viettle和VNPT两个机房,其中VNPT机房中三网直连国内的机房,他家的产品优势就是100Mbps不限流量。目前,VinaHost商家发布了新的优惠,购买虚拟主机、邮箱、云服务器、VPS超过三个月都有赠送相应的时长,最高送半年...