膜拜大佬吧:SQL基本语句(整理)_程序员小钮的博客-优快云博客_sql语句
一、数据模型
两大数据模型
- 概念模型:按用户的观点来对数据来对数据和信息建模,主要用于数据库设计。
- 逻辑模型:主要包括层次模型、网状模型、关系模型,它是按照计算机系统的观点对数据建模,主要用于DBMS的实现。
数据模型的组成要素:数据结构、数据操作、完整性约束
- 数据结构:数据库组成对象以及对象之间联系的描述。
- 数据操作:对数据库中各种对象的实例允许执行的操作的集合。
- 完整性约束:数据模型要满足的约束条件。包括实体完整性、参照完整性、用户定义完整性。
二、关系数据库标准语言SQL——SQL概述
SQL的组成
- 数据定义(Data Definition):用来定义数据库结构,包括定义表、视图和索引。
- 数据操作(Data Manipulation):包括数据查询和数据更新两大操作。数据更新包括插入、删除和修改操作。
- 数据控制(Data Control):包括对数据的安全性控制、完整性规则的描述以及对事务的定义、并发控制和恢复。
SQL的特点
- 综合统一:SQL中的DDL、DML、DCL语言风格统一,可以独立完成数据库生命周期中的全部活动。
- 高度非过程化:SQL进行数据操作,只要提出做什么,不需要指明怎么做。操作过程由系统自动帮助你完成。
- 面向集合的操作方式
- 以同一种语法结构提供多种使用方式:既是独立的语言,又是嵌入式语言。
- 语言简洁、易学易用。
三、关系数据库标准语言SQL——数据定义
模式的定义与删除
//如果语句里面没有模式名,则默认模式名为用户名
create scheme <模式名> authorization <用户名>
drop scheme <模式名> <cascade|restrict>
//cascade:表示删除模式时同时把该模式下的所有数据库对象全部删除
//restrict:表示如果该模式下已经定义了数据库对象,则拒绝删除该模式
基本表的定义、删除、修改
create table student(
sno varchar(50) primary key,//列级完整性约束,主码
sname varchar(50) unique,//取唯一值
ssex int,
sage smallint,
sdept char(20),
//primary key(sno),表级完整性约束
foreign key sdept references school(sdept)//外码
);
数据类型:
模式与表:定义基本表时定义其模式
//第一种方法,显示的定义
create table S-T student(....)
//第二种方法,在创建模式语句的同时创建表
修改基本表
alter table <表名>
[add <新列名> <数据类型> [完整性约束]] //增加新列,并指定数据类型和完整性
[drop <完整性约束名>] //删除某列的完整性
[column <列名> <数据类型>]; //修改列的数据类型
删除基本表
drop table <表名>; //一旦删除基本表,则表中的所有数据都被删除
索引的建立和删除:建立索引是加快查询速度的有效手段
create [unique][cluster] index <索引名>
on <表名> (<列名> [<次序>].....)
- 索引可以建立在表的一列或多列上,每个列名的次序指定索引值的排序次序,包括ASC和DESC,缺省为ASC
- unique表明此索引的每一个索引值只对应唯一的数据记录;cluster表示要建立的索引是聚簇索引,即表中记录的物理顺序与索引值的顺序一致。
- 删除索引
drop index <索引名>
RDBMS中索引一般采用B+树、HASH索引来实现。B+树具有动态平衡的有点,HASH索引具有查找速度快的特点。
四、关系数据库标准语言SQL——数据查询
单表查询
目标表达式不仅可以是表中的属性,也可以是算数表达式;目标表达式不仅可以是表达式,还可以是字符串常量、函数等。
//目标列表达式
select sno,2016-sage
from student;
//字符串常量
select 'number:',sno,'age:',sage
from student;
//更改查询结果的列名
select sno number,sage age
from