当前位置:文档之家› SQL 语句2

SQL 语句2

SQL 语句2
SQL 语句2

SQL 语句

一:数据库的操作

1.数据库建立语句

查询:select * from XX

纵向查询:select id,name from XX

纵向待条件查询:select name,age,dz from XX where id='1003'

改变语句:

更改姓名:update XX set name='林逗比' where name='林小青'

更改性别:update XX set xb='男' where name='林小青'

更改年龄:update XX set age='30' where name='林小青' 格式:

create database 数据库名creates

on primary(name=逻辑数据名

filename='操作数据文件路径名和文件名',

size=4Mb,

maxsize=6Mb

filegrowth=5

)

log on (name=逻辑日志文件名,

filename='逻辑日志文件路径和文件名',

size=文件的大小

filegrowth=10

)

功能1. 定义数据库名

功能2. 定义数据文件名,其中on primary 定义主文档。MDF filename='操作数据文件路径名和文件名', size=文件大小

maxsize=最大文件空间

filegrowth=5 文件的增长率

功能3:定义日志文件

log on (name=逻辑日志文件名, 日志文件名

filename='逻辑日志文件路径和文件名', 日志文件的位置和名称

size=文件的大小) 日志文件大小

例如:创建学生管理系统数据库,主数据文件'd:\ljg\xsglxt.mdf' 文件大小4MB 、最大空间 6 MB 日志文件学生管理系统LOG 大小3MB 位置:'d:\ljg\xsglxtlog.ldf',

create database 学生管理系统

on primary(name=学生管理系统,

filename='d:\ljg\xsglxt.mdf',

size=4Mb,

maxsize=6Mb

)

log on (name=学生管理系统log,

filename='d:\ljg\xsglxtlog.ldf',

size=3mb)

go

2.选择数据库(打开数据库)

格式:use 数据库

功能:将数据库打开作为当前数据库

例如:use 学生管理系统

use msdb

3. 查看数据库中全部表信息

格式sp_help

4. 查看指定数据库的详细信息

格式:sp_help 数据名

例如:

use 学生管理系统

sp_help student

5. 查看数据库上的所有数据文件和日志文件

格式:sp_helpfile

Go

6.查看当前数据库上的组文件

格式:sp_helpfilegroup

7. 数据库的改名

格式:sp_rennameda 老数据库名,新数据库名

例如:sp_renamedb '学生管理系统', '学生档案管理'

sp_helpfile

8.删除数据库

格式:drop database 数据库名

功能:删除指定数据库(当前数据库不能删除)

例如:drop database 学生管理系统

二:数据表的操作

1. 数据表的定义

格式:create table 数据表名

(

列名1 数据类型(宽度)char(9) 列级完整性约束条件

列名2 数据类型(宽度)char(9) 列级完整性约束条件

列名3 数据类型(宽度)char(9) 列级完整性约束条件

列名N 数据类型(宽度)char(9) 列级完整性约束条件

表级完整性约束条件)

功能:建立表的结构,设置列级完整性约束条件,表级完整性约束条件

说明:1. 列级完整性条件是针对属性值设置的限制条件,包括

(1)NOT NULL 或NULL

NOT NULL,不容许字段为空,NULL:容许字段为空

字段为空的含义是该属性的值不详、含糊、或无意义

对于关系的主属性必须限定为NOT NULL,以满足实体完整性,其他可以为NULL (2)唯一性约束条件unique

不容许该列中出现重复的属性值

(3)默认值约束条件DEFAULT

格式:DEFAUTL <约束名> 〈默认值〉FOR 《列名》

例如:DEFAULT C1 20 FOR 年龄

(4)检查约束条件CHECK

他通过约束条件表达式设置列值应该满足的条件

格式:CONSTRAINT <约束名> CHECK <约束条件>

说明:列级约束条件只约束一个列,如果涉及多个列就是表级约束条件

2. 表级约束条件涉及关系中多个列的限制,包括

(1)惟一性约束条件UNIQUE

要求列的值不能有重复的使用

(2)primary KEY 实体完整性约束

用于定义主码,他能保证主码的惟一性和非空性,直接写在主码后格式:CONSTRAINT <约束名>primary KEY <列,或列的组合>

例如:

CONSTRAINT BB primary KEY <学号,课程号>

(3)FOREIGN KEY 外码和参照表约束

格式:

CONSTRAINT <约束名> FOREIGN KEY <外码>

REFERENCES <被参照表>(《与外码对应的主码》)

例如:

CONSTRAINT C6 FOREIGN KEY (学号)

REFERENCES 学生(学号)

2.查看表的详细信息(属性的信息)

Sp_help 表名

例如:1.create table student( 学号char(5) not null unique , 惟一不为空

姓名char(20) not null,

年龄smallint ,

性别char(2),

所在系char(20),

constraint c3 check (性别in ('男','女' ))) 对性别的约束

查看表达信息sp_help student

