搜档网
当前位置:搜档网 › sql查询语句大全

sql查询语句大全

sql查询语句大全
sql查询语句大全

SQL查询语句大全

《SQL语句的基本语法》

一.Select语句的完整语法为:

Select[ALL|DISTINCT|DISTINCTROW|TOP]

{*|talbe.*|[table.]field1[AS alias1][,[table.]field2[AS alias2][,…]]}

FROM tableexpression[,…][IN externaldatabase]

[Where…]

[GROUP BY…]

[HAVING…]

[ORDER BY…]

[WITH OWNERACCESS OPTION]

说明:

用中括号([])括起来的部分表示是可选的,用大括号({})括起来的部分是表示必须从中选择其中的一个。

1 FROM子句

FROM子句指定了Select语句中字段的来源。FROM子句后面是包含一个或多个的表达式(由逗号分开),其中的表达式可为单一表名称、已保存的查询或

由 INNER JOIN、LEFT JOIN 或 RIGHT JOIN 得到的复合结果。如果表或查询存储在外部数据库,在IN 子句之后指明其完整路径。

例:下列SQL语句返回所有有定单的客户:

Select orderID,Customer.customerID

FROM orders Customers

Where orders.CustomerID=Customers.CustomeersID

2 ALL、DISTINCT、DISTINCTROW、TOP谓词

(1) ALL 返回满足SQL语句条件的所有记录。如果没有指明这个谓词,默认为ALL。

例:Select ALL FirstName,LastName

FROM Employees

(2) DISTINCT 如果有多个记录的选择字段的数据相同,只返回一个。

(3) DISTINCTROW 如果有重复的记录,只返回一个

(4) TOP显示查询头尾若干记录。也可返回记录的百分比,这是要用 TOP N PERCENT子句(其中N 表示百分比)

例:返回5%定货额最大的定单

Select TOP 5 PERCENT*

FROM [ order Details]

orDER BY UnitPrice*Quantity*(1-Discount) DESC

3 用 AS 子句为字段取别名

如果想为返回的列取一个新的标题,或者,经过对字段的计算或总结之后,产生了一个新的值,希望把它放到一个新的列里显示,则用AS保留。

例:返回FirstName字段取别名为NickName

Select FirstName AS NickName ,LastName ,City

FROM Employees

例:返回新的一列显示库存价值

Select ProductName ,UnitPrice ,UnitsInStock ,UnitPrice*UnitsInStock AS valueInStock

FROM Products

二 .Where 子句指定查询条件

1 比较运算符

比较运算符含义

= 等于

〉大于

〈小于

〉= 大于等于

〈= 小于等于

〈〉不等于

!〉不大于

!〈不小于

例:返回96年1月的定单

Select orderID, CustomerID, orderDate

FROM orders

Where orderDate〉#1/1/96# AND orderDate〈#1/30/96#

注意:

Mcirosoft JET SQL 中,日期用…#?定界。日期也可以用Datevalue()函数来代替。在比较字符型的数据时,要加上单引号??,尾空格在比较中被忽略。

例:

Where orderDate〉#96-1-1#

也可以表示为:

Where orderDate〉Datevalue(…1/1/96?)

使用 NOT 表达式求反。

例:查看96年1月1日以后的定单

Where Not orderDate〈=#1/1/96#

2 范围(BETWEEN 和 NOT BETWEEN)

B ETWEEN …AND…运算符指定了要搜索的一个闭区间。

例:返回96年1月到96年2月的定单。

Where orderDate Between #1/1/96# And #2/1/96#

3 列表(IN ,NOT IN)

IN 运算符用来匹配列表中的任何一个值。IN子句可以代替用OR子句连接的一连串的条件。

例:要找出住在 London、Paris或Berlin的所有客户

Select CustomerID, CompanyName, ContactName, City

FROM Customers

Where City In(…London?,? Paris?,? Berlin?)

4 模式匹配(LIKE)

LIKE运算符检验一个包含字符串数据的字段值是否匹配一指定模式。

LIKE运算符里使用的通配符

通配符含义

?任何一个单一的字符

* 任意长度的字符

