SQL(Structured Query Language)——结构化查询语言

  SQL语言的组成部分

  • 数据定义语言 (DDL:Data Definition Language)

  负责数据结构定义与数据库对象定义的语言,由CREATEALTERDROP三个语法所组成,操作的对象包括关系表、视图、索引等。

  • 数据操纵语言(DML: Data Manipulation Language)

  其语句包括动词SELECT查询)、INSERT添加)、UPDATE修改)、DELETE删除)表中的行。

  • 数据控制语言(DCL: Data Control Language)

  其中包含可对数据访问权进行控制的指令,由 GRANT REVOKE 两个指令组成。

  • 事务处理语言(TPL: Transaction Processing Language)

  它的语句能确保被DML语句影响的表的所有行及时得以更新。包括BEGIN TRANSACTION, COMMITROLLBACK


  SQL数据基本定义功能——定义模式

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

  例子:定义一个学生-课程模式

  Create schema "S-T" authorization Zhang

  不指明模式名则隐含为 模式名为用户名

   Create schema authorization Zhang

CREATE SCHEMA <模式名> AUTHORIZATION <用户名> [<表定义子句> | <视图定义子句> | <授权定义子句>]

  例子:

Create schema test authorization Zhang
create table Tab1(A1 int,
A2 char(10),
A3 char(20))

   SQL数据基本定义功能——删除模式

   DROP SCHEMA <模式名> <CASCADE|RESTRICT>

  例子:

   Drop schema Zhang cascade


  最最常用的在这里啦!!!

  SQL数据基本定义功能——创建表

CREATE TABLE 表名
(<列名1> 数据类型 [列级约束],
[<列名2> 数据类型 [列级约束],]
……,
[表级约束])

  例子:

  • 创建表Students

  关系模式 Students ( Sno, Sname, Ssex, Sage, Sdept )

Create table Students
(Sno char(11),
Sname char(20),
Ssex char(2),
Sage int,
Sdept char(20),
primary key(Sno))——————————————————这种是表级约束
Create table Students
(Sno char(11)primary key, ——————————————————————这是列级约束
Sname char(20),
Ssex char(2),
Sage int,
Sdept char(20))
  • 创建表Courses

  关系模式 Courses ( Cno, Cname, Cpno, Ccredit )

Create table Courses
(Cno char(4),
Cname char(40),
Cpno char(4),
Ccredit int,
primary key (Cno),——————————————————————————————这是表级约束
Foreign Key (Cpno) REFERENCES Courses(Cno))—————这是定义外键
  • 创建表SC  

  关系模式 SC ( Sno, Cno, Grade )

Create table SC
( Sno char(9),
Cno char(4),
Grade int,
Primary key(Sno,Cno),
foreign key (Sno) references Students (Sno),
foreign key (Cno) references Courses (Cno))

  SQL数据基本定义功能——数据类型

char(n) 固定长度为n的字符串
varchar(n) 可变长度为n的字符串
smallint 短整数
int 长整数
numberic(p,s) 定点数。由p位数字组成,包括s位小数
float(n) 精度至少为n位数字的浮点数
real 取决于机器精度的浮点数
double precision 取决于机器精度的双精度浮点数
date 日期,格式为年、月、日,YYYY-MM-DD
time 时间,格式为时、分、秒,HH-MM-SS

  

  

  SQL数据基本定义功能——表的修改

  添加列|完整性约束:

ALTER TABLE <表名> ADD <列名> <数据类型> [完整性约束]

    删除列|完整性约束:

ALTER TABLE <表名> DROP <列名> <数据类型> [完整性约束]

  修改列:

   ALTER TABLE <表名> ALTER COLUMN <列名> <数据类型>   

  例子:

  在学生表中添加字段Sclass,字符类型,长度20

   Alter table Students add Sclass char(20)

  将年龄的数字类型由字符型改为整型

   Alter table Students alter coiumn Sage int

  增加课程名称必须取唯一值的约束条件

   Alter table Courses add unique (Cname)

  SQL数据基本定义功能——表的删除

   Drop table <表名> [restrict | cascade]

  Restrict: (严格删除)表删除有限制条件,不能被其他表的约束所引用,不能有视图、触发器、存储过程或函数

  Cascade: (级联删除)把一个基本表的定义连同表上的所有记录、索引以及由此基本表导出的所有视图都删除,并释放相应的存储空间

  例子:

   Drop table Students cascade


  总是晚上才有时间码字,不积跬步,无以至千里,基础还是很重要的,下一篇开始介绍SQL查询语句,敬请关注!