例如2:create table course(课程号char(5) primary key ,

课程名char(20) ,

先行课char(5))

sp_help course

例如3:create table sc( 学号char(5) ,

课程号char(5),

成绩smallint,

constraint c4 check (成绩between 0 and 100),

constraint c5 primary key (学号, 课程号),

constraint c6 foreign key (学号) references student(学号),

constraint c7 foreign key (课程号)references course(课程号))

3.修改表的结构

(1.)删除约束条件

alter table sc

drop c5

(2.)增加约束条件

alter table sc

add constraint c1 check( 性别in (‘男’,’女’)

alter table sc

add constraint c1 primary key ( 学号)

alter table sc

add constraint c1 foreign key ( 学号) references student(学号)

(3. )增加新的列

alter table sc

add ccc char (4)

(4)更改列的数据类型

alter table sc

alter column ccc smallint

4.删除表

格式:DROP TABALE<表名〉RESTRICT/ CASCADE

功能:删除指定的表

RESTRICT选项删除有条件的

若删除的表不能被其他的表引用(CHECK FOREIG KEY), 不能有试图,等,如果有这些依

赖这个表则不能删除。

CASCADE :没有限制的删除,删除时相关的依赖对象都被删除。

例如:

drop table sc

drop table course

5.建立索引

格式:create 【unique】【CLUSTERED 】index 索引文件名

on student (学号desc , 年龄asc )

功能:在指定的表上建立索引,

Unique 惟一索引

CLUSTERED 聚簇索引:索引顺序与表的物理顺序一致。

DESC 降序ASC 升序

例如:1 建立惟一索引

create unique index aaaa

on (关于)student (学号desc , 年龄asc )

2 建立聚簇索引

create clustered index bbbb

on student (学号desc , 年龄asc )

6.删除索引

DROP INDEX <表名。索引文件名〉

例如:drop index student.bbbb

删除时要先指定表名然后时索引名

三:数据更新

1.插入数据

insert into 表名(属性1, 属性2 属性3, 属性4, 属性N)

values (常量1,'常量2', 常量3 '常量4','常量N') 功能:向指定的表中插入一条记录

常量为字符时要加单引号,数值数据不加单引号例如:

1. insert into student(学号, 姓名, 年龄, 性别, 所在系)

values (95001,'李勇',20, '男','计算机')

2. insert into sc (学号, 课程号, 成绩)

values ('95004','3',96)

2.插入子查询的结果

insert into 表名(属性1, 属性2 属性3, 属性4, 属性N)

子查询;

例如:

create table age( avg_age smallint)

insert into age(avg_age)

select avg(年龄)

from student

3.修改数据

update 数据库

set 列名=值

where 条件'

更改某一个值或某一列值

例如:1 更改某一个值

select * from student

update student

set 年龄=25

where 姓名='刘晨'

2 更改某一列的值为一个值

select * from age

update age

set avg_age=40

4.删除数据

格式:DELETE

from 数据表

WHERE 条件

功能:删除数据表中符合条件的记录

例如:1. 删除AGE表中的所有记录

delete

from age

select * from age

2. 删除符合条件的记录

delete

from student

where 年龄=25

select * from student

四:数据查询

1.查询语句

格式:

SLECT ALL/DESTINCT 字段1 ,字段2,字段3,字段N

FROM 表或视图图(可以多个,用逗号分割)

WHER 条件

GROUP BY 字段1 【HA VING 条件表达式】

ORDER BY 字段ASC /DESC

功能:

根据WHERE 条件,从FROM 指定的表或视图中找出满足条件的元组(记录),再按SELECT 的子段,选出记录的属性值形成结果表

2. 单表查询字段的操作

例如:1 选择表中的若干列

select 学号, 姓名

from student

例如2:查看全部的列

select 学号, 姓名, 性别,所在系

from student

select * * 全部列

from student

例如3:查询计算值

select 姓名, 年龄, 2010-年龄

from student

例如4:增加特殊说明

select 姓名, 年龄,'出生日期:', 2010-年龄

from student

出生日期不是表的字段,只起说明作用

3.选择表中若干元组记录的操作

(1)取消取值重复的行

select distinct先行课

from course

(2)查找满足条件的记录

A.比较操作

比较符号> ,>= ,<= ,!=,<>不等于,!>不大于, !< 不小于例如:1. 查找年龄大于等于20的所有学生

select *

from student

where 年龄>=20

2. 查找年龄大于20的男同学

select *

from student

where 年龄>=20 and 性别='男'

3.查询年龄小于20学生的姓名、性别和学号

select 姓名,年龄,性别

from student

where 年龄<20

4. select 学号, 课程号, 成绩

from sc

where 成绩<>90

B 。确定范围

Between AND 在两者之间

NOT BETWEEN AND 不在两者之间

BETWEEN 是范围的低值

AND 时范围的高值

例如1:查询年龄在20到23 之间的学生的姓名、所在系和年龄select 姓名,所在系,年龄

from student

where 年龄between 20 and 23;

例如2:查询成绩不在88到96之间的学生的学号、课程号和成绩select 学号,课程号,成绩

from sc

where 成绩not between 88 and 96;

C、确定集合

In 和not in 用于查找属性值在或不在指定的集合中

例如1:查找计算机、英语系,政治系的所有学生

select *

from student

where 所在系in ('计算机', '英语','政治')

例如2:查找非计算机、英语系所有学生

select *

from student

where 所在系not in ('计算机', '英语')

D:字符匹配(模糊查询)

LIKE 用来进行字符串的匹配

格式:NOT LIKE ‘匹配的字符

功能:查询指定属性列的值与《匹配的字符》相匹配的记录

匹配的字符可以是一个完整的字符串,也可以用通配符%和—% :代表任意长度的字符A% B A开头B 结尾的字符串

__:代表单个任意字符A_ A开头的任意两个字符

例如1:查找学号95001的学生

select *

from student

where 学号like '95001'

例如2:查找姓刘的学生的学号,姓名,和年龄

select 学号, 姓名, 年龄

from student

where 姓名like '刘%'

查找姓张的学生的学号,姓名,和年龄

select 学号, 姓名, 年龄

from student

where 姓名like '张__'

例如3:查找不姓张的学生的学号,姓名,和年龄

select 学号, 姓名, 年龄

from student

where 姓名not like '张__'

E: 多条件查询与或非查询

例如:查询计算机系统年龄大于20的学生

select *

from student

where 所在系in ('计算机') and 年龄>=20

例如2: 查找计算机系、英语系的所有学生

select *

from student

where 所在系='计算机'or 所在系='英语'

select *

from student

where 所在系='计算机'or 所在系='英语'or 年龄>=20

F: 几个特例

//查询前N行的记录

select top 3 *

from student

select top 5 课程号,成绩

from xk

//给字段起别名

select top 3 课程号as小命,成绩as小洞

from xk

//查询结果中带有提示信息

select top 3 课程号as课号,'考试成绩:',成绩

from xk

//求每个人的总分,最高分,最低分,平均分

select学号,sum(成绩)as考试总分,max(成绩)as最高分,min(成绩)as最低分,avg(成绩)as平均分

from xk

group by学号

order by考试总分desc,最高分asc

//模糊查询

select*from student

//查询第二个字是立的姓名

select姓名,年龄,所在系

from student

where姓名like'_立%'

//查询第二个字是小的姓名

select姓名,年龄,所在系

from student

where姓名like'_小%'

//查询张的姓名

select姓名,年龄,所在系

from student

where姓名like'张%'

//查询属性值为空的内容

insert into student(学号,姓名,年龄)values('1007','中国',20) insert into student(学号,姓名,年龄)values('1008','泰国',20) select*

from student

where性别is null

//查询属性值不为空的内容

select*

from student

where性别is not null

4. ORDER BY 排序

功能:对查询的结果按照一个或多个属性列升序或降序排列

例如1:查询选课表中的所有记录按成绩降序排列

select *

from sc

order by 成绩desc

例如2:查询选课表中选修3号课程的所有记录按成绩降序排列

select *

from sc

where 课程号='3'

order by 成绩desc

例如3:查询选课表中的所有记录先按选课号升序排列再按成绩降序排列,

select *

from sc

order by 课程号, 成绩desc

5.聚集函数的使用

1). SQL 的聚集函数及功能

