sql语句总结

sql语句总结
sql语句总结

一.SQL 基础教程

1.一定要记住,SQL 对大小写不敏感!

1.可以把SQL 分为两个部分:数据操作语言(DML) 和数据定义语言(DDL)。

2.SQL SELECT DISTINCT 语句:用于返回唯一不同的值。

3.SQL WHERE 子句:

4.SQL AND & OR 运算符:

SELECT * FROM Persons WHERE FirstName='Thomas' AND(or) LastName='Carter'

5.SQL ORDER BY 子句:

降序:使用DESC 关键字;

升序:使用ASC 关键字;----默认

6.SQL INSERT INTO 语句:

INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing');

7.SQL UPDATE 语句

UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson'

8.SQL DELETE 语句:

某行:DELETE FROM Person WHERE LastName = 'Wilson'

所有:DELETE FROM table_name 或:DELETE * FROM table_name

二.SQL 基础教程

1.SQL TOP 子句:TOP 子句用于规定要返回的记录的数目。

注:并非所有的数据库系统都支持TOP 子句。

SQL Server 的语法:

SELECT TOP number|percent column_name(s) FROM table_name

MySQL 语法

SELECT column_name(s) FROM table_name LIMIT number

如:SELECT * FROM Persons LIMIT 5

Oracle 语法

SELECT column_name(s) FROM table_name WHERE ROWNUM <= number

如:SELECT * FROM Persons WHERE ROWNUM <= 5

SELECT TOP 2 * FROM Persons

SELECT TOP 50 PERCENT * FROM Persons

2.SQL LIKE 操作符:在WHERE 子句中搜索列中的指定模式

SELECT * FROM Persons WHERE City NOT LIKE '%lon%'

3.SQL 通配符:SQL 通配符必须与LIKE 运算符一起使用。

SELECT * FROM Persons WHERE City LIKE '[!ALN]%'

4.SQL IN 操作符:在WHERE 子句中规定多个值

SELECT * FROM Persons WHERE LastName IN ('Adams','Carter')

5.SQL BETWEEN 操作符:作用是选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

SELECT * FROM Persons WHERE LastName NOT BETWEEN 'Adams' AND 'Carter'

注:不同的数据库对BETWEEN...AND 操作符的处理方式是有差异的--是否包含头尾

6.SQL Alias(别名):可以为列名称和表名称指定别名

SELECT https://www.360docs.net/doc/3817025875.html,stName AS Family, p.FirstName AS Name FROM Persons AS p

7.SQL JOIN:根据两个或多个表中的列之间的关系,从这些表中查询数据。

INNER JOIN :SELECT column_name(s) FROM table_name1 INNER

JOIN table_name2 ON table_name1.column_name=table_name2.column_name

注释:INNER JOIN 与JOIN 是相同的。

LEFT JOIN:SELECT column_name(s) FROM table_name1 LEFT JOIN

table_name2 ON table_name1.column_name=table_name2.column_name

注释:在某些数据库中,LEFT JOIN 称为LEFT OUTER JOIN。

RIGHT JOIN:SELECT column_name(s) FROM table_name1 RIGHT JOIN

table_name2 ON table_name1.column_name=table_name2.column_name FULL JOIN:SELECT column_name(s) FROM table_name1 FULL JOIN

table_name2 ON table_name1.column_name=table_name2.column_name

注释:在某些数据库中,FULL JOIN 称为FULL OUTER JOIN。

8.SQL UNION 和UNION ALL 操作符:合并两个或多个SELECT 语句的结果集。

注:列数量相同,列的数据类型,每条SELECT列顺序相同。

SELECT E_Name FROM Employees_ChinaUNION ALL

SELECT E_Name FROM Employees_USA

9.SQL SELECT INTO 语句:可用于创建表的备份复件---可添加where子句

从一个表中选取数据,然后把数据插入另一个表中。

常用于创建表的备份复件或者用于对记录进行存档。

a) 表的备份复件:SELECT *INTO Persons_backup FROM Persons

b) 向另一个数据库中拷贝表:--使用in子句

SELECT *INTO Persons IN 'Backup.mdb' FROM Persons

c) 拷贝某些域:SELECT LastName,FirstNameINTO Persons_backup FROM Persons