必杀技———SQL基础整理系列(一)的更多相关文章

  1. 11、SQL基础整理(变量)

    变量 定义变量:declare  @hello  varchar(20) 赋值:set  @hello = ‘你好’ select(结果框显示)/print(消息框显示) @hello *三行必须同时 ...

  2. 8、SQL基础整理(约束)

    约束 主键约束 防止在新增数据时出错,有约束性,起唯一标志的作用,在新增条目的时候防止不慎添加重复内容(不允许有null值) 1.  右键—设计—设置主键 2.在创建表格时设置 code int pr ...

  3. 5、SQL基础整理(字符串函数)

    字符串函数 ASCII 返回字符串首字母的ascii编码 select ASCII('name') select ASCII(name) from xuesheng select *from xues ...

  4. SQL脚本整理系列 三

    触发器 SQL 2008 怎么实现删除学生表里面的一条记录,成绩表里面关于这个学生的记录也同时删掉,谢求具体代码 --创建表 DROP TABLE tstudent GO CREATE TABLE t ...

  5. SQL脚本整理系列一 分隔函数

    原来效果: fName Scroe 王某某 ,, 李某某 , 王某某 李某某 李某某 ,, 王某某 执行后效果: name score 李某某 李某某 李某某 王某某 王某某 王某某 王某某 王某某 ...

  6. 17、SQL基础整理(事务)

    事务 事务==流程控制 确保流程只能成功或者失败,若出现错误会自动回到原点 例: begin tran insert into student values('111','王五','男','1999- ...

  7. 16、SQL基础整理(触发器.方便备份)

    触发器(方便备份) 本质上还是一个存储过程,只不过不是通过exec来调用执行,而是通过增删改数据库的操作来执行(可以操作视图) 全部禁用触发器 alter table teacher disable ...

  8. 15、SQL基础整理(视图)

    视图 即虚拟表 系统-右键-新建视图 编辑前200行 select *from studentscore 代码创建法: create view studentscore as select stude ...

  9. 14、SQL基础整理(存储过程)

    存储过程procedure(proc) 数据库—可编程性—存储过程 新建存储过程: create proc firstproc as select *from fenshu go 执行存储过程: 存储 ...

随机推荐

  1. 微软MVP攻略 (如何成为MVP?一个SQL Server MVP的经验之谈)

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 初衷 什么是微软MVP? 成为微软MVP的条件? 如何成为微软MVP? (一) 申请时间划分 (二) 前期准备 (三) ...

  2. iOS 支持 IPv6

    苹果的规定:2016年6月1日提交到App Store必须支持IPv6-only网络. 官方文档:https://developer.apple.com/library/mac/documentati ...

  3. MySQL关于exists的一个bug

    今天碰到一个很奇怪的问题,关于exists的, 第一个语句如下: SELECT ) FROM APPLY t WHERE EXISTS ( SELECT r.APPLY_ID FROM RECORD ...

  4. 学习Spring——依赖注入

    前言: 又开始动笔开了“学习Spring”系列的头…… 其实一开始写“学习SpringMVC”的几篇文章是出于想系统的了解下Spring以及SpringMVC,因为平时在公司中虽然每天都在使用Spri ...

  5. 嵌入式服务器jetty,让你更快开发web

    概述 jetty是什么? jetty是轻量级的web服务器和servlet引擎. 它的最大特点是:可以很方便的作为嵌入式服务器. 它是eclipse的一个开源项目.不用怀疑,就是你常用的那个eclip ...

  6. iOS: 在iPhone和Apple Watch之间共享数据: App Groups

    我们可以在iPhone和Apple Watch间通过app groups来共享数据.方法如下: 首先要在dev center添加一个新的 app group: 接下来创建一个新的single view ...

  7. LCS记录

    如题:求两个序列的最长公共序列.(如:"ABCBDAB"与"BCDB"最长公共序列为"BCDB")代码如下: #define MAX_SIZ ...

  8. jquery获取dropdownlist的value和text值

    1.jquery //获取value值 $("#ddlSubmodel").val(); //获取text值 $("#ddlSubmodel").find(&q ...

  9. 【无私分享:ASP.NET CORE 项目实战(第十二章)】添加对SqlServer、MySql、Oracle的支持

    目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 增加对多数据库的支持,并不是意味着同时对多种数据库操作,当然,后面,我们会尝试同时对多种数据库操作,这可能需要多个上下文,暂且 ...

  10. python 数据类型---列表使用 之一

    列表的表现形式:其中的元素可以使任何数据类型,像 字符串,数字, 字典, 列表,变量 等任何类型 age = 28 name = ["Frank", "Lee" ...