零基础一次学通4种数据库的SQL语言--脚本

简介: 这是系统学习SQL语言的课程,课程中的所有SQL语句完全兼容MySQL、Oracle、SQL Server和PostgreSQL等4种最流行的数据库,实际上也可以兼容几乎所有的数据库。

01

课程介绍


这是系统学习SQL语言的课程,课程中的所有SQL语句完全兼容MySQL、Oracle、SQL Server和PostgreSQL等4种最流行的数据库,实际上也可以兼容几乎所有的数据库。

目标学员:

  • 零基础的同学系统学习SQL语言。
  • 有一定基础的同学对自己的SQL语言知识进行查漏补缺。

02

实验环境


4种数据库的客户端都是最流行的,也是自带,无需单独安装。

课程中会随机在这4种数据库上面进行实验,同一个实验只会在一种数据库上面做一次,而不会在4数据库上面做四次,因为所有是SQL语句都是同时兼任着4种数据库的。大家花一份时间有4倍的收获。本课程以实验为导向进行编排,同学们不要看到实验只在某一种数据库上面做就以为不兼容自己的数据库,都是兼容的。


03

创建样本数据的脚本





-- 创建部门表drop table job_history;drop table employees;drop table departments;create table departments(  deptno  int primary key,  dname varchar(12) not null,  managerno int,  loc varchar(10));-- 向部门表中插入记录insert into departments values(1,'开发部',2,'一楼');insert into departments values(2,'测试部',3,'二楼');insert into departments values(3,'销售部',8,'一楼');insert into departments values(4,'新业务部',null,'二楼');-- 创建员工表create table employees(  empno int primary key ,  name char(10) not null,  deptno int,  email varchar(20),  hiredate date,  salary numeric(8, 2) default 8000.00,  FOREIGN KEY(deptno) REFERENCES departments(deptno));-- 向员工表中插入记录insert into employees values(1,'周福生',NULL,'zhou@gmail.com','2000-12-02',90000.00);insert into employees values(2,'王五',1,'wangsu@gmail.com','2013-01-03',9100.00);insert into employees values(3,'李四',2,'lisi@qq.com','2021-02-10',13900.00);insert into employees values(4,'赵六',1,'zhaoliu@qq.com','2022-12-1',15000.00);insert into employees values(5,'李明',1,'liming@qq.com','2004-09-11',25200.00);insert into employees values(6,'孙军',2,'sunjun@163.com','2016-05-22',9700.00);insert into employees values(7,'钱杰',3,'qianjie@outlook.com','2013-07-22',8900.00);insert into employees values(8,'程娟',3,'chengjuan@gmail.com','2013-07-22',14900.00);insert into employees values(9,'赵卫华',1,'zhaoweihua@gmail.com','2009-11-12',21900.00);-- 创建岗位历史表create table job_history(  empno int,  start_date date,  end_date date,  deptno int,  PRIMARY KEY(empno,start_date),  FOREIGN KEY(empno) REFERENCES employees(empno));-- 向岗位历史表中插入数据insert into job_history values(2,'2013-01-03','2015-12-31',3);insert into job_history values(2,'2016-01-01','2018-12-31',2);insert into job_history values(3,'2015-01-01','2017-12-31',2);insert into job_history values(4,'2010-01-01','2015-12-31',1);insert into job_history values(5,'2015-06-30','2016-12-31',2);insert into job_history values(9,'2009-11-12','2010-12-31',1);commit;select * from departments;select * from employees; select * from job_history;
相关文章
|
2天前
|
SQL API Python
`bandit`是一个Python静态代码分析工具,专注于查找常见的安全漏洞,如SQL注入、跨站脚本(XSS)等。
`bandit`是一个Python静态代码分析工具,专注于查找常见的安全漏洞,如SQL注入、跨站脚本(XSS)等。
19 8
|
4天前
|
SQL 监控 安全
数据库安全:SQL注入防御实践
【7月更文挑战第11天】SQL注入攻击作为一种常见的网络攻击手段,对数据库的安全性和业务稳定构成了严重威胁。为了有效防御SQL注入攻击,开发者和数据库管理员应采取一系列实践措施,包括输入验证与过滤、使用参数化查询、限制数据库用户权限、使用Web应用程序防火墙、定期更新和打补丁、实施实时监控和审计以及使用HTTPS协议等。通过这些措施的实施,可以显著提升数据库的安全性,降低遭受SQL注入攻击的风险。同时,开发者和数据库管理员应持续关注新的安全威胁和防御技术,不断提升自身的安全防护能力。
|
5天前
|
SQL 存储 安全
数据库数据恢复—SQL Server数据库出现逻辑错误的数据恢复案例
SQL Server数据库数据恢复环境: 某品牌服务器存储中有两组raid5磁盘阵列。操作系统层面跑着SQL Server数据库,SQL Server数据库存放在D盘分区中。 SQL Server数据库故障: 存放SQL Server数据库的D盘分区容量不足,管理员在E盘中生成了一个.ndf的文件并且将数据库路径指向E盘继续使用。数据库继续运行一段时间后出现故障并报错,连接失效,SqlServer数据库无法附加查询。管理员多次尝试恢复数据库数据但是没有成功。
|
10天前
|
SQL 自然语言处理 网络协议
【Linux开发实战指南】基于TCP、进程数据结构与SQL数据库:构建在线云词典系统(含注册、登录、查询、历史记录管理功能及源码分享)
TCP(Transmission Control Protocol)连接是互联网上最常用的一种面向连接、可靠的、基于字节流的传输层通信协议。建立TCP连接需要经过著名的“三次握手”过程: 1. SYN(同步序列编号):客户端发送一个SYN包给服务器,并进入SYN_SEND状态,等待服务器确认。 2. SYN-ACK:服务器收到SYN包后,回应一个SYN-ACK(SYN+ACKnowledgment)包,告诉客户端其接收到了请求,并同意建立连接,此时服务器进入SYN_RECV状态。 3. ACK(确认字符):客户端收到服务器的SYN-ACK包后,发送一个ACK包给服务器,确认收到了服务器的确
|
11天前
|
SQL 存储 关系型数据库
关系型数据库SQL Server学习
【7月更文挑战第4天】
21 2
|
11天前
|
SQL 自然语言处理 关系型数据库
PolarDB自然语言到SQL语言转义
PolarDB自然语言到SQL语言转义
|
5天前
|
SQL Java 关系型数据库
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
14 0
|
5天前
|
SQL 监控 Java
Java面试题:简述数据库性能优化的常见手段,如索引优化、SQL语句优化等。
Java面试题:简述数据库性能优化的常见手段,如索引优化、SQL语句优化等。
10 0
|
13天前
|
SQL 存储 搜索推荐
SQL游标的原理与在数据库操作中的应用
SQL游标的原理与在数据库操作中的应用
|
9天前
|
存储 关系型数据库 MySQL
探索MySQL:关系型数据库的基石
MySQL,作为全球最流行的开源关系型数据库管理系统(RDBMS)之一,广泛应用于各种Web应用、企业级应用和数据仓库中