10.SQL CREATE DATABASE 语句:用于创建数据库。

CREATE DATABASE database_name

11.SQL CREATE TABLE 语句:用于创建数据库中的表。

CREATE TABLE 表名称(列名称1 数据类型,......)

12.SQL 约束(Constraints):用于限制加入表的数据的类型。

a)创建表时规定约束

b)创建之后也可以(通过ALTER TABLE 语句)。

13.SQL NOT NULL 约束:

CREATE TABLE Persons(Id_P int NOT NULL,......);

14.SQL UNIQUE 约束:

注:UNIQUE 和PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。

PRIMARY KEY 拥有自动定义的UNIQUE 约束。

一个表可有多个UNIQUE 约束,只能有一个PRIMARY KEY 约束。

创表时定义:

(1) MySQL:----无命名

CREATE TABLE Persons(Id_P int NOT NULL,

City varchar(255),......,UNIQUE (Id_P)

)

SQL Server / Oracle / MS Access:----无命名

CREATE TABLE Persons (Id_P int NOT NULL UNIQUE,

......

City varchar(255)

)

(2) MySQL / SQL Server / Oracle / MS Access:----命名约束,并定义多列约束

CREATE TABLE Persons(Id_P int NOT NULL,

......

City varchar(255),

CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)

)

(3)表已经创建--无命名:ALTER TABLE PersonsADD UNIQUE (Id_P);

(4)表已经创建--命名:

ALTER TABLE Persons ADD CONSTRAINT uc_PersonID UNIQUE

(Id_P,LastName);

(5)撤销UNIQUE 约束:

MySQL:

ALTER TABLE Persons DROP INDEX uc_PersonID;

SQL Server / Oracle / MS Access:

ALTER TABLE Persons DROP CONSTRAINT uc_PersonID;

15.SQL PRIMARY KEY 约束----唯一、非空、只能定义一个

注:用法与14.UNIQUE相同

16.SQL FOREIGN KEY 约束:A表中的FOREIGN KEY 指向B表中的PRIMARY KEY。

创建时定义:--无命名

a.MySQL:

CREATE TABLE Orders(

Id_O int NOT NULL,

......

Id_P int,

PRIMARY KEY (Id_O),

FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)

)

b.SQL Server / Oracle / MS Access:

CREATE TABLE Orders(

Id_O int NOT NULL PRIMARY KEY,

OrderNo int NOT NULL,

Id_P int FOREIGN KEY REFERENCES Persons(Id_P)

)

创建时定义:--命名

CREATE TABLE Orders(

Id_O int NOT NULL,

......

Id_P int,

PRIMARY KEY (Id_O),

CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)

)

创建后添加:--无命名

ALTER TABLE OrdersADD FOREIGN KEY (Id_P)REFERENCES

Persons(Id_P)

创建后添加:--命名

ALTER TABLE OrdersADD CONSTRAINT fk_PerOrders

FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)

撤销:

MySQL:

ALTER TABLE OrdersDROP FOREIGN KEY fk_PerOrders;

SQL Server / Oracle / MS Access:

ALTER TABLE OrdersDROP CONSTRAINT fk_PerOrders;

17.SQL CHECK 约束:用于限制列中的值的范围。

注:对单列定义CHECK 约束,那么该列只允许特定的值。

对表定义CHECK 约束,那么此约束会在特定的列中对值进行限制。

创建时定义:--无命名

a.My SQL:

CREATE TABLE Persons(

Id_P int NOT NULL,

......,

CHECK (Id_P>0)

)

b.SQL Server / Oracle / MS Access:

CREATE TABLE Persons(

Id_P int NOT NULL CHECK (Id_P>0),

......

)

创建时定义:---带命名,以及多列

