数据库设计(五)SQL

SQL(Structured Query Language),结构化查询语言,是现行关系数据库的标准语言,SQL不单支持数据查询(Data Query)功能,还支持数据定义(Data Definition)、数据操纵(Data Manipulation)和数据控制(Data Control)功能。

0 关键词

1 SQL基本动词

功能 动词
数据定义 CREATE, DROP, ALTER
数据查询 SELECT
数据操纵 INSERT, UPDATE, DELETE
数据控制 GRANT, REVOKE

2 数据定义

创建 删除 修改
模式 CREATE SCHEMA DROP SCHEMA -
CREATE TABLE DROP TABLE ALTER TABLE
视图 CREATE VIEW DROP VIEW -
索引 CREATE INDEX DROP INDEX -

2.1 模式

2.1.1 定义模式

 CREATE SCHEMA <模式名> AUTHORIZATION <用户名> 

注意:模式的定义需要DBA权限或者DBA授予的CREATE SCHEMA权限。

2.1.2 删除模式

DROP SCHEMA <模式名> <CASCADE | RESTRICT>
  • CASCADE:级联。在删除模式时,将会将该模式下的所有数据库对象全部删除,比如定义在该模式下的基本表、视图等。
  • RESTRICT:限制。若要删除的模式下已经定义了数据库对象,则对该模式的删除操作会被系统拒绝。

2.2 基本表

2.2.1 定义基本表

CREATE TABLE <表名> ( <类名> <数据类型> [列级完整性约束条件],  …)

2.2.2 修改基本表

ALETER TABLE <表名>
[ ADD <新的列名> <数据类型> [完整性约束条件]]
[ DROP <完整性约束条件名> ]
[ ALTER COLUMN <列名> <数据类型> ]

2.2.3 删除基本表

DROP TABLE <表名> [ CASCADE | RESTRICT ]
  • CASCADE:级联。级联删除将删除该基本表和依赖于该基本表的所有对象,例如视图等。
  • RESTRICT:限制。当该基本表存在被其他表的约束所引用、存在依赖于该基本表的视图、存在触发器、储过程或函数等情况下,该基本表将不能被删除。

2.3 索引

2.3.1 建立索引

CREATE [ UNIQUE ] [ CLUSTER ] INDEX <索引名> ON <表名> ( <列名> [<次序>] [,<列名>[<次序>] ]… )
  • 表名:要建立索引的基本表的名字。
  • 次序:ASC(升序)或者DESC(降序)默认值为ASC。
  • UNIQUE:索引值只对应唯一的一条数据记录。
  • CLUSTER:聚簇索引。聚簇索引的索引项的顺序与表中记录的物理顺序一致。

注意:在经常查询的列上建立聚簇索引虽然可以提高查询效率,但如果该索引列上的数据经常更新(增、删、改)则会导致整个物理顺序的改变,系统开销较大。因此聚簇索引并不适合建立在经常更新(增、删、改)的列上。

2.3.2 删除索引

DROP INDEX <索引名>

3 数据查询

SELECT [ALL | DISTINCT] <目标列表达式> [别名] [, <目标列表达式>][别名]…
FROM <表名> [别名] [,<表名> [别名]]…
[WHERE <条件表达式>]
[GROUP BY <列名A> [HAVING <条件表达式>]]
[ORDER BY <列名B> [ASC | DESC]]
  • ALL:查询所有行,不指定默认为ALL。

  • DISTINCT:去除查询列中取值重复的行,只保留一行。

  • FROM:FROM后加表名,用于指定所要查询的表。

  • WHERE:WHERE后加条件表达式,用于指定查询条件。

  • GROUP BY:有GROUP BY子句的话,将按列名A的列值进行分组。

  • HAVING:有 HAVING子句的话,将按HAVING后的条件表达式对查询结果进行过滤。

  • ORDER BY:有ORDER BY子句的话,将对查询结果按列名B得值进行升序(ASC)或者降序(DESC)排列。

  • 目标列表达式常见格式:

    • *
    • <表名>. *
    • COUNT( [DISTINCT | ALL] * )
    • [ <表名>. ] <属性列名表达式> [, [ <表名>. ] <属性列名表达式> ]…
  • 聚集函数常见格式:
    < COUNT | SUM | AVG | MAX | MIN > [DISTINCT | ALL <列名> ]

  • WHERE子句条件表达式常见格式:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,718评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,683评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,207评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,755评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,862评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,050评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,136评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,882评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,330评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,651评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,789评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,477评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,135评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,864评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,099评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,598评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,697评论 2 351

推荐阅读更多精彩内容