必杀技———SQL基础整理系列(一)
SQL(Structured Query Language)——结构化查询语言
SQL语言的组成部分
- 数据定义语言 (DDL:Data Definition Language)
负责数据结构定义与数据库对象定义的语言,由CREATE、ALTER、DROP三个语法所组成,操作的对象包括关系表、视图、索引等。
- 数据操纵语言(DML: Data Manipulation Language)
其语句包括动词SELECT(查询)、INSERT(添加)、UPDATE(修改)、DELETE(删除)表中的行。
- 数据控制语言(DCL: Data Control Language)
其中包含可对数据访问权进行控制的指令,由 GRANT 和 REVOKE 两个指令组成。
- 事务处理语言(TPL: Transaction Processing Language)
它的语句能确保被DML语句影响的表的所有行及时得以更新。包括BEGIN TRANSACTION, COMMIT 和 ROLLBACK。
SQL数据基本定义功能——定义模式
CREATE SCHEMA <模式名> AUTHORIZATION <用户名>
例子:定义一个学生-课程模式
Create schema "S-T" authorization Zhang
不指明模式名则隐含为 模式名为用户名
Create schema authorization Zhang
CREATE SCHEMA <模式名> AUTHORIZATION <用户名> [<表定义子句> | <视图定义子句> | <授权定义子句>]
例子:
Create schema test authorization Zhangcreate 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查询语句,敬请关注!
转载于:https://www.cnblogs.com/JennyZhang-sharing/p/4438368.html
必杀技———SQL基础整理系列(一)相关推荐
- SQL基础整理——例题
用一条SQL语句查询出T_score表中每门课都大于80分的学生姓名 name course score 张三 语文 81 张三 数学 80 李四 语文 76 李四 数学 90 李四 英语 75 se ...
- SQL基础整理(事务)
事务==流程控制 确保流程只能成功或者失败,若出现错误会自动回到原点 具体的实现代码如下: 1 begin tran 2 insert into student values('111','王五',' ...
- oracle数据定义语句,oracle(sql)基础篇系列(3)——数据维护语句、数据定义语句、伪列...
oracle(sql)基础篇系列(三)--数据维护语句.数据定义语句.伪列 DML语句 insert 向表中插入新的记录 --三种插入方式 --(1)不写字段的名字,直接按照字段的顺序把值逐个往里插 ...
- 大数据系列sql基础知识(史上最全,收藏起来)
大数据系列文章,从技术能力.业务基础.分析思维三大板块来呈现,你将收获: 1. 提升自信心,自如应对面试,顺利拿到实习岗位或offer: 2.掌握大数据的基础知识,与其他同事沟通无障碍: 3. 具备一 ...
- 《繁凡的深度学习笔记》前言、目录大纲 一文让你完全弄懂深度学习所有基础(DL笔记整理系列)
<繁凡的深度学习笔记>前言.目录大纲 (DL笔记整理系列) 一文弄懂深度学习所有基础 ! 3043331995@qq.com https://fanfansann.blog.csdn.ne ...
- 一文让你完全弄懂逻辑回归和分类问题实战《繁凡的深度学习笔记》第 3 章 分类问题与信息论基础(上)(DL笔记整理系列)
好吧,只好拆分为上下两篇发布了>_< 终于肝出来了,今天就是除夕夜了,祝大家新快乐!^q^ <繁凡的深度学习笔记>第 3 章 分类问题与信息论基础 (上)(逻辑回归.Softm ...
- sql基础教程mysql_SQL基础教程(第2版)笔记整理
花了一段时间把SQL基础教程(第2版)看完,并把笔记整理好. 数据定义语言(Data Define Language) 数据操作语言(Data Manipulation Language) 数据控制语 ...
- PL/SQL基础之DECLARE部分(整理)
整理于 Oracle PL/SQL编程详解 - 古立 - 博客园 PL/SQL基础之DECLARE部分整理 PL/SQL块的结构 声明规范 标识符 数据类型 定义记录类型语法: 定义VARRY数据类型 ...
- postgresql最全整理资料,PostgreSQL 30天 培训视频(SQL基础,备份恢复,HA,服务端编程,大数据,内核,应用案例)
转载自:http://blog.163.com/digoal@126/blog/static/16387704020141229159715/ 希望通过这些视频帮到一些朋友, 同时对视频中的错误点烦请 ...
- SQL基础系列(一)——基本概念
在几年前学习sql的时候,直接上手开始学习sql语句,但是忽略了sql(structured query language)的本质其实是关系型数据库的语言.在使用这些语言之前,必须对一些基本的概念有大 ...
最新文章
- 苹果曝光无人车新进展,这名华人工程师是主要贡献者
- JavaScript放头部不执行的情况(针对新手)
- android手势滑动——左右滑动效果实现
- 【APP接口开发】常用HTTP响应头状态码详解
- javafx弹出式窗口_JavaFX 8的弹出式编辑器
- flask 获取前端form内容_flask 项目中使用 bootstrapFileInput(进阶篇)
- 接口规范 12. 自动删除相关接口
- Google 出品的 Java 编码规范和编程指南,权威又科学,强烈推荐
- 实战开发,使用 Spring Session 与 Spring security 完成网站登录改造!!
- 【2022最新】Vscode配置Python环境Leetcode刷题指南
- 汽车主要电子控制系统模块
- ToB和ToC端产品分别指什么
- 卷积神经网络通俗易懂理解
- 剖析Apple Pay 它与支付宝究竟暧昧什么?
- 开源分享,让技术发光——最受欢迎“开发者布道师”评选结果来啦!
- Mysql对应的dul_DUL 恢复简单表测试
- 高精度地图偏转基础知识
- 编译参数-Wl和rpath的理解
- UWB高精度定位最优方式:全无线方式部署UWB定位系统
- 2020年第十五届全国大学生智能汽车竞赛技术报告
热门文章
- atitit. 浏览器插件 控件 applet 的部署,签名总结 浏览器 插件 控件 的签名安全机制o9o
- paip.python错误解决18
- Linux环境变量配置【转】
- 趋势 | 或许,这就是大佬吧!——美国ETF产业三巨头格局浅谈
- 不确定性原理的前世今生 · 数学篇(完)
- 因云而生,阿里云全面进入云原生时代
- 【语音隐写】基于matlab GUI LSB语音信号数字水印嵌入提取(带面板)【含Matlab源码 1676期】
- 【图像处理】基于matlab GUI打靶仿真系统【含Matlab源码 1043期】
- SPSS 协方差分析(图文+数据集)【SPSS 020期】
- 单向关联java_java – 使用单向或双向关系的不同行为