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. Redis数据结构详解之List(二)

    序言 思来想去感觉redis中的list没什么好写的,如果单写几个命令的操作过于乏味,所以本篇最后我会根据redis中list数据类型的特殊属性,同时对比成熟的消息队列产品rabbitmq,使用red ...

  2. AutoMapper对internal访问级别属性的映射

    最近在使用DDD重新搭建公司内部OA的架构,具体情况搭好了应该会写一下,这里说的是今天遇到的问题. 先简单说一下相关的几个部分: 1.聚合.聚合分成了两个模块:一个包含审批单据等估计至少今年不会怎么变 ...

  3. Event事件

    妙味课堂-Event事件 1.焦点:当一个元素有焦点的时候,那么他就可以接受用户的输入(不是所有元素都能接受焦点) 给元素设置焦点的方式: 1.点击 2.tab 3.js 2.(例子:输入框提示文字) ...

  4. iOS开发之Alamofire源码解析前奏--NSURLSession全家桶

    今天博客的主题不是Alamofire, 而是iOS网络编程中经常使用的NSURLSession.如果你想看权威的NSURLSession的东西,那么就得去苹果官方的开发中心去看了,虽然是英文的,但是结 ...

  5. CRL快速开发框架系列教程四(删除数据)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  6. vim 编辑器简单使用总结

    http://blog.csdn.net/sharp_allen/article/details/27075133转载 说了这么多,其实还少一个和word,记事本一样的编辑器,在各个操作系统都有编辑器 ...

  7. php中会话保持 session 与cooker

    会话保持 1.session Session:在计算机中,尤其是在网络应用中,称为"会话控制".Session 对象存储特定用户会话所需的属性及配置信息.这样,当用户在应用程序的 ...

  8. ASP.NET Core 中文文档 第四章 MVC(3.6.2 )自定义标签辅助类(Tag Helpers)

    原文:Authoring Tag Helpers 作者:Rick Anderson 翻译:张海龙(jiechen) 校对:许登洋(Seay) 示例代码查看与下载 从 Tag Helper 讲起 本篇教 ...

  9. LinqToDB 源码分析——生成与执行SQL语句

    生成SQL语句的功能可以算是LinqToDB框架的最后一步.从上一章中我们可以知道处理完表达式树之后,相关生成SQL信息会被保存在一个叫SelectQuery类的实例.有了这个实例我们就可以生成对应的 ...

  10. Angular 基础入门

    简介 什么是AngularJS 一个功能非常完备的前端框架,通过增强HTML的方式提供一种便捷开发Web应用程序的方式 其核心特点就是几乎无任何DOM操作,让开发人员的精力和时间全部集中于业务 MVC ...