此文章来自地址在最下面:数据库基础语法
1.SQL全称是“结构化查询语言(Structured Query Language)”.
SQL语言主要有5部分组成:
数据定义语言(DDL) : CREATE, ALTER, DROP
数据操纵语言(DML): INSERT, UPDATE, DELETE
数据查询语言(DQL) : SELECT
数据控制语言(DCL) COMMIT WORK, ROLLBACK WORK
嵌入式SQL:用与嵌入通用的高级语言(C/C++、Java、PL/L、VB)
2.数据库定义
PS:因为微软的MSDN解释晦涩难懂,费了很大力气加上一些参考文献把语句的解释为汉语,呵呵。
●创建表
CREATE TABLE <表名>(<列名> <数据类型> [列级完整性约束条件]
<列名> <数据类型> [列级完整性约束条件]
.......
<表级完整性约束条件 >
).
说明:列级完整性约束条件有NULL 和UNIQUE(NOT NULL),
表级完整性约束条件有PRIMARY KEY、UNIQUE 或 FOREIGN KEY。
●修改表
ALTER TABLE<表名> ADD<新列名> <数据类型> [完整性约束条件]
ALTER TABLE<表名> DROP <完整性约束名>
ALTER TABLE<表名> MODIFY <列名> <数据类型>
说明:三个语句依次为添加新列,删除约束名,修改列名、数据类型。
●删除表
DROP TABLE <表名>
●建立索引
CREATE [UNIQUE | CLUSTER] INDEX <索引名>
ON<表名> ( <列名> [次序], <列名> [次序],...)
说明:[1]次序: ASC(升序)或DSC(降序),默认为ASC。
[2]UNIQUE 表明此索引的每一个索引值只对应为一的数据记录。
[3]CLUSTER 表明要建立的索引是聚簇索引,即索引项的顺序是与表中的记录的物理顺序一致的索引组织。
●删除索引
DROP INDEX<索引名>
●创建视图
CREATE VIEW 视图名 (列表名)
AS SELECT 查询子句
[WITH CHECK OPTION]
说明:[1]子查询可以使任意复杂的select语句,但不允许有order by子句和distinct短语。
[2]WITH CHECK OPTION表示子查询的条件表达式。
[3]组成视图的属性列名要么全部省略要么全部指定。
●删除视图
DROP VIEW 视图名
2.数据操作
●Select基本结构
SELECT [ALL | DISTINCT ] <目标表达式1>,<目标表达式2>,<目标表达式3>······
FROM <表名1| 视图名1>,<表名2| 视图名2>,<表名3| 视图名3>······
[WHERE <条件表达式>]
[GROUP BY <列名1> [HAVING <条件表达式>]]
[ORDER BY <列名2> [ ASC | DESC ] ······ ]
说明:[1]SELECT子句对应的是关系运算的投影运算,用来控制表或视图的列的属性.可以输出列名,表达式等.
[2]FROM子句对应关系代数的投影运算,用来列出检索过程中的扫描关系.
[3]WHERE子句对应是关系代数的选择谓词,用来控制行的属性.
[4]GROUP BY用来分组查询,必须和HAVING 搭配使用,HAVING后必须跟聚集函数.
[5]ORDER BY 用来对表进行升序或降序排列.
●插入语句
INSERT INTO 基本表名 (字段名1,字段名2,······)
VALUES (常量1,常量2,······)
INSERT INTO 基本表名(列表名)
SELECT 查询子句
说明:用于向基本表中插入一行或多行数据记录.
●删除语句
DELETE FROM 基本表名
[WHERE 条件表达式]
说明:用于删除一行或者多行数据记录.
●更新语句
UPDATE 基本表名
SET 列名=值表达式(列名=值表达式······)
[WHERE 条件表达式]
举例: 几个简单的基本的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%’
排序: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
3.SQL的授权和销权(数据控制)
●授权语句
GRANT <权限> [,<权限>]······
ON <对象类型> <对象名>
TO <用户> [,<权限>]······
[WITH GRANT OPTION]
●销权语句
REVOKE <权限> [,<权限>]······
ON <对象类型> <对象名>
FROM <用户> [,<权限>]······
说明:不同的对象类型有不同的操作权限.
<对象名>包括属性列,试图,基本表,数据库。
<对象类型>包括table,database
<用户>包括user1,user2....
注: 对象名为属性列,视图名有5种权限:SELECT,INSERT,UPDATE,DELETE,ALL PRIVILEGES.
对象名为基本表有6种权限:SELECT,INSERT,UPDATE,DELETE,ALTER ,INDEX ALL PRIVILEGES.
对象名数据库时,由CREATETAB 建立表的权限,由DBA授予普通用户.
4.触发器
●创建触发器
CREATE TRIGGER trigger after update on Account
REFERENCING new AS nrow
FOR EACH ROW
BEGIN
...
END
●删除触发器
DROP TRIGGER trigger
5.嵌入式SQL
●区分主语言语句与SQL语句
为了区分诸语言与SQL语句,需要在所有的SQL语句前上前缀EXEC SQL
例如,PL/L和C语言的引用格式:
EXEC SQL <SQL 语句>
●主语言工作单元与数据库工作单元通信
[1]SQL通信区
SQL通信区向主语言传递SQL语句执行状态信息,使主语言能控制程序流程.
[2]主变量
主变量也是共享变量,主语言通过主变量向SQL语言提供参数.
局部变量
declare @id char(10)
--set @id = '10010001'
select @id = '10010001'
全局变量:必须以@@开头
[3].游标
1)定义游标
EXEC SQL DECLARE <游标名> CURSOR FOR
<SELECT 语句>
END_EXEC
2)打开游标
EXEC SQL OPEN <游标名> END_EXEC
3)推进游标
EXEC SQL FETCH FROM <游标名> INTO <变量表> END_EXEC
4)关闭游标
EXEC SQL CLOSE <游标名> END_EXEC
[4]动态SQL
1)动态SQL预备语句
EXEC SQL PREPARE <动态SQL语句名> FROM<共享变量或字符串>
2)动态SQL执行语句
EXEC SQL EXECUTE <动态SQL语句名>
原创文章,若要转载,请注明Villion.
你可以通过这个链接引用该篇文章:http://villione.bokee.com/viewdiary.16005317.html
分享到:
相关推荐
总结起来,SQL Server 2005的学习涉及了创建视图和存储过程的基本语法,以及如何管理数据库对象的访问权限,这对于初学者来说是非常重要的基础概念。通过理解和实践这些知识,你可以更好地理解和操作SQL Server...
LINQ (Language Integrated Query) 是 .NET Framework 中的一项技术,它允许程序员在.NET语言中直接编写查询,无需学习新的查询语言。本文将重点讲解 LINQ ...在实际开发中,这些知识是构建高效数据库应用的重要基础。
总的来说,这份学习笔记涵盖了SQL的基础操作,对于初学者来说是非常有价值的。理解并熟练掌握这些概念和语句,将有助于在实际工作中有效地管理和操纵数据库。在实践中,还需要注意SQL的优化,如避免全表扫描,合理...
郝斌老师的笔记主要涵盖了数据库的基础概念、操作以及约束等方面的知识,旨在帮助学习者更好地理解和记忆SQL Server 2005的关键点。 首先,数据库是通过字段、记录、表和约束来存储数据的。字段是数据的基本单位,...
在 MySQL 中,常见的关系型数据库包括 Oracle、SQL Server 和 DB2。 【数据库的创建与管理】 创建数据库可以使用 DDL(Data Definition Language)语句,例如 `CREATE DATABASE dbname;`。当数据库已存在时,尝试...
Oracle 10g SQL 学习笔记涵盖了Oracle数据库的基础知识,包括版本信息、数据库系统特点、关系型数据库结构、SQL语言、操作环境以及常见的数据库操作。以下是对这些知识点的详细说明: 1. **Oracle 9i基础知识**: ...
《LINQ to SQL 学习笔记》 LINQ (Language Integrated Query) 是.NET框架中引入的一项强大技术,它允许开发者使用熟悉的C#或VB.NET语言语法进行数据查询,而无需学习新的查询语言。LINQ to SQL是LINQ的一个特定实现...
1. DBMS(数据库管理系统):是用于创建、操作和管理数据库的软件,如MySQL、Oracle、SQL Server等。 2. DB(数据库):是通过DBMS存储和管理的一系列有组织的数据集合。 3. SQL:是用于与数据库进行交互的标准化...
这篇学习笔记主要涵盖了T-SQL中的SELECT语句,它是查询数据库中数据的核心语法。 1. **简单查询**:基本的SELECT语句可以用来获取指定列的数据。例如,`select p_id, p_name, cost from products`会返回所有产品...
本笔记将探讨数据库的一些基础知识,特别是针对SQL Server数据库,同时也涵盖了数据冗余、不一致性和数据库管理系统(DBMS)的安装。 首先,让我们从数据库的基本概念开始。数据库是一个有组织的数据集合,它允许...
总的来说,SQL的学习涵盖了数据的检索、筛选、组合、重命名、运算以及排序等多个方面,是数据库管理的基础。掌握好SQL,能够有效地处理和分析存储在SQL Server等数据库中的大量数据。在实际应用中,理解并熟练运用...
关系型数据库如Oracle、MySQL、SQL Server、Access和DB2,它们基于关系模型,而非关系型数据库如MongoDB、Redis和Solr则采用不同的数据存储方式。 数据模型是数据库设计的核心,主要包括物理模型、逻辑模型和概念...
"JDBC学习笔记总结" JDBC(Java Database Connectivity)是一种Java API,用于连接和操作关系数据库。下面是JDBC学习笔记的总结: 连接到数据库的方法 1. ODBC(Open Database Connectivity):是一个以C语言为...
SQL2005是Microsoft SQL Server 2005的简称,是一款强大的关系型数据库管理系统。本笔记将全面介绍SQL的各种语句,并提供实例参考。 首先,了解SQL的基础概念至关重要。SQL,即Structured Query Language,结构化...
韩顺平oracle学习笔记 第0讲:如何学习oracle 一、如何学习oracle Oracle目前最流行的数据库之一,功能强大,性能卓越。学习oracle需要具备一定基础: 1.学习过一门编程语言(如:java ,c) 2.最好学习过一门别的...
二、JS的基础语法208 三、JS常用内置对象(11种)............209 四、DHTML(动态HTML对象)......210 五、JavaScirpt高级技巧..................210 Servlet学习笔记..............212 Servlet前言.............212 ...
本学习笔记将围绕MySQL的基础知识、体系架构、性能优化等方面进行深入探讨。 首先,MySQL的学习需要掌握基本的SQL语法,如数据查询、插入、更新和删除操作。推荐的书籍包括《MySQL必知必会》和《MySQL深入浅出》,...
MySQL遵循SQL标准,虽然各数据库系统可能存在微小的语法差异,例如MySQL不支持全连接(Full Join)和SQL Server中的TOP N语法。 MySQL的优势在于其开源和免费的特性,使得它成为初学者入门数据库管理的良好选择。...
二、JS的基础语法208 三、JS常用内置对象(11种)............209 四、DHTML(动态HTML对象)......210 五、JavaScirpt高级技巧..................210 Servlet学习笔记..............212 Servlet前言.............212 第...
Java学习笔记涵盖了一个全面的Java开发者成长路径,从基础到高级,包括Web应用程序开发的关键技术和流行的框架。以下是对各个阶段知识点的详细阐述: 1. **Java基础**:这部分涵盖了Java语言的基本语法,面向对象...