# 0~9之间的单一数字

[字符列表] 在字符列表里的任一值

[!字符列表] 不在字符列表里的任一值

- 指定字符范围,两边的值分别为其上下限

例:返回邮政编码在(171)555-0000到(171)555-9999之间的客户

Select CustomerID ,CompanyName,City,Phone

FROM Customers

Where Phone Like …(171)555-####?

LIKE运算符的一些样式及含义

样式含义不符合

LIKE …A*? A后跟任意长度的字符 Bc,c255

LIKE?5

? 5*5 555

LIKE?5?5? 5与5之间有任意一个字符 55,5wer5

LIKE?5##5? 5235,5005 5kd5,5346

LIKE?[a-z]? a-z间的任意一个字符 5,%

LIKE?[!0-9]?非0-9间的任意一个字符 0,1

LIKE?[[]? 1,*

三 .用ORDER BY子句排序结果

orDER子句按一个或多个(最多16个)字段排序查询结果,可以是升序(ASC)也可以是降序(DESC),缺省是升序。ORDER子句通常放在SQL语句的最后。orDER子句中定义了多个字段,则按照字段的先后顺序排序。

例:

Select ProductName,UnitPrice, UnitInStock

FROM Products

orDER BY UnitInStock DESC , UnitPrice DESC, ProductName

orDER BY 子句中可以用字段在选择列表中的位置号代替字段名,可以混合字段名和位置号。

例:下面的语句产生与上列相同的效果。

Select ProductName,UnitPrice, UnitInStock

FROM Products

orDER BY 1 DESC , 2 DESC,3

四 .运用连接关系实现多表查询

例:找出同一个城市中供应商和客户的名字

Select https://www.sodocs.net/doc/372917955.html,panyName, https://www.sodocs.net/doc/372917955.html,

FROM Customers, Suppliers

Where Customers.City=Suppliers.City

例:找出产品库存量大于同一种产品的定单的数量的产品和定单

Select ProductName,OrderID, UnitInStock, Quantity

FROM Products, [Order Deails]

Where Product.productID=[Order Details].ProductID

AND UnitsInStock〉Quantity

另一种方法是用 Microsof JET SQL 独有的 JNNER JOIN

语法:

FROM table1 INNER JOIN table2

ON table1.field1 comparision table2.field2

其中comparision 就是前面Where子句用到的比较运算符。

Select FirstName,lastName,OrderID,CustomerID,OrderDate

FROM Employees

INNER JOIN orders ON Employees.EmployeeID=Orders.EmployeeID

注意:

INNER JOIN不能连接Memo OLE Object Single Double 数据类型字段。

在一个JOIN语句中连接多个ON子句

语法:

Select fields

FROM table1 INNER JOIN table2

ON table1.field1 compopr table2.field1 AND

ON table1.field2 compopr table2.field2 or

ON table1.field3 compopr table2.field3

也可以

Select fields

FROM table1 INNER JOIN

(table2 INNER JOIN [( ]table3

[INNER JOER] [( ]tablex[INNER JOIN]

ON table1.field1 compopr table2.field1

ON table1.field2 compopr table2.field2

ON table1.field3 compopr table2.field3

外部连接返回更多记录,在结果中保留不匹配的记录,不管存不存在满足条件的记录都要返回另一侧的所有记录。

FROM table [LEFT|RIGHT]JOIN table2

ON table1.field1comparision table.field2

用左连接来建立外部连接,在表达式的左边的表会显示其所有的数据

例:不管有没有定货量,返回所有商品

Select ProductName ,OrderID

FROM Products

LEFT JOIN orders ON Products.PrductsID=Orders.ProductID

右连接与左连接的差别在于:不管左侧表里有没有匹配的记录,它都从左侧表中返回所有记录。

例:如果想了解客户的信息,并统计各个地区的客户分布,这时可以用一个右连接,即使某个地区没有客户,也要返回客户信息。

空值不会相互匹配,可以通过外连接才能测试被连接的某个表的字段是否有空值。Select *

FROM talbe1

LEFT JOIN table2 ON table1.a=table2.c

1 连接查询中使用Iif函数实现以0值显示空值

Iif表达式: Iif(IsNull(Amount,0,Amout)

例:无论定货大于或小于¥50,都要返回一个标志。

Iif([Amount]〉50,?Big order?,?Small order?)

五. 分组和总结查询结果

在SQL的语法里,GROUP BY和HAVING子句用来对数据进行汇总。GROUP BY 子句指明了按照哪几个字段来分组,而将记录分组后,用HAVING子句过滤这些记录。

GROUP BY 子句的语法

Select fidldlist

FROM table

Where criteria

[GROUP BY groupfieldlist [HAVING groupcriteria]]

注:Microsoft Jet数据库 Jet 不能对备注或OLE对象字段分组。

GROUP BY字段中的Null值以备分组但是不能被省略。

在任何SQL合计函数中不计算Null值。

GROUP BY子句后最多可以带有十个字段,排序优先级按从左到右的顺序排列。例:在…WA?地区的雇员表中按头衔分组后,找出具有同等头衔的雇员数目大于1人的所有头衔。

Select Title ,Count(Title) as Total

FROM Employees

Where Region = …WA?

GROUP BY Title

HAVING Count(Title)〉1

JET SQL 中的聚积函数

聚集函数意义

SUM ( ) 求和

AVG ( ) 平均值

COUNT ( ) 表达式中记录的数目

COUNT (* ) 计算记录的数目

MAX 最大值

MIN 最小值

VAR 方差

STDEV 标准误差

FIRST 第一个值

LAST 最后一个值

六. 用Parameters声明创建参数查询

Parameters声明的语法:

PARAMETERS name datatype[,name datatype[, …]]

其中name 是参数的标志符,可以通过标志符引用参数.

Datatype说明参数的数据类型.

使用时要把PARAMETERS 声明置于任何其他语句之前.

例:

PARAMETERS[Low price] Currency,[Beginning date]datatime

Select orderID ,OrderAmount

FROM orders

Where orderAMount〉[low price]

AND orderDate〉=[Beginning date]

七. 功能查询

所谓功能查询,实际上是一种操作查询,它可以对数据库进行快速高效的操作.它以选择查询为目的,挑选出符合条件的数据,再对数据进行批处理.功能查询包括更新查询,删除查询,添加查询,和生成表查询.

八. 联合查询

UNION运算可以把多个查询的结果合并到一个结果集里显示.

UNION运算的一般语法:

[表]查询1 UNION [ALL]查询2 UNION …

例:返回巴西所有供给商和客户的名字和城市

Select CompanyName,City

FROM Suppliers

Where Country = …Brazil?

UNION

Select CompanyName,City

FROM Customers

Where Country = …Brazil?

注:

缺省的情况下,UNION子句不返回重复的记录.如果想显示所有记录,可以加ALL 选项

UNION运算要求查询具有相同数目的字段.但是,字段数据类型不必相同.

每一个查询参数中可以使用GROUP BY 子句或 HAVING 子句进行分组.要想以指定的顺序来显示返回的数据,可以在最后一个查询的尾部使用OREER BY子句.

九. 交叉查询

交叉查询可以对数据进行总和,平均,计数或其他总和计算法的计算,这些数据通过两种信息进行分组:一个显示在表的左部,另一个显示在表的顶部.

Microsoft Jet SQL 用TRANSFROM语句创建交叉表查询语法: TRANSFORM aggfunction

Select 语句

GROUP BY 子句

PIVOT pivotfield[IN(value1 [,value2[,…]]) ]

Aggfounction指SQL聚积函数,

Select语句选择作为标题的的字段,

GROUP BY 分组

说明:

Pivotfield 在查询结果集中创建列标题时用的字段或表达式,用可选的IN子句限制它的取值.

value代表创建列标题的固定值.

例:显示在1996年里每一季度每一位员工所接的定单的数目:

TRANSFORM Count(OrderID)

Select FirstName&??&LastName AS FullName

FROM Employees INNER JOIN orders

ON Employees.EmployeeID = orders.EmployeeID

Where DatePart(“yyyy”,OrderDate)= …1996?

GROUP BY FirstName&??&LastName

orDER BY FirstName&??&LastName

POVOT DatePart(“q”,OrderDate)&?季度?

十 .子查询

子查询可以理解为套查询.子查询是一个Select语句.

1 表达式的值与子查询返回的单一值做比较

语法:

表达式 comparision [ANY|ALL|SOME](子查询)

说明:

ANY和SOME谓词是同义词,与比较运算符(=,〈,〉,〈〉,〈=,〉=)一起使用.返回一个布尔值True或False.ANY的意思是,表达式与子查询返回的一系列的值逐一比较,只要其中的一次比较产生True结果,ANY测试的返回 True值(既Where子句的结果),对应于该表达式的当前记录将进入主查询的结果中.ALL测试则要求表达式与子查询返回的一系列的值的比较都产生True结果,才回返回True值. 例:主查询返回单价比任何一个折扣大于等于25%的产品的单价要高的所有产品Select * FROM Products

Where UnitPrice〉ANY

(Select UnitPrice FROM[Order Details] Where Discount〉0.25)

2 检查表达式的值是否匹配子查询返回的一组值的某个值

语法:

[NOT]IN(子查询)

例:返回库存价值大于等于1000的产品.

Select ProductName FROM Products

Where ProductID IN

(Select PrdoctID FROM [Order DEtails]

Where UnitPrice*Quantity〉= 1000)

3检测子查询是否返回任何记录

语法:

[NOT]EXISTS (子查询)

例:用EXISTS检索英国的客户

Select ComPanyName,ContactName

FROM orders

Where EXISTS

(Select *

FROM Customers

Where Country = …UK? AND

Customers.CustomerID= orders.CustomerID)

SQL查询语句大全集锦(超经典)

SQL查询语句大全集锦 MYSQL查询语句大全集锦 一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。 复制内容到剪贴板 代码:SELECT `nickname`,`email`FROM `testtable`WHERE `name`='张三' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示testtable表中所有列的数据: 复制内容到剪贴板 代码:SELECT * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如: 复制内容到剪贴板 代码:SELECT nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名 列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列 标题:

复制内容到剪贴板 代码:SELECT 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认 为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是 表示一百分数,指定返回的行数等于总行数的百分之几。 例如: 复制内容到剪贴板 代码:SELECT TOP 2 * FROM `testtable` 复制内容到剪贴板 代码:SELECT TOP 20 PERCENT * FROM `testtable` (二) FROM子句 FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图, 它们之间用逗号分隔。 在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列 所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定: 复制内容到剪贴板 代码:SELECT `username`,citytable.cityid FROM `usertable`,`citytable` WHERE usertable.cityid=citytable.cityid在FROM子句中可用以下两种格式为表或视图指定别名: 复制内容到剪贴板 代码:表名 as 别名 表名别名例如上面语句可用表的别名格式表示为: 复制内容到剪贴板

数据库SQL查询语句大全修订稿

数据库S Q L查询语句 大全 公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]

经典SQL查询语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definitio n only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type

注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词 A:UNION 运算符

SQL查询语句大全集锦

SQL查询语句大全集锦 一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname 字段和email字段。 代码:SELECT `nickname`,`email`FROM `testtable`WHERE `name`='张三' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示testtable表中所有列的数据: 代码:SELECT * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺 序相同。

代码:SELECT nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名 列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列 标题: 代码:SELECT 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认 为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n 行,而TOP n PERCENT时,说明n是 表示一百分数,指定返回的行数等于总行数的百分之几。

数据库经典SQL语句大全

数据库经典SQL语句大全 篇一:经典SQL语句大全 下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk','testBack', 'c:mssql7backupMyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2? from tab_old definition only 5、说明: 删除新表: tabname 6、说明: 增加一个列:Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明: 添加主键:Alter table tabname add primary key(col) 说明: 删除主键:Alter table tabname drop primary key(col) 8、说明: 创建索引:create [unique] index idxname on tabname(col?.) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。

sql查询语句大全

SQL查询语句大全 《SQL语句的基本语法》 一.Select语句的完整语法为: Select[ALL|DISTINCT|DISTINCTROW|TOP] {*|talbe.*|[table.]field1[AS alias1][,[table.]field2[AS alias2][,…]]} FROM tableexpression[,…][IN externaldatabase] [Where…] [GROUP BY…] [HAVING…] [ORDER BY…] [WITH OWNERACCESS OPTION] 说明: 用中括号([])括起来的部分表示是可选的,用大括号({})括起来的部分是表示必须从中选择其中的一个。 1 FROM子句 FROM子句指定了Select语句中字段的来源。FROM子句后面是包含一个或多个的表达式(由逗号分开),其中的表达式可为单一表名称、已保存的查询或 由 INNER JOIN、LEFT JOIN 或 RIGHT JOIN 得到的复合结果。如果表或查询存储在外部数据库,在IN 子句之后指明其完整路径。 例:下列SQL语句返回所有有定单的客户: Select orderID,Customer.customerID FROM orders Customers Where orders.CustomerID=Customers.CustomeersID 2 ALL、DISTINCT、DISTINCTROW、TOP谓词 (1) ALL 返回满足SQL语句条件的所有记录。如果没有指明这个谓词,默认为ALL。 例:Select ALL FirstName,LastName FROM Employees (2) DISTINCT 如果有多个记录的选择字段的数据相同,只返回一个。 (3) DISTINCTROW 如果有重复的记录,只返回一个 (4) TOP显示查询头尾若干记录。也可返回记录的百分比,这是要用 TOP N PERCENT子句(其中N 表示百分比) 例:返回5%定货额最大的定单 Select TOP 5 PERCENT* FROM [ order Details] orDER BY UnitPrice*Quantity*(1-Discount) DESC 3 用 AS 子句为字段取别名 如果想为返回的列取一个新的标题,或者,经过对字段的计算或总结之后,产生了一个新的值,希望把它放到一个新的列里显示,则用AS保留。 例:返回FirstName字段取别名为NickName Select FirstName AS NickName ,LastName ,City

SQL语句大全实例

SQL语句实例 表操作 例 1 对于表的教学管理数据库中的表STUDENTS ,可以定义如下:CREATE TABLE STUDENTS (SNO NUMERIC (6, 0) NOT NULL SNAME CHAR (8) NOT NULL AGE NUMERIC(3,0) SEX CHAR(2) BPLACE CHAR(20) PRIMARY KEY(SNO)) 例 2 对于表的教学管理数据库中的表ENROLLS ,可以定义如下: CREATE TABLE ENROLLS (SNO NUMERIC(6,0) NOT NULL CNO CHAR(4) NOT NULL GRADE INT PRIMARY KEY(SNO,CNO) FOREIGN KEY(SNO) REFERENCES STUDENTS(SNO) FOREIGN KEY(CNO) REFERENCES COURSES(CNO) CHECK ((GRADE IS NULL) OR (GRADE BETWEEN 0 AND 100))) 例 3 根据表的STUDENTS 表,建立一个只包含学号、姓名、年龄的女学生表。 CREATE TABLE GIRL

AS SELECT SNO, SNAME, AGE FROM STUDENTS WHERE SEX=' 女'; 例 4 删除教师表TEACHER 。 DROP TABLE TEACHER 例 5 在教师表中增加住址列。 ALTER TABLE TEACHERS ADD (ADDR CHAR(50)) 例 6 把STUDENTS 表中的BPLACE 列删除,并且把引用BPLACE 列的所有视图和约束也一起删除。 ALTER TABLE STUDENTS DROP BPLACE CASCADE 例7 补充定义ENROLLS 表的主关键字。 ALTER TABLE ENROLLS ADD PRIMARY KEY (SNO,CNO) ; 视图操作(虚表) 例9 建立一个只包括教师号、姓名和年龄的视图FACULTY 。( 在视图定义中不能包含ORDER BY 子句) CREATE VIEW FACULTY AS SELECT TNO, TNAME, AGE FROM TEACHERS 例10 从学生表、课程表和选课表中产生一个视图GRADE_TABLE ,它包括学生姓名、课程名和成绩。 CREATE VIEW GRADE_TABLE AS SELECT SNAME,CNAME,GRADE FROM STUDENTS,COURSES,ENROLLS WHERE STUDENTS.SNO =ENROLLS.SNO AND https://www.sodocs.net/doc/372917955.html,O=https://www.sodocs.net/doc/372917955.html,O 例11 删除视图GRADE_TABLE DROP VIEW GRADE_TABLE RESTRICT 索引操作 例12 在学生表中按学号建立索引。 CREATE UNIQUE INDEX ST ON STUDENTS (SNO,ASC) 例13 删除按学号所建立的索引。 DROP INDEX ST 数据库模式操作

oracle 经典SQL语句大全

一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1. dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1

SQL数据库语句大全大全(完全整理版)

SQL语句大全--语句功能 --数据操作 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 --检索查询结果打开一个游标

语句大全SQL语句大全

语句大全-SQL语句大全 SQL语句大全。SQL即结构化查询语言。 是一种特殊目的的编程语言。是一种数据库查询和程序设计语言。用于存取数据以及查询。更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。SQL语句无论是种类还是数量都是繁多的。很多语句也是经常要用到的。SQL查询语句就是一个典型的例子。无论是高级查询还是低级查询。SQL查询语句的需求是最频繁的。 中文名,SQL语句大全。作用于,数据库。具体,编程语言。相关学科,数据库原理。设计教程。 基础。创建之前判断该数据库是否存在if exists drop database databaseNamegoCreate DATABASE databasenameon primary-- 默认就属于primary文件组,可省略log ondrop

database databasename--- 创建备份数据的deviceUSE masterEXEC sp_addumpdevice ‘disk’, ‘testBack’, ‘c:\mssql7backup\MyNwind_’--- 开始备份BACKUP DATABASE pubs TO testBackcreate table tabname,col2 type2 ,..)--primary key为主键identity表示递增数量根据已有的表创建新表:A:gouse 原数据库名goselect * into 目的数据库名.dbo.目的表名from 原表名B:create table tab_new as select col1,col2… from tab_old definition onlycreate sequence SIMON_SEQUENCEminvalue 1 -- 最小值maxvalue 999 -- 最大值start with 1 -- 开始值increment by 1 -- 每次加几cache 20;drop table tabname--这是将表连同表中信息一起删除但是日志文件中会有记录delete from table_name-这是将表中信息删除但是会保留这个表Alter table table_name add column_name column_type --在表中增加一列。 内的内容为可选项Alter table

SQL语句大全实例

选课系统SQL语句实例 1. 表操作 (1) 2. 视图操作(虚表)—— (2) 3. 索引操作 (3) 4. 数据库模式操作 (3) 5. 单表操作 (3) 6. 多表操作 (4) 7. 表达式与函数的使用 (6) 8. 相关子查询 (7) 9. 关系代数运算 (8) 10. SQL 的数据操纵 (9) 11. SQL 的数据控制 (10) 1.表操作 例1 对于表的教学管理数据库中的表STUDENTS ,可以定义如下: CREATE TABLE STUDENTS

(SNO NUMERIC (6, 0) NOT NULL SNAME CHAR (8) NOT NULL AGE NUMERIC(3,0) SEX CHAR(2) BPLACE CHAR(20) PRIMARY KEY(SNO)) 例2 对于表的教学管理数据库中的表ENROLLS ,可以定义如下: CREATE TABLE ENROLLS (SNO NUMERIC(6,0) NOT NULL CNO CHAR(4) NOT NULL GRADE INT PRIMARY KEY(SNO,CNO) FOREIGN KEY(SNO) REFERENCES STUDENTS(SNO) FOREIGN KEY(CNO) REFERENCES COURSES(CNO) CHECK ((GRADE IS NULL) OR (GRADE BETWEEN 0 AND 100))) 例3 根据表的STUDENTS 表,建立一个只包含学号、姓名、年龄的女学生表。 CREATE TABLE GIRL AS SELECT SNO, SNAME, AGE FROM STUDENTS WHERE SEX=' 女'; 例4 删除教师表TEACHER 。 DROP TABLE TEACHER 例5 在教师表中增加住址列。 ALTER TABLE TEACHERS ADD (ADDR CHAR(50)) 例6 把STUDENTS 表中的BPLACE 列删除,并且把引用BPLACE 列的所有视图和约束也一起删除。 ALTER TABLE STUDENTS DROP BPLACE CASCADE 例7 补充定义ENROLLS 表的主关键字。 ALTER TABLE ENROLLS ADD PRIMARY KEY (SNO,CNO) ; 2.视图操作(虚表) 例9 建立一个只包括教师号、姓名和年龄的视图FACULTY 。( 在视图定义中不能包含ORDER BY 子句) CREATE VIEW FACULTY AS SELECT TNO, TNAME, AGE FROM TEACHERS

sql搜索语句大全

SQL语句大全 --语句功能 --数据操作 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 --从数据库中删除一个域 ***SELECT*** select *(列名) from table_name(表名) where column_name operator value example: select * from stock_information where stockid = str(nid) 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 *

数据库基本SQL语句大全

数据库基本SQL语句大全 数据库基本----SQL语句大全 一、基础 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not nul l],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加v archar类型的长度。 7、说明:添加主键: Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname

数据库基本SQL语句大全(20200521130415)

数据库基本_SQL语句大全 学会数据库是很实用D~~记录一些常用的sql语句...有入门有提高 有见都没见过的...好全...收藏下... 其实一般用的就是查询,插入,删除等语句而已....但学学存储过程是好 事...以后数据方面的东西就不用在程序里搞喽..而且程序与数据库只要 一个来回通讯就可以搞定所有数据的操作.... 一、基础 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice ‘disk‘, ‘testBack‘, ‘c:‘ --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列

Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一 能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….)删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 ---like的语法很精 查找:select * from table1 where field1 like ’%value1%’  妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1

oracle数据库查询语句大全

oracle数据库查询语句大全 1.select*from table_name where rownum>begin and rownum"+(intPage-1) *intPageSize); 今天想查询一下Oracle数据库下所有的表名或某个用户下的所有表,半天没想起来.还是在网上找到了答案. select table_name from all_tables;//所有的表明 select table_name from user_all_tables;//用户的所有的表 一下是转贴的sql语句的帖子. select*from user_objects;//查询所有的表 select*from dba_tables;//查询所有的表 select*from all_tables;//查询所有的表 select*from user_users//查出一个用户 select*from all_users//查询所有用户 select*from dba_users//查询所有用户 select name,dbid from v$database;//查询数据库名和它的ID select*from https://www.sodocs.net/doc/372917955.html,er_tab_columns;//查询表名,并显示列名 describe表名//查询表结构 select*from https://www.sodocs.net/doc/372917955.html,er_tab_columns where table_name=表名//查询指定表名的字段 2:查询数据库参数

SQL语句查询大全

SQL查询语句精华大全 一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。SELECT nickname,email FROM testtable WHERE name='张三' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变 量和全局变量)等构成。 1、选择所有列 例如,下面语句显示testtable表中所有列的数据: SELECT * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如: SELECT nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名 列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列 标题: SELECT 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认 为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是 表示一百分数,指定返回的行数等于总行数的百分之几。 例如: SELECT TOP 2 * FROM testtable

常用经典SQL语句大全完整版

常用经典SQL语句大全完整版--详解+实例 下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice ’disk’, ’testBack’, ’c:\mssql7backup\M yNwind_1.dat’ --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明: 删除新表:drop table tabname 6、说明: 增加一个列:Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明: 添加主键:Alter table tabname add primary key(col) 说明: 删除主键:Alter table tabname drop primary key(col) 8、说明: 创建索引:create [unique] index idxname on tabname(col….)删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明: 创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句

常用经典SQL语句大全完整版

常用经典SQL语句大全完整版--详解+实例下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice ?disk?, ?testBack?, ?c:\mssql7backup\MyNwind_1.dat?--- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明: 删除新表:drop table tabname 6、说明: 增加一个列:Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明: 添加主键:Alter table tabname add primary key(col) 说明: 删除主键:Alter table tabname drop primary key(col) 8、说明: 创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明: 创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围

相关主题