SQL语言与实例

时间:2019-05-15 10:19:51下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《SQL语言与实例》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《SQL语言与实例》。

第一篇:SQL语言与实例

SQL DML 和 DDL
可以把 SQL 分为两个部分:数据操作语言(DML)和 数据定义语言(DDL)。SQL(结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。查询和更新指令构成了 SQL 的 DML 部分:

 SELECT更新数据库表中的数据  DELETE向数据库表中插入数据
SQL 的数据定义语言(DDL)部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之 间的链接,以及施加表间的约束。SQL 中最重要的 DDL 语句:

 CREATE DATABASE修改数据库  CREATE TABLE变更(改变)数据库表  DROP TABLE创建索引(搜索键) DROP INDEX-删除索引   
注释:SQL 语句对大小写不敏感。SELECT 等效于 select。

SQL SELECT 实例
如需获取名为 “LastName” 和 “FirstName” 的列的内容(从名为 “Persons” 的数据库表),请使用类似这样的 SELECT 语句: SELECT LastName,FirstName FROM Persons

          

SQL SELECT * 实例
现在我们希望从 “Persons” 表中选取所有的列。请使用符号 * 取代列的名称,就像这样: SELECT

*

FROM Persons

提示:星号(*)是选取所有列的快捷方式。

SQL SELECT DISTINCT 语句
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的 值。关键词 DISTINCT 用于返回唯一不同的值。语法: SELECT DISTINCT 列名称 FROM 表名称

SELECT DISTINCT Company FROM Orders 使用 WHERE 子句
如果只希望选取居住在城市 “Beijing” 中的人,我们需要向 SELECT 语句添加 WHERE 子句: SELECT * FROM Persons

WHERE City='Beijing'

引号的使用
请注意,我们在例子中的条件值周围使用的是单引号。SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。文本值: 这是正确的: SELECT * FROM Persons WHERE 这是错误的: SELECT * FROM Persons WHERE

FirstName='Bush' FirstName=Bush

数值: 这是正确的: SELECT * FROM Persons WHERE 这是错误的: SELECT * FROM Persons WHERE

Year>1965 Year>'1965'

AND 运算符实例
使用 AND 来显示所有姓为 “Carter” 并且名为 “Thomas” 的人: SELECT * FROM Persons WHERE FirstName='Thomas'

AND

LastName='Carter'

OR 运算符实例
使用 OR 来显示所有姓为 “Carter” 或者名为 “Thomas” 的人: SELECT * FROM Persons WHERE firstname='Thomas'

OR

lastname='Carter'

结合 AND 和 OR 运算符
我们也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式): SELECT * FROM Persons WHERE

(FirstName='Thomas' OR

FirstName='William')

AND

LastName='Carter'

ORDER BY 语句
ORDER BY 语句用于根据指定的列对结果集进行排序。ORDER BY 语句默认按照升序对记录进行排序。如果您希望按照降序对记录进行排序,可以使用 DESC 关键字

实例 1
以字母顺序显示公司名称:Orders 表 SELECT Company, OrderNumber FROM Orders

ORDER BY Company

实例 2
以字母顺序显示公司名称(Company),并以数字顺序显示顺序号(OrderNumber): SELECT Company, OrderNumber FROM Orders

ORDER BY Company, OrderNumber

实例 3
以逆字母顺序显示公司名称: SELECT Company, OrderNumber FROM Orders

ORDER BY Company DESC

实例 4
以逆字母顺序显示公司名称,并以数字顺序显示顺序号: SELECT Company, OrderNumber FROM Orders

ORDER BY Company DESC,

OrderNumber ASC
INSERT INTO 语句
INSERT INTO 语句用于向表格中插入新的行。语法 INSERT INTO 表名称 VALUES(值 1, 值 2,....)我们也可以指定所要插入数据的列: INSERT INTO table_name(列 1, 列 2,...)VALUES(值 1, 值 2,....)

插入新的行
“Persons” 表: LastName Carter SQL 语句: INSERT INTO Persons VALUES('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')FirstName Thomas Address Changan Street City Beijing

结果: LastName Carter Gates FirstName Thomas Bill Address Changan Street Xuanwumen 10 City Beijing Beijing

在指定的列中插入数据
“Persons” 表: LastName Carter Gates SQL 语句: INSERT INTO Persons(LastName, Address)VALUES('Wilson', 'Champs-Elysees')FirstName Thomas Bill Address Changan Street Xuanwumen 10 City Beijing Beijing