CREATE TABLE Persons(

Id_P int NOT NULL,

......,

City varchar(255),

CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes') )

创建后添加:--无命名

ALTER TABLE PersonsADD CHECK (Id_P>0)

创建后添加:--命名

ALTER TABLE PersonsADD CONSTRAINT chk_Person CHECK (

Id_P>0 AND City='Sandnes');

撤销CHECK 约束:

a.MySQL:ALTER TABLE PersonsDROP CHECK chk_Person;

b.SQL Server / Oracle / MS Access:

ALTER TABLE PersonsDROP CONSTRAINT chk_Person;

18.SQL DEFAULT 约束:无规定其他的值,将默认值添加到所有的新记录

创建时定义:

CREATE TABLE Persons(

......,

City varchar(255) DEFAULT 'Sandnes'

)

创建后添加:

a.MySQL:ALTER TABLE Persons ALTER City SET DEFAULT 'SANDNES'

b.SQL Server / Oracle / MS Access:

ALTER TABLE Persons ALTER COLUMN City SET DEFAULT 'SANDNES' 撤销DEFAULT 约束:

a.MySQL:ALTER TABLE Persons ALTER City DROP DEFAULT

b.SQL Server / Oracle / MS Access:

ALTER TABLE Persons ALTER COLUMN City DROP DEFAULT

19.SQL CREATE INDEX 语句:表中创建索引,在不读取整个表的情况下,索引使数据库

应用程序可以更快地查找数据。

注:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。

创建索引,允许使用重复值:---无命名(多列用逗号分开)-

可降序索引某个列中的值(DESC)

CREATE INDEX index_name ON table_name (column_name DESC) 创建唯一索引:两个行不能拥有相同的索引值:---无命名

CREATE UNIQUE INDEX index_name ON table_name (column_name)

20.SQL 撤销索引、表以及数据库:

(1)删除索引:SQL DROP INDEX

Microsoft SQLJet (以及Microsoft Access):

DROP INDEX index_name ON table_name

MS SQL Server :

DROP INDEX table_name.index_name

IBM DB2 和Oracle:

DROP INDEX index_name

MySQL:

ALTER TABLE table_name DROP INDEX index_name (2)删除表:SQL DROP TABLE (表结构、属性以及索引也会被删除)

DROP TABLE 表名称

(3)删除数据库:SQL DROP DATABASE

DROP DATABASE 数据库名称

(4)仅删除表数据:SQL TRUNCATE TABLE---保留表结构

TRUNCATE TABLE 表名称

21.SQL ALTER TABLE 语句:用于在已有的表中添加、修改或删除列。

添加列:ALTER TABLE table_name ADD column_name datatype

修改列:ALTER TABLE table_name ALTER COLUMN column_name datatype 删除列:ALTER TABLE table_name DROP COLUMN column_name 【注】:某些数据库系统不允许这种在数据库表中删除列的方式(DROP COLUMN column_name)。

22.SQL AUTO INCREMENT 字段:在新记录插入表中时生成一个唯一的数字。

注:AUTO_INCREMENT 的默认开始值是1,每条新记录递增1。

修改初始值:ALTER TABLE Persons AUTO_INCREMENT=100 MySQL 的语法:

CREATE TABLE Persons(

P_Id int NOT NULL AUTO_INCREMENT,

LastName varchar(255) NOT NULL,

......,

PRIMARY KEY (P_Id)

)

SQL Server 的语法:IDENTITY 的开始值是1,每条新记录递增1。

CREATE TABLE Persons(

P_Id int PRIMARY KEY IDENTITY,

......,

City varchar(255)

)

Access 的语法:

CREATE TABLE Persons(

P_Id int PRIMARY KEY AUTOINCREMENT,

......,

City varchar(255)

)

Oracle 的语法:

必须创建sequence:CREATE SEQUENCE seq_person

MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 10 使用(nextval 函数):INSERT INTO Persons (P_Id,FirstName,LastName) VALUES (seq_person.nextval,'Lars','Monsen')

23.SQL VIEW(视图):创建、更新和删除

注:视图总是显示最近的数据。每当用户查询视图时,数据库引擎通过使用SQL 语句来重建数据。

创建:CREATE VIEW [Current Product List] ASSELECT

ProductID,ProductNameFROM ProductsWHERE Discontinued=No 查询:SELECT * FROM [Current Product List]---可以添加where查询条件更新视图:CREATE OR REPLACE VIEW view_name AS SELECT

column_name(s) FROM table_name WHERE condition 撤销视图:DROP VIEW view_name

24.SQL Date 函数

提示:如果您希望使查询简单且更易维护,那么请不要在日期中使用时间部分!

25.SQL NULL 值:查询--IS NULL 操作符,IS NOT NULL 操作符

注:无法比较NULL 和0;它们是不等价的。

无法使用比较运算符来测试NULL 值,比如=, <, 或者<>。

含NULL计算:

SQL Server / MS Access:

SELECT ProductName,UnitPrice*(UnitsInStock+

ISNULL(UnitsOnOrder,0)) FROM Products Oracle:

SELECT ProductName,UnitPrice*(UnitsInStock+

NVL(UnitsOnOrder,0)) FROM Products

MySQL:

SELECT ProductName,UnitPrice*(UnitsInStock+

IFNULL(UnitsOnOrder,0)) FROM Products

SELECT ProductName,UnitPrice*(UnitsInStock+

COALESCE(UnitsOnOrder,0)) FROM Products 26.SQL 数据类型:

27.SQL 服务器- RDBMS:现代的SQL 服务器构建在RDBMS 之上。

三.SQL 函数

1.SQL 函数:

内建SQL 函数的语法是:SELECT function(列) FROM 表

函数的类型:在SQL 中,基本的函数类型和种类有若干种。函数的基本类型是:Aggregate (合计)函数:(操作面向一系列的值,并返回一个单一的值。)

Scalar 函数:(操作面向某个单一的值,并返回基于输入值的一个单一的值。)

2.SQL A VG 函数

SELECT Customer FROM Orders WHERE OrderPrice>( SELECT A VG(OrderPrice) FROM Orders)

3.SQL COUNT() 函数

SELECT COUNT(Customer) AS CustomerNilsen FROM Orders WHERE Customer='Carter'

SELECT COUNT(DISTINCT column_name) FROM table_name

4.SQL FIRST() 函数:

SELECT FIRST(column_name) FROM table_name

提示:可使用ORDER BY 语句对记录进行排序。

5.SQL LAST() 函数:

SELECT LAST(OrderPrice) AS LastOrderPrice FROM Orders

提示:可使用ORDER BY 语句对记录进行排序。

6.SQL MAX() 函数、MIN() 函数、SUM() 函数

SELECT MAX(column_name) FROM table_name

SELECT MIN(column_name) FROM table_name

SELECT SUM(OrderPrice) AS OrderTotal FROM Orders

7.SQL GROUP BY 语句:合计函数(比如SUM) 常常需要添加GROUP BY 语句

SELECT Customer,OrderDate,SUM(OrderPrice) FROM Orders GROUP

BY Customer,OrderDate

8.SQL HA VING 子句:

注:增加该函数的原因是WHERE 关键字无法与合计函数一起使用

SELECT Customer,SUM(OrderPrice) FROM Orders WHERE

Customer='Bush' OR Customer='Adams' GROUP BY Customer

HA VING SUM(OrderPrice)>1500

9.SQL UCASE() 函数、LCASE() 函数

转换为大写:SELECT UCASE(column_name) FROM table_name

转换为小写:SELECT LCASE(LastName) as LastName,FirstName FROM Persons

10.SQL MID() 函数:从文本字段中提取字符。

SELECT MID(City,1,3) as SmallCity FROM Persons

SQL LEN() 函数:返回文本字段中值的长度。

SELECT LEN(City) as LengthOfCity FROM Persons

11.SQL ROUND() 函数:把数值字段舍入为指定的小数位数。(四舍五入)

SELECT ProductName, ROUND(UnitPrice,0) as UnitPrice FROM Products

12.SQL NOW() 函数:返回当前的日期和时间。

SELECT ProductName, UnitPrice, Now() as PerDate FROM Products

提示:如果您在使用Sql Server 数据库,请使用getdate() 函数来获得当前的日期时间。

13.SQL FORMA T() 函数

SELECT ProductName, UnitPrice, FORMAT(Now(),'YYYY-MM-DD') as PerDate FROM Products

四、SQL 快速参考

SQL 语句

语句语法

AND / OR SELECT column_name(s) FROM table_nameWHERE condition

AND|OR condition

ALTER TABLE (add column) ALTER TABLE table_name ADD column_name datatype ALTER TABLE (drop column) ALTER TABLE table_name DROP COLUMN column_name AS (alias for column) SELECT column_name AS column_alias FROM table_name

AS (alias for table) SELECT column_name FROM table_name AS table_alias

BETWEEN SELECT column_name(s) FROM table_name WHERE

column_name BETWEEN value1 AND value2

CREATE DATABASE CREATE DATABASE database_name

CREATE INDEX CREATE INDEX index_name ON table_name (column_name)

CREATE TABLE CREATE TABLE table_name(

column_name1 data_type,

column_name2 data_type,

.......

)

CREATE UNIQUE INDEX CREATE UNIQUE INDEX index_name ON table_name

(column_name)

CREATE VIEW CREATE VIEW view_name AS SELECT column_name(s)

FROM table_name WHERE condition

DELETE FROM DELETE FROM table_name (Note: Deletes the entire table!!)

Or DELETE FROM table_name WHERE condition DROP DA TABASE DROP DA TABASE database_name

DROP INDEX DROP INDEX table_name.index_name

DROP TABLE DROP TABLE table_name

GROUP BY SELECT column_name1,SUM(column_name2) FROM table_name

GROUP BY column_name1

HA VING SELECT column_name1,SUM(column_name2) FROM table_name

GROUP BY column_name1 HA VING SUM(column_name2)

condition value

IN SELECT column_name(s) FROM table_name WHERE

column_name IN (value1,value2,..)

INSERT INTO INSERT INTO table_name V ALUES (value1, value2,....) Or

INSERT INTO table_name ( column_name1,column_name2,...)

V ALUES (value1, value2,....)

LIKE SELECT column_name(s) FROM table_name WHERE

column_name LIKE pattern

ORDER BY SELECT column_name(s) FROM table_name ORDER BY

column_name [ASC|DESC]

SELECT SELECT column_name(s) FROM table_name

SELECT * SELECT * FROM table_name

SELECT DISTINCT SELECT DISTINCT column_name(s) FROM table_name

SELECT INTO

(used to create backup copies of tables) SELECT * INTO new_table_name FROM original_table_name Or SELECT column_name(s) INTO new_table_name

FROM original_table_name

TRUNCATE TABLE

(deletes only the data inside the table)

TRUNCATE TABLE table_name

UPDA TE UPDA TE table_name SET column_name=new_value[,

column_name=new_value] WHERE column_name=some_value WHERE SELECT column_name(s) FROM table_name WHERE condition

2021年SQL语句大全实例

SQL语句实例 欧阳光明(2021.03. 07) 表操作 例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)

