SQL常用语句

原创 2007年09月20日 10:56:00
 
--数据操作
SELECT --从数据库表中检索数据行和列
INSERT --
向数据库表添加新数据行
DELETE --
从数据库表中删除数据行
UPDATE --
更新数据库表中的数据
--
数据定义
CREATE TABLE --
创建一个数据库表
DROP TABLE --
从数据库中删除表
ALTER TABLE --
修改数据库表结构
CREATE VIEW --
创建一个视图
DROP VIEW --
从数据库中删除视图
CREATE INDEX --
为数据库表创建一个索引
DROP INDEX --
从数据库中删除索引
CREATE PROCEDURE --
创建一个存储过程
DROP PROCEDURE --
从数据库中删除存储过程
CREATE TRIGGER --
创建一个触发器
DROP TRIGGER --
从数据库中删除触发器
CREATE SCHEMA --
向数据库添加一个新模式
DROP SCHEMA --
从数据库中删除一个模式
CREATE DOMAIN --
创建一个数据值域
ALTER DOMAIN --
改变域定义
DROP DOMAIN --
从数据库中删除一个域
--
数据控制
GRANT --
授予用户访问权限
DENY --
拒绝用户访问
REVOKE --
解除用户访问权限
--
事务控制
COMMIT --
结束当前事务
ROLLBACK --
中止当前事务
SET TRANSACTION --
定义当前事务数据访问特征
--
程序化SQL
DECLARE --
为查询设定游标
EXPLAN --
为查询描述数据访问计划
OPEN --
检索查询结果打开一个游标
FETCH --
检索一行查询结果
CLOSE --
关闭游标
PREPARE --
为动态执行准备SQL 语句
EXECUTE --
动态地执行SQL 语句
DESCRIBE --
描述准备好的查询

 
 
 
 
SQL 常用语句
---局部变量
declare @id char(10)
--set @id = '10010001'
select @id = '10010001'
---
全局变量   
 ---必须以@@开头
--IF ELSEdeclare @x int @y int @z int
select @x = 1 @y = 2 @z=3
if @x > @y
print 'x > y' --
 
打印字符串'x > y'
else if @y > @z
print 'y > z'
else print 'z > y'

--
CASE
use pangu
update employee
set e_wage =
case
when job_level = ’1’ then e_wage*1.08
when job_level = ’2’ then e_wage*1.07
when job_level = ’3’ then e_wage*1.06
else e_wage*1.05
end

--
WHILE CONTINUE BREAK
declare @x int @y int @c int
select @x = 1 @y=1
while @x < 3
begin
print @x --
打印变量x 的值
while @y < 3
begin
select @c = 100*@x + @y
print @c --
打印变量c 的值
select @y = @y + 1
end
select @x = @x + 1
select @y = 1
end

--
WAITFOR
--等待1 小时2 分零3 秒后才执行SELECT 语句
waitfor delay ’01:02:03’
select * from employee
--
等到晚上11 点零8 分后才执行SELECT 语句
waitfor time ’23:08:00’
select * from employee
***
SELECT***
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 stocksex = '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 from 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***
insert into table_name (Stock_name,Stock_number) values ("xxx","xxxx")
value (select Stockname , Stocknumber from Stock_table2)---value
select语句

***update***

update table_name set Stockname = "xxx" [where Stockid = 3]
Stockname = default
Stockname = null
Stocknumber = Stockname + 4

***
delete***

delete from table_name where Stockid = 3
truncate table_name -----------
删除表中所有行,仍保持表的完整性
drop table table_name ---------------
完全删除表

***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 ----
删除Stocknamedefault约束

***
function(/*常用函数*/)***

----
统计函数----
AVG --
求平均值
COUNT --
统计数目
MAX --
求最大值
MIN --
求最小值
SUM --
求和

--
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()函数返回总体变异数

常用的SQL语句

 删除数据库中表的某些相同的某些记录 OR 查找数据库的表中的相同记录 一、删除数据库中表的某些相同的某些记录delete from tablename where only_Id not in(se...
  • changemyself
  • changemyself
  • 2006年10月19日 22:36
  • 4612

常用SQL语句总结

总结了一下常用的SQL语句: DDL—数据定义语言(Create,Alter,Drop,DECLARE)  DML—数据操纵语言(Select,Delete,Update,Insert)  DC...
  • sunsfan
  • sunsfan
  • 2016年09月14日 13:51
  • 1086

常见SQL注入语句

1.判断有无注入点   ; and 1=1 and 1=2   2.猜表一般的表的名称无非是admin adminuser user pass password 等..   and 0   a...
  • JBxiaozi
  • JBxiaozi
  • 2012年04月12日 10:18
  • 969

数据库中常用的sql语句

SQL是目前使用最为广泛的数据库语言之一。这里,我总结了在数据库上,用SQL语言对数据排序、过滤和分组,以及表、视图、联结、子查询、游标、存储过程和触发器等内容。 1.检索数据 SELECT prod...
  • American199062
  • American199062
  • 2016年05月21日 18:53
  • 4772

经典MySQL语句大全和常用SQL语句命令的作用。

转自网络: 经典MSSQL语句大全和常用SQL语句命令的作用  下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL类型包括数据库、表的创建,修改,...
  • suyu_yuan
  • suyu_yuan
  • 2016年06月29日 17:56
  • 1992

软件测试中常用的SQL语句

查询语句语法格式:SELECT    [ALL | DISTINCT | DISTINCTROW ]      [HIGH_PRIORITY]      [STRAIGHT_JOIN]      [S...
  • winteroak
  • winteroak
  • 2009年12月01日 13:23
  • 3520

java学习笔记之sql常用语句

DDL(Data Definition Language):数据库定义语句; DML(Data Manipulation Language):用于增删改查数据库中数据; DCL(Data Contro...
  • BeauXie
  • BeauXie
  • 2016年10月17日 20:57
  • 1325

【一文打尽】SQL 数据分析常用语句

1 基础查询 • 2 字符串数字日期时间 • 3 聚合数据查询 • 4 子查询 • 5 联接组合查询 • 6 高级查询 • 7 更新数据 阅读提醒:点击图片放大可看清晰的 1 基础查询...
  • xgjianstart
  • xgjianstart
  • 2017年07月31日 20:14
  • 247

sqlserver数据库操作大全——常用语句/技巧集锦/经典语句

本文为累计整理,有点乱,凑合着看吧! ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆ ☆ ☆ ...
  • a125138
  • a125138
  • 2012年08月28日 22:25
  • 6458

DB2常用SQL语句简历

DB2 提供了关连式资料库的查询语言 SQL (Structured Query Language),是一种非常口语化、既易学又易懂的语法。此一语言几乎是每个资料库系统都必须提供的,用以表示关连式的操...
  • vernezhao10
  • vernezhao10
  • 2007年02月02日 13:59
  • 996
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL常用语句
举报原因:
原因补充:

(最多只允许输入30个字)