结果: LastName Carter Gates Wilson FirstName Thomas Bill Address Changan Street Xuanwumen 10 Champs-Elysees City Beijing Beijing

Update 语句
Update 语句用于修改表中的数据。语法: UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

Person:
LastName Gates Wilson FirstName Bill Address Xuanwumen 10 Champs-Elysees City Beijing

更新某一行中的一个列
我们为 lastname 是 “Wilson” 的人添加 firstname: UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'

结果: LastName Gates Wilson FirstName Bill Fred Address Xuanwumen 10 Champs-Elysees City Beijing

更新某一行中的若干列
我们会修改地址(address),并添加城市名称(city): UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson'

结果: LastName Gates Wilson FirstName Bill Fred Address Xuanwumen 10 Zhongshan 23 City Beijing Nanjing

DELETE 语句
DELETE 语句用于删除表中的行。

语法 DELETE FROM 表名称 WHERE 列名称 = 值

Person:
LastName Gates Wilson FirstName Bill Fred Address Xuanwumen 10 Zhongshan 23 City Beijing Nanjing

删除某行
“Fred Wilson” 会被删除: DELETE FROM Person WHERE LastName = 'Wilson'

结果: LastName Gates FirstName Bill Address Xuanwumen 10 City Beijing

删除所有行
可以在不删除表的情况下删除所有的行。这意味着表的

结构、属性和索引都是完整的: DELETE FROM table_name 或者: DELETE * FROM table_name


第二篇:sql语言

11.2.2 数据定义命令

1.CreateTable命令

Create Table <表名>(<列名1><数据类型1>[<列级完整性约束1>][,<列名2>] <数据类型2>[<列级完整性约束2>][,……][,<列名n>] <数据类型n>[<列级完整性约束n>][<表级完整性约束n>]); 语句功能:创建一个以<表名>为名的、以指定的列属性定义的表结构。

2.Alter Table命令

Alter Table<表名>

[ ADD <新列名> <数据类型> [ 完整性约束 ] ]

[ DROP <完整性约束名> ]

[ MODIFY <列名> <数据类型> ];

语句功能:修改以<表名>为名的表结构。

3.Drop命令

Drop Table <表名>

语句功能:删除以<表名>为名的表。

11.2.3 数据查询命令 SELECT

语法形式为:

SELECT [ALL|DISTINCT] 目标列FROM 表(或查询)

[WHERE 条件表达式]

[GROUP BY 列名1 HAVING 过滤表达式]

[ORDER BY 列名2[ASC|DESC]]

功能

根据WHERE子句中的表达式,从指定的表或视图中找出满足条件的记录,按目标列显示数据GROUP BY子句按列名1的值进行分组,每一组产生一条记录,HAVING短语对组进行输出过滤

ORDER BY子句按列名2 对查询结果的值进行排序

1.SELECT语句示例

例11.1查询所有学生的基本情况

SELECT学号,姓名,性别,出生日期,专业

FROM Student;

例11.2查询所有男生的信息记录。

SELECT *

FROM student

WHERE 性别=“男”;

例11.1查询所有的专业,查询结果中不出现重复的记录。

SELECT DISTINCT 专业 FROM Student ;

例11.4 查询学生的人数和平均年龄

SELECT Count(*)AS 人数,Avg(Year(Date())-Year(出生年月))AS平均年龄 FROM Student ; 例85 查询计算机专业学生的学号、姓名和专业

SELECT 学号,姓名,专业 FROM Student WHERE 专业=“计算机” ;

例11.6显示所有非计算机专业学生的学号、姓名和年龄

SELECT 学号, 姓名, Year(Date())-Year(出生年月)AS 年龄

FROM StudentWHERE 专业<>“计算机” ;

例11.7 查询1981年(包括1981年)以前出生的女生姓名和出生年月。

SELECT 姓名,出生年月 FROM Student

WHERE 出生年月 < #1/1/1982# AND 性别=“女” ;

例11.8 查询选修了1号课程的学生的学号及其成绩,查询结果按分数降序排列。

Select 学号,成绩Fromsc

Where课程号= “1”

Order By 成绩 DESC;

例11.9查询选修了2门(包括2门)以上课程的学生的学号和课程数

SELECT 学号, Count(*)AS 课程数 FROM Sc

GROUP BY 学号HAVING Count(*)>=2 ;