*欧阳光明*创编2021.03.07 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);

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学习总结

SQL学习 2.1 SQL 简介 当面对一个陌生的数据库是,通常需要一种方式与它进行交换,以完成用户所需要的各种工作,这个时候,就要用到SQL语言了,由于SQL 语言的标准化,所以大多数关系型数据库系统都支持SQL语言,它已经发展成多种平台进行交互操作的底层会话语言。 2.2 SQL 使用入门 2.2.1 SQL分类 SQL 语句主要可以划分为以下3个类别 1)、DDL (Data Definition Languages)语句:数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。常用的语句关键字主要包括create、drop、alter等。 2)、DML(Data Manipulation Languagr)语句:数据操作语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性。常用的语句关键字主要包括insert、delete、update和select等。 3)、DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别、主要的语句关键字包括grant、revoke等。 2.2.2 DDL 语句 DDL是数据定义语言的缩写,是对数据库内部的对象进行创建(create)、删除(drop)、修改(alter)的操作语言,它和DML语句的最大区别是DML只是对表内部数据的操作,而不涉及表定义,结构的修改,更不会涉及其它的对象,DDL语句更多地被数据库管理员(DBA)所使用,一般开发人员很少使用。 下面通过一些例子来介绍MySQL中常用的DDL语句的使用方法。 1、创建数据库 因为所有的数据都存储在数据库中,因此需要学习的第一个命令是创建数据库,语法如下:

数据库_经典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

数据库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 tab name(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的语法很精妙,查资料!

数据库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语句--Group By总结

1 SQL语句--Group By总结 1. Group By 语句简介: Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”。它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。 P.S. 这里真是体会到了一个好的命名的力量,Group By从字面是直接去理解是非常好理解的。恩,以后在命名的环节一定要加把劲:)。话题扯远了。 2. Group By 的使用: 上面已经给出了对Group By语句的理解。基于这个理解和SQL Server 2000的联机帮助,下面对Group By语句的各种典型使用进行依次列举说明。 2.1 Group By [Expressions]: 这个恐怕是Group By语句最常见的用法了,Group By + [分组字段](可以有多个)。在执行了这个操作以后,数据集将根据分组字段的值将一个数据集划分成各个不同的小组。比如有如下数据集,其中水果名称(FruitName)和出产国家(ProductPlace)为联合主键: FruitName ProductPlace Price Apple China $1.1 Apple Japan $2.1 Apple USA $2.5 Orange China $0.8 Banana China

$3.1 Peach USA $3.0 如果我们想知道每个国家有多少种水果,那么我们可以通过如下SQL语句来完成: SELECTCOUNT(*)AS水果种类,ProductPlaceAS出产国 FROMT_TEST_FRUITINFO GROUPBYProductPlace 这个SQL语句就是使用了Group By + 分组字段的方式,那么这句SQL语句就可以解释成“我按照出产国家(ProductPlace)将数据集进行分组,然后分别按照各个组来统计各自的记录数量。”很好理解对吧。这里值得注意的是结果集中有两个返回字段,一个是ProductPlace(出产国), 一个是水果种类。如果我们这里水果种类不是用Count(*),而是类似如下写法的话: SELECTFruitName,ProductPlaceFROMT_TEST_FRUITINFOGROUPBYProductPlace 那么SQL在执行此语句的时候会报如下的类似错误: 选择列表中的列'T_TEST_FRUITINFO.FruitName'无效,因为该列没有包含在聚合函数或GROUPBY子句中。 这就是我们需要注意的一点,如果在返回集字段中,这些字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中。我们可以将Group By操作想象成如下的一个过程,首先系统根据SELECT 语句得到一个结果集,如最开始的那个水果、出产国家、单价的一个详细表。然后根据分组字段,将具有相同分组字段的记录归并成了一条记录。这个时候剩下的那些不存在于Group By语句后面作为分组依据的字段就有可能出现多个值,但是目前一种分组情况只有一条记录,一个数据格是无法放入多个数值的,所以这里就需要通过一定的处理将这些多值的列转化成单值,然后将其放在对应的数据格中,那么完成这个步骤的就是聚合函数。这就是为什么这些函数叫聚合函数(aggregate functions)了。 2.2 Group By All [expressions] : Group By All + 分组字段, 这个和前面提到的Group By [Expressions]的形式多了一个 关键字ALL。这个关键字只有在使用了where语句的,且where条件筛选掉了一些组的情况才可以看出效果。在SQL Server 2000的联机帮助中,对于Group By All是这样进行描述的:

最新常用经典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

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` 代码:SELECT TOP 20 PERCENT * FROM `testtable` (二) FROM子句 FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。 在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列 所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应

SQL语句从大到小排序

根据下面三个关系模式完成下面习题:答案已设为白色需要就全选设为黑色学生表student 第一章课件:编写基本的sql语句。 1.查询所有学生情况。 3.查询所有学生的姓名,性别以及年龄。 5.查询所有学生10年后的年龄。 7.查询所有课程(列名用中文显示)。 9.查看竟有那些学生选课(重复学号显示一次)。 11.显示课程表的边结构。第二章课件:约束和排序数据。 01.查询计算机系的所有学生的姓名和年龄。 02.查询体育课的学分。 03.查询年龄小于18的学生。 04.查询年龄大于20的学生。 05.查询年龄介于18和20之间的学生(包括18和20)。 06.查询年龄不在18和20之间的学生。 07.查询年龄为18,20,22的学生。 08.查询年龄不是18,20,22的学生。 09.查询所有姓张的学生。 10.查询所有没有先行课的课程。 11.查询有先行课的课程。 12.在计算机系中找,姓张的男生。 13.在计算机系中找,姓张的或者姓李的男生并且按照年龄从大到小排序。 14.查询所有学生信息,显示结果先按系从大到小排序,再按年龄排序。 第三章课件:多表查询 1.查询每个学生(学号)选了哪门课(课程)得了多少分 2.查询每个学生(姓名)选了哪门课(课程号)得了多少分 3.查询每个学生(姓名)选了哪门课(课程名)得了多少分 4.查询一下王林选可哪门课得了多少分。 5.查询每个学生的成绩类别(优、良还是及格)。 6.查询哪个学生没有选课(用外查询)。 7.查询哪门课没有人选(用外查询)。 第四章课件:组函数

1.查询一下所有课程的平均分,最高分,最低分和总分数。 2.查询一下有多少个学生参加选课。 3.查询一下计算机系有多少人过20岁。 4.统计一下计算机系的男生多少人。 5.查询一下每个学生考试的最高分和最低分。 6.查询每门课(课程号)的最高分和最底分。 7.查询每门课(课程名)的最高分和最底分。 8.查询计算机系中男生多少人,女生多少人。 9,查询人数在三百人以上的系。 10.查询选修人数在三人(包括三人)的课程(课程名)。 11.查询各科考试成绩最低的同学。 12.查询考试成绩小于所选课程平均分的人。(有能力的同学选做) 第五章课件:子查询 1.查询所有比王林大的同学信息。 2.查询和王林同在一个系的所有学生信息。 3.查询一下谁的成绩(所有成绩)最低。 4.查询一下每门课成绩最底的同学(要姓名,和成绩)。 5.查询一下哪个学生没有选课(用子查询)。 6.查询一下哪门课没有人选(用子查询)。 7.查询一下和王林一个系,但是比他年龄大的同学。 第六章课件:ddl语句 1.创建以上四个表,要求每个表必须有主键,表和表之间必须有外间关联。 3.写出insert语句,给表添加以上数据。 5.提交所有操作。 7.将王林的年龄设置为空。 9.将张大民调到计算机系。 11.将体育课的学分设置成和管理学学分一样(update 中带有子查询)。 13.回滚所有操作。 9.某公司印了一批充值卡,卡的密码是随机生成的,现在出现这个问题:卡里面的“o和0”(哦和零)“i和1”(哎和一),用户反映说看不清楚,公司决定,把存储在数据

常用经典SQL语句大全完整版教学文案

常用经典S Q L语句大 全完整版

常用经典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….)

数据库经典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

50个经典sql语句总结

一个项目涉及到的50个Sql语句(整理版) --1.学生表 Student(S,Sname,Sage,Ssex) --S 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别--2.课程表 Course(C,Cname,T) --C --课程编号,Cname 课程名称,T 教师编号 --3.教师表 Teacher(T,Tname) --T 教师编号,Tname 教师姓名 --4.成绩表 SC(S,C,score) --S 学生编号,C 课程编号,score 分数 */ --创建测试数据 create table Student(S varchar(10),Sname nvarchar(10),Sage datetime,Ssex nvarchar(10)) insert into Student values('01' , N'赵雷' , '1990-01-01' , N'男') insert into Student values('02' , N'钱电' , '1990-12-21' , N'男') insert into Student values('03' , N'孙风' , '1990-05-20' , N'男') insert into Student values('04' , N'李云' , '1990-08-06' , N'男') insert into Student values('05' , N'周梅' , '1991-12-01' , N'女') insert into Student values('06' , N'吴兰' , '1992-03-01' , N'女') insert into Student values('07' , N'郑竹' , '1989-07-01' , N'女') insert into Student values('08' , N'王菊' , '1990-01-20' , N'女') create table Course(C varchar(10),Cname nvarchar(10),T varchar(10)) insert into Course values('01' , N'语文' , '02') insert into Course values('02' , N'数学' , '01') insert into Course values('03' , N'英语' , '03') create table Teacher(T varchar(10),Tname nvarchar(10)) insert into Teacher values('01' , N'张三') insert into Teacher values('02' , N'李四') insert into Teacher values('03' , N'王五') create table SC(S varchar(10),C varchar(10),score decimal(18,1)) insert into SC values('01' , '01' , 80) insert into SC values('01' , '02' , 90) insert into SC values('01' , '03' , 99) insert into SC values('02' , '01' , 70) insert into SC values('02' , '02' , 60) insert into SC values('02' , '03' , 80) insert into SC values('03' , '01' , 80) insert into SC values('03' , '02' , 80) insert into SC values('03' , '03' , 80) insert into SC values('04' , '01' , 50) insert into SC values('04' , '02' , 30) insert into SC values('04' , '03' , 20) insert into SC values('05' , '01' , 76) insert into SC values('05' , '02' , 87)

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

相关文档
最新文档