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. 阿里云本地FTP怎么连接?通用win7,win8,win8.1,win10

  2. JavaScript中的apply,call与this的纠缠

    1.apply定义 apply:调用函数,并用指定对象替换函数的 this 值,同时用指定数组替换函数的参数. 语法:apply([thisObj[,argArray]]) thisObj 可选.要用 ...

  3. java发送http的get、post请求

    转载博客:http://www.cnblogs.com/zhuawang/archive/2012/12/08/2809380.html Http请求类 package wzh.Http; impor ...

  4. C#字符串的倒序输出

    介绍 在本文中,我将演示如何将字符串的单词倒序输出.在这里我不是要将“John” 这样的字符串倒序为成“nhoJ”,.这是不一样的,因为它完全倒序了整个字符串.而以下代码将教你如何将“你 好 我是 缇 ...

  5. jQuery源码学习感想

    还记得去年(2015)九月份的时候,作为一个大四的学生去参加美团霸面,结果被美团技术总监教育了一番,那次问了我很多jQuery源码的知识点,以前虽然喜欢研究框架,但水平还不足够来研究jQuery源码, ...

  6. Vertica license导入最佳实践

    常用的方法,我们可以通过admintools字符图形工具来导入license, 7 -> 5 -> 选择库 -> 输入license文件全路径 -> Accept -> ...

  7. es6学习笔记一数组(上)

    最近公司没什么事情,我们老大让我看看es6,小颖就练习了下数组的各个方法,今天先给大家分享一部分.嘻嘻,希望对大家有所帮助. every方法: 概述:    every() 方法测试数组的所有元素是否 ...

  8. C# WCF服务端搭建和客户端调用

    1) 打开Visual Studio 2012,在菜单上点击文件->新建->项目->WCF服务应用程序.在弹出界面的"名称"对应的文本框中输入"WcfS ...

  9. asp.net webform 自定义分页控件

    做web开发一直用到分页控件,自己也动手实现了个,使用用户自定义控件. 翻页后数据加载使用委托,将具体实现放在在使用分页控件的页面进行注册. 有图有真相,给个直观的认识: 自定义分页控件前台代码: & ...

  10. bzoj1503--treap

    这道题和一般的题目不同,A和S操作要修改所有节点.所以定义基准d,每个节点的工资是它的值+d,这样就能完成所有操作. I k:将值为k-d的节点插入treap A k:将d加上k S k:将d减去k, ...