Count ( distinct /all * ) : 统计记录的个数

Count ( distinct /all ) 列名:统计一列中值的个数

Sum( distinct /all ) 列名: 计算一列值的总和

Avg ( distinct /all ) 列名: 计算一列值的平均

Max ( distinct /all ) 列名: 计算一列值的最大值

Min ( distinct /all ) 列名: 计算一列值的最小值

说明:distinct: 计算时取消指定列中重复的值

/all :计算所有的值

例如:查询学生总人数

Select '学生人数', count(*)

from student

例如2:查询选修了课程的人数

select '选修了课程的人数', count( distinct 学号)

from sc

例如3:计算选修3号课程的平均成绩

select avg(成绩)

from sc

where 课程号in ('3')

例如4:计算95001学生的总成绩、平均成绩和最高分和最低分select sum(成绩) , avg(成绩), max(成绩), min(成绩)

from sc

where 学号='95001'

6. group by 分组语句

功能:按照某一列或多列的值分组,等值为一组。

分组后聚集函数将作用于每一个组,

例如:查询各个课程号,及选修的人数

select count(学号), 课程号

from sc

group by 课程号

例如2:查询每个学生的选修课程数

例如:查询各个课程号,及选修的人数

select 学号, count(课程号)

from sc

group by 学号

例如3:查询选修课程大于2门的学生的学号

select 学号, count(课程号)

from sc

group by 学号

having count(*) >2

HANING 短语对分组后的结果,从中选择满足条件的组

