sql语言_类sql语言

2020-02-28 其他范文 下载本文

sql语言由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“类sql语言”。

11.2.2 数据定义命令

1.CreateTable命令

Create Table([][,] [][,……][,] [][]); 语句功能:创建一个以为名的、以指定的列属性定义的表结构。

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 出生年月

例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 成绩

数据更新-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, Acce等都采用了SQL语言标准。包括数据定义、数据操纵、数据查询和数据控制四个方面,共9个命令。

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

【命令格式】

CREATETABLE [free]

([([,]),…])

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

【命令格式】

CREATETABLE [free]

([([,]),[NULL|NOTNULL]…])

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

【命令格式】

CREATETABLE [free]

([([,]),[NULL|NOTNULL]

[CHECK[error

…])

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

【命令格式】

CREATETABLE [free]

([([,]),[NULL|NOTNULL]

[CHECK[error

[DEFAULT]

…])

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

【命令格式】

CREATETABLE [free]

([([,]),[NULL|NOTNULL]

[CHECK[error

[DEFAULT]

[PRIMARY KEY/UNIQUE]

…])

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

【例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(出生年月)

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

入校总分 N(3))

2、修改数据表

【命令格式1】

ALTER TABLE [ADD/ ALTER

[COLUMN] [[,]]

[NULL |NOTNULL]]

[CHECK[error]]

[DEFAULT ]

[PRIMARY KEY/UNIQUE]]

【功能】修改表结构。

1、插入记录

【格式1】INSERTINTO[]VALUES()

【格式2】INSERTINTOFROMARRAY|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 语言

SQL语言create database studenton primary(name=student_data1,filename='c:\student_data1.mdf',size=10M,maxsize=100M,filegrowth=10%)filegroupstudent_group分组(n......

SQL语言

1.输出任意两个字符串变量的值(参考代码)declare @v1 varchar(12),@V2 varchar(12)set @v1='中国'set @v2='你好!'select @v1+@v22.为以下程序纠错declare @v1 varchar(12),@......

SQL语言

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

SQL语言汇总

1.UPDATE MARKSET 总分=语文+数学+英语SELECT 准考证号,姓名,总分FROM MARKWHERE 语文>=75 AND数学>=75 AND 英语>=75 AND 语文+数学+英语>=240ORDER BY 总分 DESC2UPDATE M......

sql语言学习

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

《sql语言.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
sql语言
点击下载文档
相关专题 类sql语言 语言 sql 类sql语言 语言 sql
[其他范文]相关推荐
[其他范文]热门文章
下载全文