Android wordpress Hadoop Git node.js 分布式 mAPI express object server directory pyqt LimeJS bootstrap后台管理模板 nginx教程视频 js事件绑定 erp项目描述 excel动态图表制作 nikto扫描web漏洞 python的数据类型 python循环语句 python正则匹配 python输出中文 python查找指定字符 java环境安装 java教材 java安装环境 java文件重命名 java基本数据结构 linux远程 linux系统命令大全 ie模拟器 火牛软件 两表关联查询 kmservice 自动喊话器 t470拆机 ps调整边缘抠头发丝 灰色按钮激活精灵 firefox绿色版
当前位置: 首页 > 学习教程  > 编程语言

阿里云天池——SQL训练计划_task1

2021/2/13 17:26:15 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

wheaesong 2020-2-13 1 数据库简介 据库是将大量数据保存起来,通过计算机加工而成的可以 进行高效访问的数据集合。该数据集合称为数据库(Database,DB)。用来管理数据库的计算机系统称为数据库管理系统(Database Ma…

@wheaesong

2020-2-13

1 数据库简介

据库是将大量数据保存起来,通过计算机加工而成的可以 进行高效访问的数据集合。该数据集合称为数据库(Database,DB)。用来管理数据库的计算机系统称为数据库管理系统(Database Management System,DBMS)。

1.1 DBMS的种类
DBMS 主要通过数据的保存格式(数据库的种类)来进行分类,现阶段主要有以下 5 种类型.

层次数据库(Hierarchical Database,HDB)
关系数据库(Relational Database,RDB)
这种类型的 DBMS 称为关系数据库管理系统(Relational Database Management System,RDBMS)。比较具有代表性的 RDBMS 有如下 5 种。

  • Oracle Database:甲骨文公司的RDBMS
  • SQL Server:微软公司的RDBMS
  • DB2:IBM公司的RDBMS
  • PostgreSQL:开源的RDBMS
  • MySQL:开源的RDBMS
    面向对象数据库(Object Oriented Database,OODB)
    XML数据库(XML Database,XMLDB)
    键值存储系统(Key-Value Store,KVS),举例:MongoDB redis
    数据库具有很好的兼容性,我主要使用的是centos从的云服务器,以及日常使用的ubuntu,windows也有使用,只是用到的地方比较少,跟多只是用来javeEE的测试用。
    因为接触数据库的时间也不短,有系统的学习过Oracle和mysql,也在课余自学过非关系型数据库Mongodb和redis,所以数据库的安装也算是比较熟练,在这里就没有记录。
    1.2 sql语言
    SQL数据库语言有国际标准,但每个数据库都有差异,比如Oracle中有varchar2类型,而mysql中就没有类似的定义。这只是其中很小的一部分差异。相比mysql,Oracle更多的用在安全性能要求更高的企业或银行等方面,但其实日常的使用的话,msyql运用的更为广泛。
    根据对 RDBMS 赋予的指令种类的不同,SQL 语句可以分为以下三类.

DDL
DDL(Data Definition Language,数据定义语言) 用来创建或者删除存储数据用的数据库以及数据库中的表等对象。DDL 包含以下几种指令。

CREATE : 创建数据库和表等对象

DROP : 删除数据库和表等对象

ALTER : 修改数据库和表等对象的结构

DML
DML(Data Manipulation Language,数据操纵语言) 用来查询或者变更表中的记录。DML 包含以下几种指令。

SELECT :查询表中的数据

INSERT :向表中插入新数据

UPDATE :更新表中的数据

DELETE :删除表中的数据

DCL
DCL(Data Control Language,数据控制语言) 用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以对 RDBMS 的用户是否有权限操作数据库中的对象(数据库表等)进行设定。DCL 包含以下几种指令。

COMMIT : 确认对数据库中的数据进行的变更

ROLLBACK : 取消对数据库中的数据进行的变更

GRANT : 赋予用户操作权限

REVOKE : 取消用户的操作权限

实际使用的 SQL 语句当中有 90% 属于 DML,本课程会以 DML 为中心进行讲解。

SQL的基本书写规则
SQL语句要以分号( ; )结尾
SQL 不区分关键字的大小写,但是插入到表中的数据是区分大小写的
win 系统默认不区分表名及字段名的大小写
linux / mac 默认严格区分表名及字段名的大小写
常数的书写方式是固定的

2 打卡作业

打卡作业要求:

在这里插入图片描述

3.1
编写一条 CREATE TABLE 语句,用来创建一个包含表 1-A 中所列各项的表 Addressbook (地址簿),并为 regist_no (注册编号)列设置主键约束

代码实现:
create table addressbook(
regist_no integer(20) not noll primary key,
name varchar(128) not null,
address varchar(256) not null,
tel_no char(10),
mail_address char(20)
);

3.2
假设在创建练习1.1中的 Addressbook 表时忘记添加如下一列 postal_code (邮政编码)了,请把此列添加到 Addressbook 表中。

列名 : postal_code

数据类型 :定长字符串类型(长度为 8)

约束 :不能为 NULL

代码实现
--语法规则: 
ALTER TABLE < 表名 > ADD COLUMN < 列的定义 >;
--代码实现:
alter table addressbook add column postal_code char(8) not null;

3.3
编写 SQL 语句来删除 Addressbook 表。

--删除表的语法:
DROP TABLE < 表名 > ;
--代码实现
drop table addressbook;

3.4
编写 SQL 语句来恢复删除掉的 Addressbook 表。

--备份
mysqldump -uroot -p111111 -B drop_test >drop_test.sql
--恢复
/*执行命令*/ 转换binlog日志为sql
mysqlbinlog -d drop_test mysql-bin.000001 >001bin.sql

本文链接: http://www.dtmao.cc/news_show_700148.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?