//分组操作

select*from student

//计算男女生的人数

select count(年龄)as人数

from student

group by性别

//计算每个系男女生的人数

select count(年龄)as人数

from student

where所在系in('计算机','英语')

group by性别

//求计算机系人数

select count(年龄)as人数

from student

group by所在系

having所在系='计算机'

7.使用compute 来进行分组小计,或计算总计,并将结果显示在查询结果的下方

//计算成绩>80分的平均成绩

select*

from xk

select*

from xk

where成绩>80

compute avg(成绩)

compute sum(成绩)

compute count(成绩)

compute max(成绩)

compute min(成绩)

8.使用compute by 来进行分类汇总计,第一步:对分类关键字先排序, 第二步用compute 表达式

by 分类关键字进行分类汇总

例://分类汇总计算每个人的总分

select学号,成绩

from xk

order by学号 // 排序

compute sum(成绩)by学号// 分类汇总

例:

//按性别计算年龄的总分

select性别,年龄

from student

order by性别

compute sum(年龄)by性别

//计算每个系所有学生的平均年龄

select所在系,年龄

from student

order by所在系

compute avg(年龄)by所在系

五:连接查询

1.连接查询:查询时涉及两个及两个以上的表

2.连接查询的类型:等值连接查询、非等值连接查询、自然连接查询、自身连接查询、外连接查询、

和复合连接查询。

3.等值与非等值连接查询

1)连接条件:连接查询中WHERE子句中用来连接两个表的条件也叫连接胃词

2)连接条件的格式1

表名1.列名1《比较运算符》表名2.列名2

比较符号> ,>= ,<= ,!=,<>不等于,!>不大于, !< 不小于

3)连接条件的格式2

表名1.列名1 BETWEEN 表名2.列名2 AND表名2.列名3

4) 说明:当连接运算符为=时称为等值连接,使用其他运算符为非等值连接

连接条件的字段为连接字段,连接字段的类型是可以比较的

例如1:查询每个学生的选课情况

select student.* , sc.*

from student ,sc

where student.学号=sc.学号

例如2:查询每个学生的选课情况的迪卡儿集

select student.* , sc.*

from student ,sc

例如3:查询学生表、课程表和选课表的迪卡儿集

select student.* , sc.*,course.*

from student ,sc,course

例如4:查询每个学生的详细情况

select student.* , sc.*,course.*

from student ,sc,course

where student.学号=sc.学号and sc.课程号=course.课程号

例如5:查询每个学生的课程号,学号和成绩

(注):课程号,学号在两类表中同名,出现的错误

select 学号, 姓名, 性别, 所在系, 课程号, 课程名, 先行课

from student,sc,course

服务器: 消息209,级别16,状态1,行 1

列名'学号' 不明确。

服务器: 消息209,级别16,状态1,行 1

列名'课程号' 不明确。

正确的为:

例如6:自然连接:在等值连接中把目标列重复的属性去掉为自然连接

select student.学号, 姓名, 性别, 所在系, sc.课程号, 课程名, 先行课

from student,sc,course

where student.学号=sc.学号and sc.课程号=course.课程号

4.自身连接

查询在一个表与自己进行连接,称为自身连接

例如:查询每门课程的先行课

select a.课程名,b.先行课

from course a, course b

where a.课程名=b.课程名

5外连接操作以指定表为连接主体,将主体表中不满足连接条件的元组一并输出,分为左右连接两种。

左外连接

?列出左边关系(如本例Student)中所有的元组

select student.* ,sc.*

from student left join sc on (student.学号=sc.学号)

右外连接

?列出右边关系中所有的元组

select student.* ,sc.*

from student right join sc on (student.学号=sc.学号)

6、复合条件连接

复合条件连接:WHERE子句中含多个连接条件

例1查询选修2号课程且成绩在90分以上的所有学生

SELECT Student.Sno, Sname

FROM Student, SC

WHERE Student.Sno = SC.Sno AND

/* 连接谓词*/

https://www.doczj.com/doc/df2328625.html,o= ‘2’ AND SC.Grade > 90;

/* 其他限定条件*/

六:嵌套查询概述

?一个SELECT-FROM-WHERE语句称为一个查询块

?将一个查询块嵌套在另一个查询块的WHERE子句或HA VING短语的条件中的查询称为嵌套查询

例如:

SELECT 姓名/*外层查询/父查询*/

FROM Student

WHERE 学号IN

(SELECT 学号/*内层查询/子查*/

FROM SC

WHERE 课程号= ' 2 ');

select *,

from student

where 学号in ( select 学号

from sc

where 课程号='3')

说明:

?子查询的限制

不能使用ORDER BY子句

?层层嵌套方式反映了SQL语言的结构化

?有些嵌套查询可以用连接运算替代

七:视图

1.视图: 视图是从一个或几个基本表导出的表,它是一个虚表,数据库中只储放视图的定义结构,

