[阿里云天池龙珠计划] SQL训练营-Task01:初识数据库与SQL-习题

文章目录

  • 1 理论知识
    • 1.1 初识数据库
    • 1.2 初识 SQL
    • 1.3 SQL的基本书写规则
  • 2. 实践操作
    • 2.1 阿里云MySQL服务器
      • 2.2 创建数据库
      • 2.3 新建数据表
    • 3. 练习题
      • 3.1 练习1
      • 3.2 练习2
      • 3.3 练习3
      • 3.4 练习4
    • 2.2 MySQL数据库安装(待完善)

文章链接:https://tianchi.aliyun.com/forum/postDetail?spm=5176.20222307.J_9059755190.2.43264cb3HdrhUp&postId=163421

1 理论知识

1.1 初识数据库

数据库管理系统(Database Management System,DBMS)管理数据集合,数据库(Database,DB)。
通过数据库的种类来进行分类:

  • 层次数据库(Hierarchical Database,HDB)
  • 关系数据库(Relational Database,RDB)
  • 面向对象数据库(Object Oriented Database,OODB)
  • XML数据库(XML Database,XMLDB)
  • 键值存储系统(Key-Value Store,KVS),举例:MongoDB

具有代表性的关系数据库管理系统(Relational Database Management System,RDBMS):

  • Oracle Database:甲骨文公司的RDBMS
  • SQL Server:微软公司的RDBMS
  • DB2:IBM公司的RDBMS
  • PostgreSQL:开源的RDBMS
  • MySQL:开源的RDBMS

RDBMS的常见系统结构:
[阿里云天池龙珠计划] SQL训练营-Task01:初识数据库与SQL-习题_第1张图片

1.2 初识 SQL

[阿里云天池龙珠计划] SQL训练营-Task01:初识数据库与SQL-习题_第2张图片
SQL 语句分为以下三类:

  • DDL(Data Definition Language,数据定义语言)

    • CREATE : 创建数据库和表等对象
    • DROP : 删除数据库和表等对象
    • ALTER : 修改数据库和表等对象的结构
  • DML(Data Manipulation Language,数据操纵语言)

    • SELECT :查询表中的数据
    • INSERT :向表中插入新数据
    • UPDATE :更新表中的数据
    • DELETE :删除表中的数据
  • DCL(Data Control Language,数据控制语言)

    • COMMIT : 确认对数据库中的数据进行的变更
    • ROLLBACK : 取消对数据库中的数据进行的变更
    • GRANT : 赋予用户操作权限
    • REVOKE : 取消用户的操作权限

1.3 SQL的基本书写规则

  • SQL语句要以分号( ; )结尾
  • SQL 不区分关键字的大小写,但是插入到表中的数据是区分大小写的
    win 系统默认不区分表名及字段名的大小写
    linux / mac 默认严格区分表名及字段名的大小写
    (本教程已统一调整表名及字段名的为小写)。
  • 常数的书写方式是固定的 ‘abc’, 1234, ‘26 Jan 2010’, ‘10/01/26’, ‘2010-01-26’…
  • 单词需要用半角空格或者换行来分隔

2. 实践操作

2.1 阿里云MySQL服务器

详细介绍:http://tianchi-media.oss-cn-beijing.aliyuncs.com/dragonball/SQL/other/阿里云MySQL服务器使用介绍.pdf
官网链接:https://developer.aliyun.com/plan/promotion/1
[阿里云天池龙珠计划] SQL训练营-Task01:初识数据库与SQL-习题_第3张图片

半年9.9元,我就直接下单了
购买完成后需要配置

进入云数据库RDS
[阿里云天池龙珠计划] SQL训练营-Task01:初识数据库与SQL-习题_第4张图片
[阿里云天池龙珠计划] SQL训练营-Task01:初识数据库与SQL-习题_第5张图片
[阿里云天池龙珠计划] SQL训练营-Task01:初识数据库与SQL-习题_第6张图片
[阿里云天池龙珠计划] SQL训练营-Task01:初识数据库与SQL-习题_第7张图片

2.2 创建数据库

登录进阿⾥云数据管理⼯具DMS后
[阿里云天池龙珠计划] SQL训练营-Task01:初识数据库与SQL-习题_第8张图片
[阿里云天池龙珠计划] SQL训练营-Task01:初识数据库与SQL-习题_第9张图片
创建库 - 输入“数据库名” - 确认
[阿里云天池龙珠计划] SQL训练营-Task01:初识数据库与SQL-习题_第10张图片

2.3 新建数据表

在上⼀步创建好数据库后,点击⻚⾯上的 单库查询 ,选择我们新建的数据库 shop ,然后点击确认。
[阿里云天池龙珠计划] SQL训练营-Task01:初识数据库与SQL-习题_第11张图片
在弹出来的单库查询窗⼝中输⼊我们的新建数据表语句,然后点击执⾏按钮即可完成数据表创建。

3. 练习题

3.1 练习1

编写一条 CREATE TABLE 语句,用来创建一个包含表 1-A 中所列各项的表 Addressbook (地址簿),并为 regist_no (注册编号)列设置主键约束
[阿里云天池龙珠计划] SQL训练营-Task01:初识数据库与SQL-习题_第12张图片
表1-A 表 Addressbook (地址簿)中的列

回答:

CREATE TABLE Addressbook(
	regist_no INTEGER NOT NULL,  	-- 整数型:INTEGER
	name VARCHAR(128) NOT NULL,		-- 长字符串类型:VARCHAR,括号内为长度
	address VARCHAR(256) NOT NULL,
	tel_no VARCHAR(10),
	mail_address VARCHAR(20),
	PRIMARY KEY(regist_no)
);

输入后点击执行
[阿里云天池龙珠计划] SQL训练营-Task01:初识数据库与SQL-习题_第13张图片

3.2 练习2

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

列名 : postal_code

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

约束 :不能为 NULL

回答:

ALTER TABLE Addressbook ADD COLUMN postal_code VARCHAR(8) NOT NULL;

输入代码后,点击更新表,新增了一列
[阿里云天池龙珠计划] SQL训练营-Task01:初识数据库与SQL-习题_第14张图片

3.3 练习3

编写 SQL 语句来删除 Addressbook 表。

回答:

DROP TABLE Addressbook;

3.4 练习4

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

回答:

删除后的表无法恢复,需要重新创建,详见练习1

2.2 MySQL数据库安装(待完善)

我的操作系统是Ubuntu 20.04,所以使用官方仓库安装 MySQL
链接:https://dev.mysql.com/downloads/
点击MySQL APT Repository
点击底部 “No thanks, just start my download"
[阿里云天池龙珠计划] SQL训练营-Task01:初识数据库与SQL-习题_第15张图片
定位到下载目录,打开终端输入:

$ sudo dpkg -i mysql-apt-config*

[阿里云天池龙珠计划] SQL训练营-Task01:初识数据库与SQL-习题_第16张图片
终端中打开包配置的提示。使用向下箭头选择“Ok”选项。

sudo apt-get update

你可能感兴趣的:(sql,阿里云,sql,阿里云)