美文网首页
数据库设计(五)SQL

数据库设计(五)SQL

作者: 刘帅_ | 来源:发表于2016-07-08 17:54 被阅读56次

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子句条件表达式常见格式:

相关文章

  • 阿里数据库开发规范:谁还敢说你的数据库设计的“烂”

    数据库设计几个规范: 数据库命名规范、数据库基本设计规范、数据库索引设计规范、数据库字段设计规范、数据库SQL开发...

  • 导出数据库设计语句及在django中反向生成model

    1.sql server 导出数据库设计语句 2.mysql 导出数据库设计语句 3.django根据数据库设计反...

  • 数据库设计(五)SQL

    SQL(Structured Query Language),结构化查询语言,是现行关系数据库的标准语言,SQL不...

  • Mysql 规范

    Mysql 规范 数据库命名规范总结 数据库基本设计规范 索引设计规范 数据库字段设计规范 数据库SQL开发规范 ...

  • 数据库的优化方案及如何提高查询效率

    数据库优化方案 优化索引,sql语句,分析慢查询 设计表的时候严格按照数据库设计规范来设计数据库 使用缓存,把京城...

  • MySQL常用命令

    SQL的基本语法 对数据库 对表 对数据 存储引擎 数据类型 表的设计 1. SQL的基本语法 1.1 对数据库 ...

  • 技术清单

    数据库 MYSQL了解SQL语句,不通过参考手册可以写出常用的SQL了解数据库表的设计原则对数据库工具用起来信手拈...

  • 数据库基本知识

    SQL知识点归纳 一.设计数据库基本原则 1、E-R模型设计 二、数据库操作 1、创建数据库 2、...

  • SQL性能优化整理

    思路: SQL优化我们从以下三个方面进行:1、数据库设计;2、索引设计;3、查询优化; 一、数据库设计 1.尽可能...

  • 系统设计目录

    数据库基础: SQL, NoSQL, indexLoad balancer系统设计中的估算系统设计中的画图Memc...

网友评论

      本文标题:数据库设计(五)SQL

      本文链接:https://www.haomeiwen.com/subject/wklrjttx.html