不存放视图对应的数据,这些数据仍存放在基本表中,基本表变化视图就变。

2.视图的特点:视图一经定义,和基本表一样可以被查询和删除,也可以在一个视图上定义多个视图。

3.定义视图

语句格式

CREATE VIEW

<视图名> [(<列名> [,<列名>]…)]

AS <子查询>

[WITH CHECK OPTION];

组成视图的属性列名:全部省略或全部指定

子查询不允许含有ORDER BY子句和DISTINCT短语

功能:建立一个视图在数据库中。

[例1] 建立信息系学生的视图。

CREATE VIEW Student_vn

AS

SELECT学号,姓名,年龄

FROM Student

WHERE所在系='计算机'

go

select*from student_vn

[例2]建立计算机系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有计算机系的学生。

CREATE VIEW Student_yy

AS

SELECT学号,姓名,年龄

FROM Student

WHERE所在系='英语'

WITH CHECK OPTION

go

select*from student_yy

go

说明:WITH CHECK OPTION表示对视图进行UPDATA ,INSERT, DELETE操作时要保证更新、插入、或删除的行满足视图定义中的要求。

数据库SQL语句

1、select x.商品代号,分类名,数量,品牌 From 商品表现1 x,商品表2 y Where x.商品代号=y.商品代号 (从商品库中查询出每一种商品的商品代号、分类名、数量和品牌等信息。)2、select distinct 产地 From商品表2 (从商品库中查询出所有商品的不同产地。) 3、select distinct 品牌 From 商品表2 (从商品库中查询出所有商品的不同品牌) 4、select count(distinct产地)as产地数From商品表2 (从商品库中查询出所有商品的不同产地的总数。) 5、select x.商品代号,分类名,产地,品牌 From商品表1 x.,商品表2 y Where x,商品代号=y.商品代号and (品牌=‘熊猫’or品牌=‘春兰’) (从商品库中查询出品牌为熊猫或春兰的所有商品的商品代号、分类名、产地和品牌。) 19、select 商品表1.商品代号,单价,数量,产地 From 商品表1,商品表2 Where 商品表达式1.商品代号=商品表达式2.商品代号 (从商品库中查询出每种商品的商品代号、单价、数量和产地。) 20、select count(*) From 商品表1 Where数量》10 (从商品库中查询出数量大于10的商品种数。) 21、select * From商品表1 Where数量between 10 and20 (从商品库中查询出数量在10和20之间的所有商品。) 22、select分类名,max(单价)as最高单价 From商品表1 Group by 分类名 (从商品库中查询出每类(即类名相同)商品的最高单价)23、select分类名,avg(数量)as平均 数量 From商品表1 Group by分类名 (从商品库中查询出每类(即分类名相 同)商品的平均数量) 24、select分类名,sum(数量)as总 数量 From商品表1 Group by分类名 (从商品库中查询出每类(即分类名相 同)商品的总数量。) 25、select* From商品表1 Where单价>all(select单价 From商品表1 Where分类名’电视机’) (从商品库中查询出比所有电视机的 单价都高的每种商品) 26、select* From商品表1 Where单价>all(select avg(单价) From商品表1) (从商品库中查询出比所有商品单价 的平均值要高的全部商品) 27、select* From商品表1 Where数量=some(select max(数量) From商品表1) (从商品库中查询出数量最多的一种 商品) 28、select distinct分类名 From商品表1. Group by 分类名having count(*)>1 (从商品库中查询出同一类商品多于一 种的所有分类名) 29、select商品表1.*,产地 From商品表1,商品表2 Where商品表1.商品代号=商品表2.商 品代事情and产地in( Select 产地 From商品表1 x ,商品表2 y Where x.商品代号=y.商品代号 Group by产地having count(*)=1) (从商品库中查询出同一产地的商品 只有一种的所有商品) 30、select*,单价*数量as总价值 From商品表1 Order by总价值desc (从商品库中查询出每种商品的总价 值,并按降序排列出来 6、select 学生。学生号,count(*)as选 课门数 From学生,选课 Where学生.学生号=选课.学生号 Group by 学生。学生号 (从教学库中查询出互个学生选课的 门数。) 7、select distinct x.* From 学生产x,选课y,选课z Where y.学生号=z.学生号and y .课程 号<>z.课程号and x.学生号=y.学生号 (从教学库中查询出至少选修了两门 课程的全部学生。) 8、select * From 学生 Where 学生号in (select 学生号 From 选课 Group by 学生号having coount (*)=1) (从教学库中查询出只选修了一门课 程的全部学生。) 9、select x.学生号,y.学生号,y.课程号 From 选课x,选课y Where x.学生号=@sl and y.学生号=@ s2 and x.课程号=y.课程号 (从教学库中查询出学生号为@s1的学 生和学生号为@s2的学生所选修的共 同课程的课程号。) 10、select x.* From 课程x,选课y Where x.课程号=y.课程号and y .学生 号=@s1 and y.课程号not in( select 课程号 from 选课 where 选课.学生号=@s2) (从教学库中查询出学生号为@S1的学 生所选修、而学生号为@s2的学生没有 选修的全部课程。) 11、select * From 课程 Where not exists( select * from 选课 where 课程.课程号=选课.课程号) (从教学库中查询出所有未被学生选 修的课程。) 12、select * From 课程 Where exists(Select * From 选课 Where 课程.课程号=选课.课程号) (从教学库中查询出所有已被学生选 修的课程。)

常用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 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 求和: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、说明:几个高级查询运算词

SQL Server2000常用语句

SQL Server 2000常用命令,语法使用方法 (1) 数据记录筛选: sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]" sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 in ('值1','值2','值3')" sql="select * from 数据表 where 字段名 between 值1 and 值2" (2) 更新数据记录: sql="update 数据表 set 字段名=字段值 where 条件表达式" sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式" (3) 删除数据记录: sql="delete from 数据表 where 条件表达式" sql="delete from 数据表" (将数据表所有记录删除) (4) 添加数据记录: sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)" sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表) (5) 数据记录统计函数: AVG(字段名) 得出一个表格栏平均值 COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计 MAX(字段名) 取得一个表格栏最大的值 MIN(字段名) 取得一个表格栏最小的值 SUM(字段名) 把数据栏的值相加 引用以上函数的方法:

