玖叶教程网

前端编程开发入门

数据库概念学习的第05关:告别SQL小白

SQL通过编程语言的形式提供了程序员和数据库管理系统的交互规约,它的简单性在于没有流程控制逻辑,每个SQL语句的功能目标是明确的,互相之间没有语法关联。也就是说,我们只要掌握单个SQL语句的编写就可以了。

总体来讲,SQL语句可以分为:针对表的操作和其他辅助操作。

1、针对表的SQL语句

这方面的SQL语句基于关系模型,是按一定规则对物理模型进行操作的集合。

  • 查询语句

又称之为select语句,QL语句,是从数据库若干表中提取一个新的表的语句。SQL语句的基本结构为:

select 目标列表表达式集合

from 数据来源表

where 查询条件

group by 分组字段 having 分组条件

order by 排序字段

基本所有的查询语句都是这种结构的,即使有变化,也基本是在这个框架下的微小扩展。

  • 增删改操作

是对指定表中的数据进行添加、删除、修改操作,一个语句只能操作一张表,这些语句一般称之为DML语句(数据操作语句)。其结构如下:

添加一行数据:

insert into 表名(字段列表) values (字段值列表)

把查询结果加入表中:

insert into 表名(字段列表) select ....

删除数据:

delete from 表名 where ....

修改数据:

update 表名 set 字段1=值1,字段n=值n,... where ....

  • 表的定义(包括虚拟表View的定义)

SQL还提供了建立表、修改表结构、删除表等语句,我们一般称之为DDL语句(数据定义语句)。Powerdesigner等数据库设计工具,支持将物理模型导出成一个SQL文件,这个文件中一般包含了一组DDL语句,用于生成目标数据库中的表等信息。

创建一张表:

create table 表名(字段定义列表,完整性约束条件列表,...)

修改一张表的结构:

alter table 表名 ...

删除一张表(其中的数据和表定义都会被删除):

drop table 表名

关系数据库支持虚拟表的概念,即将一个查询结果看作一张虚拟的表,在其他查询中,可以把这张表看作是一张真实存在的表,以降低SQL语句的复杂度。这张虚拟的表就是view,它只有定义,没有实际的数据,使用时从其他表中实时提取数据。因为view中没有实际数据,如果需要修改视图的结构,只要删除后重新创建即可,所以数据库可以不提供修改视图的语句。

定义一个视图:

create view 视图名(字段列表) as select 语句

删除一个视图:

drop view 视图名

2、辅助操作SQL语句

  • 优化数据库性能相关的SQL

主要体现在对索引的操作,索引我们将在后续文章中专门讨论。

  • 权限控制相关的SQL语句

如创建数据库用户,授予指定数据库用户指定的权限,收回权限等操作。这些语句一般称之为DCL(数据控制语句)。初学者可以先忽略这些语句,目前绝大部分数据库都提供了可视化的界面进行用户和权限管理。

  • 特定数据库支持的SQL语句

数据库一般提供仅自身支持的SQL语句,这些语句一般我们会避免写入程序中,以免影响程序的通用性。这些语句一般由DBA(数据库管理员)执行,如mysql中的Truncate语句经常用于清理表中的所有数据,性能远高于delete语句。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言