例11.10查询所有课程的成绩在70分以上的学生的学号

SELECT 学号 FROM ScGROUP BY 学号

HAVING Min(成绩)>=70 ;

例11.11 查询所有学生的学号、姓名、课程和成绩

SELECT Student.学号,Student.姓名,Sc.课程, Sc.成绩

使用内连接格式

SELECT Student.学号,Student.姓名,Sc.课程,Sc.成绩

2.ORDER BY、GROUP BY、HAVING子句示例

例11.12 对学生成绩表,统计每人的平均分和课程数,按学号递减排序

SELECT学号, COUNT(课程号)AS 课程数, AVG(成绩)AS平均成绩

FROM sc

学号

ORDER BY学号DESC;

例11.13查询选修了2门(包括2门)以上课程、最低成绩在60分以上的学生的学号、课程数和最低分 SELECT 学号, Min(成绩)AS 成绩之Min, Count(课程)AS 课程之Count FROM ScGROUP BY Sc.学号

HAVING(((Min(成绩))>=60)AND((Count(课程))>2));

3、多表连接查询SELECT语句

WHERE 条件,在两表中有相同的属性值

例11.14 查询所有学生的学号、姓名、课程和成绩

SELECT Student.学号,Student.姓名,Sc.课程, Sc.成绩

FROM Student,Sc WHERE Student.学号 = Sc.学号;

4.嵌套查询

在SQL中,将一个SELECT语句查询块嵌套在另一个SELECT语句的WHERE子句或HAVING子句中称为嵌套查询

例11.15 查询没有学过大学计算机基础的学生的学号、姓名和专业

SELECT Student.学号, Student.姓名, Student.专业

FROM Student

(SELECT Sc.学号

FROM Sc

WHERE Sc.课程=“大学计算机基础”);

嵌套查询示例

例11.16 查询与“邓倩梅”在同一个专业的学生的学号和姓名

SELECT Student.学号, Student.姓名

FROM Student

WHERE

FROM Student

11.2.4SQL中的数据更新命令

结构化查询语言SQL是操作关系数据库的工业标准语言

在SQL中,常用的语句有两类:

数据查询语句 SELECT

数据更新命令 INSERT、UPDATE、DELETE

INSERT语句用于数据插入 其语法格式为:

 插入一条记录

INSERT INTO 表名 [(字段1,…,字段n)] VALUES(值1,…,值n)

 插入查询的结果

INSERT INTO 表名(字段1,…,字段n)VALUES 子查询

数据更新-INSERT语句实例

例11.17向表Students中插入一条记录

Insert Into student(学号, 姓名, 出生日期,性别, 专业)VALUES(“20031011”, “陈伟”,男“, ”化学“)

注意:

字符型常量用 单引号 或 双引号 括起来

逻辑型字段的值是 True/False、Yes/No 或 On/Off

日期的表示形式为 MM/DD/YY 或 MM/DD/YYYY

数据更新-DELETE语句

DELETE语句用于数据删除其语法格式为:

DELETE FROM 表 [WHERE 条件]

注意: WHERE子句缺省,则删除表中所有的记录(表还在)

例11.18 删除表Students中所有学号为990301的记录

DELETE FROM Students WHERE 学号=“990301”

例11.19 删除表Sc中成绩低于70分的记录

DELETE FROM Sc WHERE 成绩<70

数据更新-UPDATE语句

UPDATE语句用于数据修改其语法格式为:

UPDATE 表 SET 字段1=表达式1, …,字段n=表达式n [WHERE 条件]

注意: WHERE子句缺省,则修改表中所有的记录

例11.20 将表Student中学生王涛的姓名改为王宝 #12/28/80#,”

UPDATE Students SET 姓名=“王宝” WHERE 姓名=“王涛”

UPDATE语句一次只能对一个表进行修改

SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准。包括数据定义、数据操纵、数据查询和数据控制四个方面,共9个命令。

SQL语言使用使用数据定义语言(Data Definition Language,简称DDL)实现数据定义功能。1、创建数据表

【命令格式】

CREATETABLE<表名> [free]

(<字段名1><数据类型>[(<宽度>[,<小数位数>]),<字段名2>…])

【功能】定义(也称创建)一个表结构。

【命令格式】

CREATETABLE<表名> [free]

(<字段名1><数据类型>[(<宽度>[,<小数位数>]),[NULL|NOTNULL]<字段名2>…])

