SQL 简介
2013-07-02 22:24
204 查看
从今天起,笔者将持续更新数据库相关的博客,先从基本的structure query language(SQL)开始,先忽略所有的数据库,从通用的SQL语言开始,毕竟有了普通话,走在中国的哪里都能活下去的是吧。
先来回答SQL 是干什么的这个问题,SQL是用于访问和处理数据库的标准的计算机语言。
SQL 使我们有能力访问数据库
SQL 是一种 ANSI 的标准计算机语言
SQL 面向数据库执行查询
SQL 可从数据库取回数据
SQL 可在数据库中插入新的纪录
SQL 可从数据库删除记录
SQL 很容易学习
编者注:ANSI,美国国家标准化组织
不幸地是,存在着很多不同版本的 SQL 语言,但是为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的关键词(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。
注释:除了 SQL 标准之外,大部分 SQL 数据库程序都拥有它们自己的私有扩展!
下面的例子是一个名为 "Persons" 的表(建议所有的SQL语句都用";"进行结尾,有始有终):
建表语句为(笔者以MySql数据库为例,其他的数据库也类似):
CREATE TABLE `persons` (
`FirstName` varchar(50) DEFAULT NULL,
`LastName` varchar(50) DEFAULT NULL,
`Address` varchar(50) DEFAULT NULL,
`City` varchar(50) DEFAULT NULL,
PRIMARY KEY (`FirstName`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
往表中插入几条记录进行练习使用:
INSERT INTO `persons` (FirstName,LastName,Address,City) VALUES ('Hansen', 'Ola', 'Timoteivn 10', 'Sandnes');
INSERT INTO `persons` (FirstName,LastName,Address,City) VALUES ('Svendson', 'Tove', 'Borgvn 23', 'Sandnes');
INSERT INTO `persons` (FirstName,LastName,Address,City) VALUES ('Pettersen', 'Kari', 'Storgt 20', 'Stavanger');
查看表中的记录:
SELECT FirstName,LastName,Address,City FROM persons;
上面的表包含三条记录(每一条对应一个人)和四个列(姓、名、地址和城市)。
查询程序类似这样:
结果集类似这样:
这些查询和更新语句都来自 SQL 的 DML 部分:
SELECT - 从数据库表中获取数据
UPDATE - 更新数据库表中的数据
DELETE - 从数据库表中删除数据
INSERT INTO - 向数据库表中插入数据
SQL 中最重要的 DDL 语句:
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引
先来回答SQL 是干什么的这个问题,SQL是用于访问和处理数据库的标准的计算机语言。
什么是 SQL?
SQL 指结构化查询语言SQL 使我们有能力访问数据库
SQL 是一种 ANSI 的标准计算机语言
SQL 面向数据库执行查询
SQL 可从数据库取回数据
SQL 可在数据库中插入新的纪录
SQL 可从数据库删除记录
SQL 很容易学习
编者注:ANSI,美国国家标准化组织
SQL 是一种标准 - 但是...
SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统。SQL 语句用于取回和更新数据库中的数据。SQL 可与数据库程序协同工作,比如 MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase 以及其他数据库系统。不幸地是,存在着很多不同版本的 SQL 语言,但是为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的关键词(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。
注释:除了 SQL 标准之外,大部分 SQL 数据库程序都拥有它们自己的私有扩展!
SQL 数据库表
一个数据库通常包含一个或多个表。每个表由一个名字标识(例如“客户”或者“订单”)。表包含带有数据的记录(行)。下面的例子是一个名为 "Persons" 的表(建议所有的SQL语句都用";"进行结尾,有始有终):
建表语句为(笔者以MySql数据库为例,其他的数据库也类似):
CREATE TABLE `persons` (
`FirstName` varchar(50) DEFAULT NULL,
`LastName` varchar(50) DEFAULT NULL,
`Address` varchar(50) DEFAULT NULL,
`City` varchar(50) DEFAULT NULL,
PRIMARY KEY (`FirstName`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
往表中插入几条记录进行练习使用:
INSERT INTO `persons` (FirstName,LastName,Address,City) VALUES ('Hansen', 'Ola', 'Timoteivn 10', 'Sandnes');
INSERT INTO `persons` (FirstName,LastName,Address,City) VALUES ('Svendson', 'Tove', 'Borgvn 23', 'Sandnes');
INSERT INTO `persons` (FirstName,LastName,Address,City) VALUES ('Pettersen', 'Kari', 'Storgt 20', 'Stavanger');
查看表中的记录:
SELECT FirstName,LastName,Address,City FROM persons;
LastName | FirstName | Address | City |
---|---|---|---|
Hansen | Ola | Timoteivn 10 | Sandnes |
Svendson | Tove | Borgvn 23 | Sandnes |
Pettersen | Kari | Storgt 20 | Stavanger |
SQL 查询程序
通过 SQL,我们可以查询某个数据库,并获得返回的一个结果集。查询程序类似这样:
SELECT LastName FROM Persons;
结果集类似这样:
LastName |
---|
Hansen |
Svendson |
Pettersen |
SQL 数据操作语言 (DML)
SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。这些查询和更新语句都来自 SQL 的 DML 部分:
SELECT - 从数据库表中获取数据
UPDATE - 更新数据库表中的数据
DELETE - 从数据库表中删除数据
INSERT INTO - 向数据库表中插入数据
SQL 数据定义语言 (DDL)
SQL 的数据定义语言部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。SQL 中最重要的 DDL 语句:
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引
相关文章推荐
- SQL之一 简介
- PL/SQL_触发器1(触发器简介)
- LINQ体验(4)——LINQ简介和LINQ to SQL语句之Where
- Windows Phone 7.5 - Local SQL Database(简介)
- 我的Php学习笔记(六)Mysql简介和创建新的数据库 常用的SQL语句
- 第一章 PL/SQL 程序设计简介
- T-SQL动态查询(1)——简介
- SQL 中 decode()函数 简介.
- 深入浅出SQL系列教程(第二节-www.sqlzoo.cn网站简介)
- Oracle PL/SQL开发基础(第二十九弹:异常处理简介)
- Oracle12C--PL/SQL简介(二十四)
- Mysql SQL Mode简介
- ABAP简介以及OpenSQL与NativeSQL的区别
- sqlplus中的autotrace使用简介
- 监控和剖析数据库操作 -- P6Spy、SQL Profiler、IronTrack SQL 使用简介
- Transact-SQL简介
- 基于SQL Alwayson的Windows Server 2012 WSFC搭建指南(1)——简介及AD搭建和配置
- ORACLE PL/SQL编程之一:PL/SQL 程序设计简介
- v$sql和v$session视图简介
- Oracle PL/SQL编程详解之一: PL/SQL 程序设计简介(千里之行,始于足下)