sql语句大全1

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 --检索查询结果打开一个游标 FETCH --检索一行查询结果 CLOSE --关闭游标 PREPARE --为动态执行准备SQL 语句EXECUTE --动态地执行SQL 语句 DESCRIBE --描述准备好的查询

数据库基本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、d at' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 typ e2 [not null],、、) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definit ion 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

ORACLE常用SQL语句大全

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 nul l],..) 根据已有的表创建新表: A:select * into table_new from table_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only<仅适用于Oracle> 5、说明:删除表 drop table tablename

6、说明:增加一个列,删除一个列 A:alter table tabname add column col type B:alter table tabname drop column colname 注:DB2DB2中列加上后数据类型也不能改变,唯一能改变的是增加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 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。 B:EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。 C:INTERSECT 运算符 INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。 注:使用运算词的几个查询结果行必须是一致的。 12、使用外连接

数据库图书信息管理数据库SQL语句

实验 SQL语言 一、实验目的 1、理解数据库以及数据表的设计; 2、熟悉SQL Server2005中的数据类型; 3、熟悉使用SQL语句创建和删除模式和索引; 4、掌握使用SQL语句创建、修改和删除数据表; 5、掌握使用SQL语句查询表中的数据; 6、掌握使用SQL语句插入、修改和删除数据表中的数据; 7、掌握使用SQL语句创建、删除、查询和更新视图。 二、实验容 (一)创建数据库和模式 1、通过SQL语句创建图书信息管理数据库,命名为“db_Library”,数据文件和日志文件放在D盘下以自己学号和命名的文件夹中,数据文件的逻辑名为db_Library_data,数据文件的操作系统名为db_Library_data.mdf,文件初始大小为10MB,最大可增加至300MB,增幅为10%;日志文件的逻辑名为db_Library_log,日志文件的操作系统名为db_Library_data.ldf,文件初始大小为5MB,最大可增加至200MB,增幅为2MB。 2、通过SQL语句在该数据库中创建模式L-C。 (二)创建和管理数据表 要求为各数据表的字段选择合适的数据类型及名称;为各数据表设置相应的完整性约束条件。 1、通过SQL语句将以下数据表创建在L-C模式下: 课程信息表(tb_course)——课程编号Course number 、课程名Course name 、先修课The first course 、学分credit 2、通过SQL语句将以下数据表创建在该数据库的默认模式dbo下: 图书类别信息表(tb_booktype)——类别编号Type number 、类别名称Category name 图书信息表(tb_book)——图书编号ISBN 、类别编号Type number、书名title 、作者author、BookPublic、定价BookPrice、库存数Inventory number 读者信息表(tb_reader)——读者编号Reader ID 、、性别、学号Student ID 、班级、系部pastern 借阅信息表(tb_borrow)——图书编号、读者编号、借阅日期Borrowing date 、归还日期Return date 3、通过SQL语句对读者信息表进行修改:删除系部字段、添加所在系字段。 4、通过SQL语句对图书信息表进行修改:将定价的数据类型改为REAL。 5、通过SQL语句删除课程信息表。 (三)创建和删除索引 1、使用SQL语句在图书信息表上创建一个非聚簇索引IX_S_QUANTITY,要求按照该表中库存数字段的降序创建。 2、使用SQL语句在读者信息表上创建一个唯一的非聚簇索引IX_S_NAME,要求按照该表中的字段的升序创建。 3、使用SQL语句删除之前创建的两个索引。 (四)数据库及数据表设计