【功能】定义(也称创建)一个表结构。

【命令格式】

CREATETABLE<表名> [free]

(<字段名1><数据类型>[(<宽度>[,<小数位数>]),[NULL|NOTNULL]

[CHECK<表达式>[error<提示信息]

<字段名2>…])

【功能】定义(也称创建)一个表结构。

【命令格式】

CREATETABLE<表名> [free]

(<字段名1><数据类型>[(<宽度>[,<小数位数>]),[NULL|NOTNULL]

[CHECK<表达式>[error<提示信息]

[DEFAULT<表达式>]

<字段名2>…])

【功能】定义(也称创建)一个表结构。

【命令格式】

CREATETABLE<表名> [free]

(<字段名1><数据类型>[(<宽度>[,<小数位数>]),[NULL|NOTNULL]

[CHECK<表达式>[error<提示信息]

[DEFAULT<表达式>]

[PRIMARY KEY/UNIQUE]

<字段名2>…])

【功能】定义(也称创建)一个表结构。

【例11-1】创建一个表STUD(学生信息表),它由以下字段组成:学号(C,8);姓名(C,8);性别(C,2);出生年月(D);入校总分(N,3);三好生(L);特长(M);照片(G)。

CREATE TABLESTUD

(学号C(8),姓名C(8),性别 C(2),出生年月 D, 入校总分 N(3),;三好生 L,特长 M,照片 G)

【例11-2】创建一个表STUD(学生信息表),它由以下字段组成:学号(C,8);姓名(C,8);性别(C,2);出生年月(D);入校总分(N,3)。

并要求:学号为主键并不能为空值;姓名也不允许为空值,性别字段必须是“男”或者“女”;出生年月取值范围在1970到1990年之间。

CREATE TABLESTUD

(学号C(8)PRIMARY KEYNOT NULL,;

姓名C(8),;性别C(2),;出生年月 D,;入校总分 N(3))

【例11-2】创建一个表STUD(学生信息表),它由以下字段组成:学号(C,8);姓名(C,8);性别(C,2);出生年月(D);入校总分(N,3)。

并要求:学号为主键并不能为空值;姓名也不允许为空值,性别字段必须是“男”或者“女”;出生年月取值范围在1970到1990年之间。

CREATE TABLESTUD

(学号C(8)PRIMARY KEYNOT NULL,;

姓名C(8), NOT NULL;性别C(2),;出生年月 D,;入校总分 N(3))

【例11-2】创建一个表STUD(学生信息表),它由以下字段组成:学号(C,8);姓名(C,8);性别(C,2);出生年月(D);入校总分(N,3)。

并要求:学号为主键并不能为空值;姓名也不允许为空值,性别字段必须是“男”或者“女”;出生年月取值范围在1970到1990年之间。

CREATE TABLESTUD

(学号C(8)PRIMARY KEYNOT NULL,;

姓名C(8), NOT NULL;

性别C(2), DEFAULT=“男”CHECK 性别=“男”OR 性别 =“女” ERROR“性别必须是男或女”;出生年月 D,;入校总分 N(3))

【例11-2】创建一个表STUD(学生信息表),它由以下字段组成:学号(C,8);姓名(C,8);性别(C,2);出生年月(D);入校总分(N,3)。

并要求:学号为主键并不能为空值;姓名也不允许为空值,性别字段必须是“男”或者“女”;出生年月取值范围在1970到1990年之间。

CREATE TABLESTUD

(学号C(8)PRIMARY KEYNOT NULL,;

姓名C(8), NOT NULL;

性别C(2), DEFAULT=“男”CHECK 性别=“男”OR 性别;

=“女” ERROR“性别必须是男或女”;

出生年月 D, CHECK(出生年月)<={^1990-01-01} and 出生;

年月>={^1970-01-01},;

入校总分 N(3))

2、修改数据表

【命令格式1】

ALTER TABLE <表名>[ADD/ ALTER

[COLUMN] <新字段名><数据类型>[<宽度>[,<小数位数>]]

[NULL |NOTNULL]]

[CHECK<表达式>[error<提示信息>]]

[DEFAULT <表达式>]

[PRIMARY KEY/UNIQUE]]

【功能】修改表结构。、插入记录

【格式1】INSERTINTO<表名>[<字段名表>]VALUES(<表达式表>)

【格式2】INSERTINTO<表名>FROMARRAY<数组名>|FROMMEMVAR

【功能】在指定的表文件末尾追加一条记录。格式1用表达式表中的各表达式值赋值给<字段名表>中的相应的各字段。格式2用数组或内存变量的值赋值给表文件中各字段。

【说明】如果某些字段名在INTO子句中没有出现,则新记录在这些字段名上将取空值(或默认值)。但必须注意的是,在表定义说明了NOTNULL的字段名不能取空值。

<字段名表>:指定表文件中的字段,缺省时,按表文件字段的顺序依次赋值。

<表达式表>:指定要追加的记录各个字段的值。

【例11-6】在表文件STUD的末尾追加三条记录。

***用表达式方式追加第一条记录***

INSERTINTOSTUD

(学号,姓名,性别,班级名,系别代号);

VALUES

(“011110”,“李建国”,“男”,“计0121”,“01”)

DIMENSIONDATA[5]

DATA(1)=“011103”

DATA(2)=“李宁”

DATA(3)=“女”

DATA(4)=“电0134”

DATA(5)=“02”

INSERTINTOSTUDFROMARRAYDATA

第三篇:SQL语言

1.输出任意两个字符串变量的值(参考代码)

declare @v1 varchar(12),@V2 varchar(12)

set @v1='中国'

set @v2='你好!'

select @v1+@v2

2.为以下程序纠错

declare @v1 varchar(12),@V2 varchar(10)

set @v1='中国'

set @v2='你好!'

set @s='吗!'

select @v1+@v2+@s

3.运行以下代码,观察以下全局变量的功能

select 34@@connections 返回当前服务器的连接数目

select 1@@rowcount 返回上一条T-SQL语句影响的数据行数 select @@error返回上一条T-SQL语句执行后的错误号 select @@procid返回当前存储过程的ID号

select @@remserver 返回登录记录中远程服务器的名字 select @@spid返回当前服务器进程的ID标识

select @@version 返回当前SQL Server服务器的版本和处理器类型 select @@language 返回当前SQL Server服务器的语言

select @@connections

4.输入以下代码并理解其含意

bggin

if 3>5

select 'true'

else print 'false'

end

go

begin

if 'a'<'A'

select 'true'

else print 'false'

end

go

begin

if '张'>'李'

select 'true'

else print 'false'

end

go

begin

if getdate()>2008-10-10

print'true'

else print'false'

end

5.附加数据库student,并进行以下操作

use student

select * from xsda

以XSDa表为例,如果平均成绩高于75分,则显示“不错!”,否则,显示“加油呀!”。

declare @av1 char(12), @av2 char(12)

set @av1='不错!'

set @av2='加油!'

if(select avg(总学分)from xsda)>75

begin

select @av1

end

else

select @av2

编写一个程序,显示每一同学的成绩等级

select xh,zf,dj=

case

when zf>70 then '优秀'

when zf>65 then '良好'

when zf>=60 then '合格'

else '不合格'

end

from xsdn

6.求1-100偶数和(参考代码)

declare @i int,@s int/*定义变量*/

set @i=0/*变量赋初值*/

set @s=0

while @i<=100/*条件*/

begin

set @s=@s+@i/*累加求和*/

set @i=@i+2/*偶数*/

end

print @s

7.求10!

8.为以下程序纠错(求1-100的积)

declare @i int,@s int

set @i=0

set @s=0

while @i<=100 begin

set @s=@s*@iset @i=@i+2 end

print @s

第四篇:SQL 语言

SQL语言

create database student

on primary

(name=student_data1,filename='c:student_data1.mdf',size=10M,maxsize=100M,filegrowth=10%)

filegroupstudent_group分组

(name=student_data2,filename='c:student_data2.ndf',size=10M,maxsize=100M,filegrowth=10%)

log on

(name=student_log1,filename='c:student_data1.ldf',size=10M,maxsize=100M,filegrowth=10%)

create table xi

(系编号 char(2)primary key,系名varchar(20))主码

insert into xi values('01','物理系')

insert into xi values('02','化学系')

select *from xi查询

create table student

(学号 char(11)primary key,姓名varchar(10),民族 char(2)default'汉',出生日期datetime ,奖学金 money check(奖学金<=8000), 系编号 char(2)foreign key references xi(系编号))

默认值,约束,外码

insert into student values('20090214201','马帅', '汉','1990-1-8',1500, '01')

insert into student values('20100214202','周伊','回' ,'1989-2-4',500,'02')

update student set 出生日期='1911-3-1'where 学号 ='20100214201'

更新数据

select* from student/ 3

alter table student add 性别 char(2)check(性别='男'or 性别='女')

增加列

update student set 性别 ='男' where 学号 ='20090214201' update student set 性别 ='女' where 学号 ='20100214202' select student* from student where left(学号,4)=’2009’ 查询大三学生的详细信息

create table kc

(课程编号 char(2),课程名varchar(20))

alter table kc alter column 课程编号 char(2)not null 修改字段

alter table kc addconstraint pk_kcprimary key(课程编号)加主码(加主码的字段不能为空)

insert into kc values('01','语文')

insert into kc values('02','数学')

insert into kc values('03','英语')

update kc set课程名 ='历史学' where 课程编号= '05' execute sp_rename '课程编号','课程名','column'

改名

create table cj

(学号 char(11)foreign key references student(学号))alter table cj add 课程编号 char(2)

增加列

alter table cj add foreign key(课程编号)references kc(课程编号)

增加外码

alter table cj add 成绩varchar(3)

insert into cj values('20100214201','01','69')

insert into cj values('20100214201','02','90')

insert into cj values('20100214201','03','56')

insert into cj values('20100214202','01','26')

insert into cj values('20100214202','02','54')

insert into cj values('20100214202','03','89')

1.select student.*,课程名,成绩 ,系名 from student ,kc,cj ,xi where student.系编号 = xi.系编号and cj.学号=student.学号 and kc.课程编号=cj.课程编号 and student.学号='20100214202'

查询学号为20100214202的学生student表的全部内容和每门课的成绩及所在系

2.select 姓名,课程名,成绩,系名 from student,kc,cj,xi where student.学号 = cj.学号 and student.系编号=xi.系编号 and cj.课程编号= kc.课程编号 and month(getdate())=month(student.出生日期)and day(getdate())= day(student.出生日期)

查询今天过生日的学生的姓名每门课的成绩及系名

3.select student.学号,课程名,成绩,系名 from student,kc,cj,xi where student.学号=cj.学号 and kc.课程编号=cj.课程编号 and student.系编号=xi.系编号 and cj.学号 =student.学号 查看所有学生的学号的每门课的成绩及系名

4.Select count()as 学生数 from student ,xi where student.系编号=xi.系编号and xi.系名=’物理系’

查看物理系的学生数

5.Select student.姓名,avg(cj.成绩)as平均成绩 from student, cj where student.学号=cj.学号

查看所有学生的平均成绩

第五篇:SQL语言简介

SQL语言简介

㈠、什么是SQL语言

SQL(Structure Query Languge,结构化查询语言)是一种数据库专用的计算机语言,不管是Oracle、MS SQL、Access、MySQL或其他公司的数据库,也不管数据库建立在大型主机或个人计算机上,都可以使用SQL语言来访问和修改数据库的内容。虽然不同公司的数据库软件多多少少会增加一些专属的SQL语法,但大体上,它们还是遵循ASNI(美国国家标准协会)制定的SQL标准。因为SQL语言具有易学习及阅读等特性,所以SQL逐渐被各种数据库厂商采用,而成为一种共通的标准查询语言。只要你学会SQL,即可操作各种数据库如Visual Foxpro、Access、dBase等等。总之,SQL语言是各种数据库都可以使用的数据库查询语言。

SQL语言不仅仅具有查询数据库的功能,而且可以对数据库完成选取、增删、更新与跳转等各种操作。㈡、SQL语言的组成SQL语言是由命令(函数)、子句、运算符、加总函数及通配符等组成,分述如下:

1、命令

SQL的命令可分成数据定义语言与数据操作语言,数据定义语言可用来建立新的数据库、数据表、字段及索引等,本教程不予介绍;另一为数据操作语言,可用来建立查询表、排序、筛选数据、修改、增删等动作。数据定义语言命令常用的有选择、添加、删除和修改这四种:

⑴、命令:SELECT

中文意思:选择

说明:用于找出合乎条件的记录

⑵、命令:INSERT

中文意思:插入

说明:用于增加一笔记录或合并两个数据表

⑶、命令:UPDATE

中文意思:更新

说明:用于更正合乎条件的记录

⑷、命令:DELETE

中文意思:删除

说明:用于删除合乎条件的记录

2、子句

子句是用于设定命令要操作的对象(即参数),SQL所用的子句如下:

⑴、子句:FROM

中文意思:数据表

说明:用于指定数据表

⑵、子句:WHERE

中文意思:条件

说明:用于设定条件

⑶、GROUP BY

中文意思:分组(合并)

说明:用于设定分组

⑷、ORDER BY

中文意思:排序

说明:用于设定输出的顺序及字段

3、运算符

子句参数中的运算符使子句构成不同的语法格式,如“字段1='100'”、“字段1>'100'”等。运算符又分逻辑运算符与比较运算符。

◇逻辑运算符如下:

⑴、运算符:AND

中文意思:并且

说明:逻辑且

⑵、运算符:OR

中文意思:或者

说明:逻辑非

⑶、运算符:NOT

中文意思:取反

说明:逻辑非或逻辑反

◇比较运算符如下:

⑴、运算符:<说明:小于

⑵、运算符:≤说明:小于等于

⑶、运算符:≥说明:大于等于

⑷、运算符:>说明:大于

⑸、运算符:=说明:等于

⑹、运算符:<>说明:不等于

⑺、运算符:BETWEEN说明:用于设定范围中文意思:在...之间

⑻、运算符:LIKE说明:用于通配设定中文意思:如同

⑼、运算符:IN说明:用于集合设定中文意思:在...之内

4、加总函数

加总函数常常运用在命令的参数中,如:“SELECT SUM(数学),AVG(数学)FROM 成绩单”。⑴、加总函数:AVG

中文意思:平均

说明:用于求指定条件的平均

⑵、加总函数:COUNT

中文意思:数量

说明:用于求指定的数量

⑶、加总函数:SUM

中文意思:和

说明:用于求指定条件的和

⑷、加总函数:MAX

中文意思:最大值

说明:用于求指定条件的最大值

⑸、加总函数:MIN

中文意思:最小值

说明:用于求指定条件的最小值

5、通配符

⑴、通配符:%意义:任何长度的字符串(包括0)

⑵、通配符:_意义:下划线表示任何一个字符

⑶、通配符:[ ]意义:中括号表示某个范围内的一个字符

在下一讲将说明SQL语言是怎样把命令(函数)、子句、运算符、及加总函数等组合在一起的。

下载SQL语言与实例word格式文档
下载SQL语言与实例.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    SQL语言总结

    select 姓名,sum(成绩) as 总分from 学生 inner join 成绩 on 学生.学号=成绩.学号 group by 姓名 答:从通过学号建立的学生与成绩关系表中选择选择学生成绩的姓名集合Update 学......

    sql语言学习

    SQL语言学习 --语 句功 能 --数据操作 SELECT--从数据库表中检索数据行和列 INSERT--向数据库表添加新数据行 DELETE--从数据库表中删除数据行 UPDATE--更新数据库表中的数......

    SQL语言简介

    SQL—结构化查询语言数据定义语言 CREATE DROP ALTER数据操纵语言 SELECT INSERT UPDATE DELETE数据控制语言 GRANT REVOKE数据定义语言CREATE TABLE 学生 (学生ID SMALLINT......

    SQL语言(模版)

    SQL语言 1. 数据定义: a) Create 创建 b) Drop 删除对象 数据表  表的创建:create table 表名(字段名1 类型 primary key注:主键,字段名2 类 型,……, check 表级约束) 例:S(Sno......

    SQL语言汇总

    1. UPDATE MARK SET 总分=语文+数学+英语SELECT 准考证号,姓名,总分 FROM MARK WHERE 语文>=75 AND数学>=75 AND 英语>=75 AND 语文+数学+英语>=240 ORDER BY 总分 DESC2 UP......

    SQL查询语言

    《SQL查询语言》教学设计 一、 教学目标分析 认知目标 学习SQL查询语言的使用方法。 掌握SQL语言当中的SELECT语句 能力目标 培养学生应用查询语句查询数据的应用能力 情感......

    SQL语言以及SQL

    SQL语言以及SQL*PLUS工具 1. SQL语言组成:  数据查询语言(DQL):SELECT;  数据操纵语言(DML):INSERT、UPDATE、DELETE;  事务控制语言(TCS):COMMIT、ROLLBACK;  数据定义语言(DDL):CREATE、DR......

    数据库sql语言总结

    插入句型: insertinto [各属性名]values(,……)删除元组或者二维表: delete from[ where ]删除属性: altertabledropcolumn增加某表的属性: altertableadd 类型 修改句型: update......