数据库经典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 注:索引是不可更改的,想更改必须删除重新建。

50个经典SQL查询语句

--一个题目涉及到的50个Sql语句 --(下面表的结构以给出,自己在数据库中建立表.并且添加相应的数据,数据要全面些. 其中Student表中,SId为学生的ID) ------------------------------------表结构-------------------------------------- --学生表tblStudent(编号StuId、姓名StuName、年龄StuAge、性别StuSex) --课程表tblCourse(课程编号CourseId、课程名称CourseName、教师编号TeaId) --成绩表tblScore(学生编号StuId、课程编号CourseId、成绩Score) --教师表tblTeacher(教师编号TeaId、姓名TeaName) --------------------------------------------------------------------------------- --1、查询“001”课程比“002”课程成绩高的所有学生的学号; Select StuId From tblStudent s1 Where (Select Score From tblScore t1 Where t1.StuId=s1.stuId And t1.CourseId='001')> (Select Score From tblScore t2 Where t2.StuId=s1.stuId And t2.CourseId='002') --2、查询平均成绩大于60分的同学的学号和平均成绩; Select StuId,Avg(Score) as AvgScore From tblScore Group By StuId Having Avg(Score)>60 --3、查询所有同学的学号、姓名、选课数、总成绩; Select StuId,StuName, SelCourses=(Select Count(CourseId) From tblScore t1 Where t1.StuId=s1.StuId), SumScore=(Select Sum(Score) From tblScore t2 Where t2.StuId=s1.StuId) From tblStudent s1 --4、查询姓“李”的老师的个数; Select Count(*) From tblTeacher Where TeaName like '李%' --5、查询没学过“叶平”老师课的同学的学号、姓名; Select StuId,StuName From tblStudent Where StuId Not In ( Select StuID From tblScore sc Inner Join tblCourse cu ON sc.CourseId=cu.CourseId Inner Join tblTeacher tc ON cu.TeaId=tc.TeaId Where tc.TeaName='叶平' ) --6、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名; Select StuId,StuName From tblStudent st Where (Select Count(*) From tblScore s1 Where s1.StuId=st.StuId And

数据库基本----sql语句大全

学会数据库是很实用D~~记录一些常用的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 X围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where X围 更新:update table1 set field1=value1 where X围 查找: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

50个常用sql语句实例(学生表 课程表 成绩表 教师表)

Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 create table Student(S# varchar(20),Sname varchar(10),Sage int,Ssex varchar(2)) 前面加一列序号: if exists(select table_name from information_schema.tables where table_name='Temp_Table') drop table Temp_Table go select 排名=identity(int,1,1),* INTO Temp_Table from Student go select * from Temp_Table go drop database [ ] --删除空的没有名字的数据库 问题: 1、查询“”课程比“”课程成绩高的所有学生的学号; select a.S# from (select s#,score from SC where C#='001') a,(select s#,score from SC where C#='002') b where a.score>b.score and a.s#=b.s#; 2、查询平均成绩大于分的同学的学号和平均成绩; select S#,avg(score) from sc group by S# having avg(score) >60; 3、查询所有同学的学号、姓名、选课数、总成绩; select Student.S#,Student.Sname,count(SC.C#),sum(score) from Student left Outer join SC on Student.S#=SC.S# group by Student.S#,Sname 4、查询姓“李”的老师的个数; select count(distinct(Tname)) from Teacher where Tname like '李%'; 5、查询没学过“叶平”老师课的同学的学号、姓名; select Student.S#,Student.Sname from Student

数据库SQL语句实验报告

《数据库原理及应用》实验报告SQL语句部分 :绩成总

实验一熟悉SQL SERVER,数据定义实验 实验一成绩: 一、实验目的 1、利用查询分析器创建数据库 2、利用查询分析器用SQL语言定义基本表、索引并进行相关操作 二、实验步骤及内容 在以下实验中,使用学生-课程数据库,它描述了学生的基本信息、课程的基本信息及学生选修课程的信息。 1.创建学生课程数据库 2.创建学生关系表S : 3.创建课程关系表C : 课程名学分先行课课程号Cno ccreditCname Cpno 4.创建课程关系表SC : 5.将以上创建表S、C、SC的SQL命令以 .SQL文件的形式保存在磁盘上。 6、在表S上增加“出生日期”属性列。 7、删除表S的“年龄”属性列。 8、删除S姓名列的唯一值约束。 9、修改SC表成绩属性列为精确数字型。 10、在表S上,按“Sno”属性列的唯一值方式建立索引。 11、删除表SC,利用磁盘上保存的.SQL文件重新创建表SC。 12、创建教材P74页习题5中SPJ数据库中的四个关系:S、P、J、SPJ。 三、实验结果: 1.创建学生课程数据库 ; Studend create database2.创建学生关系表S : S create table(, 9Sno CHAR()PRIMARYKEY UNIQUE,)(Sname CHAR20CHAR Ssex (2), smallint Sage ,

char Sdept 20(), ); .创建课程关系表C 3: 课程号课程名先行课学分 ccredit Cpno CnoCname table C create (primary key,) Cno char(4Cname CHAR(40 ),char(), 4Cpno ,Ccredit SMALLINT); 4.创建课程关系表SC : 学号课程号成绩 grade Sno Cno createtable SC(9),Sno char(),char Cno (4, Grade smallint); 5.将以上创建表S、C、SC的SQL命令以 .SQL文件的形式保存在磁盘上。 6、在表S上增加“出生日期”属性列。 ;datetimeadd Sbirthday alter table S 7、删除表S的“年龄”属性列。

SAS中的SQL语句大全

S A S中的S Q L语句大 全 标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]

SAS中的SQL语句完全教程之一:SQL简介与基本查询功能 本系列全部内容主要以《SQL Processing with the SAS System (Course Notes)》为主进行讲解,本书是在网上下载下来的,但忘了是在哪个网上下的,故不能提供下载链接了,需要的话可以发邮件向我索取,我定期邮给大家,最后声明一下所有资料仅用于学习,不得用于商业目的,否则后果自负。 1 SQL过程步介绍 SQL过程步可以实现下列功能: 查询SAS数据集、从SAS数据集中生成报表、以不同方式实现数据集合并、创建或删除SAS数据集、视图、索引等、更新已存在的数据集、使得SAS系统可以使用SQL语句、可以和SAS的数据步进行替换使用。注意,SQL过程步并不是用来代替SAS数据步,也不是一个客户化的报表工具,而是数据处理用到的查询工具。 SQL过程步的特征 SQL过程步并不需要对每一个查询进行重复、每条语句都是单独处理、不需要print过程步就能打印出查询结果、也不用sort过程步进行排序、不需要run、要quit来结束SQL 过程步 SQL过程步语句 SELECT:查询数据表中的数据 ALTER:增加、删除或修改数据表的列 CREATE:创建一个数据表

DELETE:删除数据表中的列 DESCRIBE:列出数据表的属性 DROP:删除数据表、视图或索引 INSERT:对数据表插入数据 RESET:没用过,不知道什么意思 SELECT:选择列进行打印 UPDATE:对已存在的数据集的列的值进行修改 2 SQL基本查询功能 SELECT语句基本语法介绍 SELECT object-item <, ...object-item> FROM from-list > >;这里SELECT:指定被选择的列

渗透常用SQL注入语句大全

渗透常用S Q L注入语句 大全 Document serial number【KKGB-LBS98YT-BS8CB-BSUT-BST108】

1.判断有无注入点;a n d1=1a n d1= 2 2.猜表一般的表的名称无非是adminadminuseruserpasspassword等.. and0<>(selectcount(*)from*) and0<>(selectcount(*)fromadmin)—判断是否存在admin这张表 3.猜帐号数目如果遇到0<返回正确页面1<返回错误页面说明帐号数目就是1个 and0<(selectcount(*)fromadmin) and1<(selectcount(*)fromadmin) 4.猜解字段名称在len()括号里面加上我们想到的字段名称. ? 1 2 3and1=(selectcount(*)fromadminwherelen(*)>0)– and1=(selectcount(*)fromadminwherelen(用户字段名称name)>0) and1=(selectcount(*)fromadminwherelen(_blank>密码字段名称password)>0) 5.猜解各个字段的长度猜解长度就是把>0变换直到返回正确页面为止 ? 1 2 3 4 5 6 7 8and1=(selectcount(*)fromadminwherelen(*)>0) and1=(selectcount(*)fromadminwherelen(name)>6)错误 and1=(selectcount(*)fromadminwherelen(name)>5)正确长度是6 and1=(selectcount(*)fromadminwherelen(name)=6)正确 and1=(selectcount(*)fromadminwherelen(password)>11)正确 and1=(selectcount(*)fromadminwherelen(password)>12)错误长度是12 and1=(selectcount(*)fromadminwherelen(password)=12)正确 6.猜解字符 and1=(selectcount(*)fromadminwhereleft(name,1)=a)—猜解用户帐号的第一位and1=(selectcount(*)fromadminwhereleft(name,2)=ab)—猜解用户帐号的第二位就这样一次加一个字符这样猜,猜到够你刚才猜出来的多少位了就对了,帐号就算出来 了 and1=(selecttop1count(*)fromAdminwhereAsc(mid(pass,5,1))=51)–

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.doczj.com/doc/df2328625.html,O=https://www.doczj.com/doc/df2328625.html,O 例11 删除视图GRADE_TABLE DROP VIEW GRADE_TABLE RESTRICT 索引操作 例12 在学生表中按学号建立索引。 CREATE UNIQUE INDEX ST ON STUDENTS (SNO,ASC) 例13 删除按学号所建立的索引。 DROP INDEX ST 数据库模式操作

相关主题
文本预览
相关文档 最新文档